28 Commits

Author SHA1 Message Date
taltenbach
55503e0b97
Fix etl::as_bytes for etl::span<const T> (#1266)
A missing 'const' in the etl::as_bytes implementation was causing a
compile-time error when etl::as_bytes was called on a span of const
values.

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-01-17 23:04:52 +01:00
Mike Bloom
3b1ca75ba2
Add template deduction guide for span from vector (#1264)
* Create span from vector deduction

* Use ivector for deduction.  Add vector_ext to test

* Add vector pointer to test

* Finish tests

* Initialize pdata_ext and others
2026-01-16 09:57:09 +01:00
John Wellbelove
d884719098 Fixed all 'extra semicolon' warnings 2025-12-16 09:15:26 +00:00
mike919192
4147216231
etl::span checks (#1201)
* Implement checks

* handle cpp11 constexpr exceptions

* Cant use local variables

* Tests should be implemented

* Try to fix msvc

* Fix etl error text
2025-10-13 17:34:34 +01:00
John Wellbelove
524ebf9b9f Small style changes to etl::span take() 2025-05-07 07:26:26 +01:00
Roland Reichwein
ba487bcb04
Add take() to etl::span (#1083) 2025-05-06 08:52:51 +01:00
rolandreichweinbmw
fc638a92a6 etl::span: Add advance(), copy(), reinterpret_as() (#1024)
* etl::span: Add advance(), copy(), reinterpret_as()

* Added further tests for span::reinterpret_as

* Fix size of unaligned_type on Windows

Multiple inheritance leads to additional 1 byte for the second base class.
Fixing it by not inheriting but aggregating via typedef.
2025-03-03 10:04:09 +00:00
John Wellbelove
ac8566ade2 Merge branch 'development' into pull-request/#1027-Add-etl-make_span() 2025-02-11 14:55:56 +00:00
rolandreichweinbmw
f02c89a867
Add etl::make_span() (#1027) 2025-02-11 11:52:42 +00:00
rolandreichweinbmw
4f96a8424d
Added const iterators to span (#986) 2024-12-04 10:17:32 +00:00
mike919192
f5eab49208
Add at method to span (#975)
* Update README.md

* Add at method to span

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2024-11-13 21:26:04 +00:00
John Wellbelove
931a1e6ed5 Added extra tests for as_bytes and as_writable_bytes 2024-05-31 11:59:36 +01:00
John Wellbelove
4469aeb63c Added conversion operators to std::span
MacOS clang span issue

MacOS clang span issue

MacOS clang span issue

MacOS clang span issue

MacOS clang span issue
2023-09-20 23:06:32 +01:00
John Wellbelove
01d96609cf #753 [porting] IAR's overload resolution struggles with etl::span::span(etl::array&)
#754 ambiguous etl::bit_stream_reader::bit_stream_reader() for some etl::span
2023-09-02 14:50:24 +01:00
John Wellbelove
8b5ff06e44 Resolve all C++ -O2 warnings 2023-08-06 23:39:11 +01:00
John Wellbelove
591996e21a Added C++20 four iterator std::equal variants 2023-08-04 11:57:49 +01:00
John Wellbelove
1c333bbe07 #691 etl::span copy constructor doesn't compile when types are not the same 2023-05-08 19:00:06 +01:00
John Wellbelove
47398cb824 Enhanced C++03 & C++14 compatibility 2023-05-02 09:04:48 +01:00
John Wellbelove
b7aa13ad19 Enhanced C++03 compatibility 2023-05-02 08:09:06 +01:00
devjoa
40c4fc7c10
feat(span): Add 'as_bytes' and 'as_writable_bytes' (#689)
These functions emulates the std C++20 functions std::as_bytes and
std::as_writable_bytes.
2023-05-01 23:39:55 +01:00
John Wellbelove
801c6735cf Fixed Address Sanitizer issues 2023-04-28 10:32:58 +01:00
John Wellbelove
b609548f38 Added ETL_OR_STD17 macro for the namespace for size() 2023-04-23 18:58:30 +01:00
John Wellbelove
8eabe5fb26 Fix test array sizes
C++14 compiler compatibility

Updated test run scripts

Changed some ETL_ASSERT macros to ETL_ASSERT_OR_RETURN

Changed unit test macros for C++20 compaibility

Updated test run scripts

Updated CMake files to allow C++ standard selection

Replaced ETL_ASSERT_AND_RETURN with ETL_ASSERT_OR_RETURN

Updated C++14 & C++20 unit test compatibility

Changed native char8_t check

Added optional optimisation argument to bash script
2023-03-25 12:16:59 +00:00
John Wellbelove
8491133351 Work in progress 2023-02-12 11:26:03 +01:00
KurtisT
36a9d70d7c
Feature/span equality operators (#670)
* feat: implement equality operator

* test: test equality operator

* feat: implement not equal operator

* test: test not equal operator

---------

Co-authored-by: Kurtis Thrush <kthrush@jlg.com>
2023-02-09 18:13:14 +01:00
John Wellbelove
e8cc472ac9 Finished etl::circular_iterator an circular extensions to etl::span 2022-09-06 19:43:01 +01:00
John Wellbelove
cd18cc6af0 Eradicated all GCC and clang warnings 2022-07-27 10:42:03 +01:00
John Wellbelove
bcf147f096 Added etl::poly_span
Refacted parts of etl::span
2022-07-14 12:19:08 +01:00