2057 Commits

Author SHA1 Message Date
Roland Reichwein
ba487bcb04
Add take() to etl::span (#1083) 2025-05-06 08:52:51 +01:00
John Wellbelove
0b280bf5f0 Fixed test syntax error 2025-05-05 21:10:03 +01:00
Helder Duarte
66af2a69c1
Add swap(circular_buffer_ext&&) (#1068) (#1072) 2025-05-05 19:16:38 +01:00
John Wellbelove
22391aa750 Imported and updated etl::underlying_type 2025-05-03 08:25:45 +01:00
John Wellbelove
879d620094 Merge branch 'development' of https://github.com/ETLCPP/etl into development 2025-05-01 07:31:28 +01:00
Jiang Yi
f69da8577e
Support etl::underlying_type with compiler builtin (#1045)
msvc is unsupported currently

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-04-30 17:01:44 +01:00
Roland Reichwein
49acd2d2ab Various cleanup changes (#1049)
* Various Cleanup

Remove remove() by pointer because erase() can be used for that

Fix signed distance handling, with added check for order

Add missing file ID

Fix File IDs

Added test for algorithm.h

* Improve types
# Conflicts:
#	include/etl/file_error_numbers.h
2025-04-30 16:54:22 +01:00
BartolomeyKant
2fd4e171ba
rise up cmake minimum required (#1066)
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-04-30 16:47:39 +01:00
John Wellbelove
aa0d8b322c Merge branch 'development' of https://github.com/ETLCPP/etl into development
# Conflicts:
#	zephyr/module.yml
2025-04-30 12:23:56 +01:00
Roland Reichwein
6ed64f7b21
Support const pointers in etl::is_aligned() (#1082)
* Add Zephyr build system module.yml (#1074)

The Zephyr build system requires that modules have a `module.yml` file to specify where the module cmake and kconfig files are located. 
These can also be explicitly set as "external" meaning that they do not exist within the module tree, itself. These build file can still be specified elsewhere via cmake variables, explained more in-depth here: https://docs.zephyrproject.org/latest/develop/modules.html#modules-module-ext-root
This change makes it such that ETL can be included more easily in zephyr projects running on embedded systems. A similar change can be observed in the public nanopb repository, where the repo only requires its own `zephyr/module.yml` file to be found by the zephyr build system, but the kconfig and cmake additions can exist outside of the library repository.

* Support const pointers to etl::is_aligned()

---------

Co-authored-by: Zach Van Camp <marshmilo100@gmail.com>
2025-04-30 12:22:38 +01:00
John Wellbelove
5a02c061e9 Changes merged from chrono updates 2025-04-18 11:30:43 +01:00
John Wellbelove
88adbab3f4 Added exclusive_disjunction 2025-04-17 10:16:09 +01:00
John Wellbelove
3f3a8b06d9 Fix misspelt header include 2025-04-16 19:38:11 +01:00
John Wellbelove
459709bff5 Minor style change 2025-04-16 19:33:24 +01:00
John Wellbelove
01f7cf2b17 C++11 compatibility updates 2025-04-15 19:50:31 +01:00
John Wellbelove
2f7cab3520 C++11 compatibility updates 2025-04-15 07:54:22 +01:00
John Wellbelove
475674288c Added etl::tuple to VS project
Added tuple to CMakeLists.txt
2025-04-14 17:34:27 +01:00
John Wellbelove
b6e21ca57d Refactored some traits to be implemented by etl::conjunction and etl::disjunction 2025-04-14 09:52:25 +01:00
John Wellbelove
d9af24f34b Sopporting changes for etl::tuple 2025-04-14 09:51:28 +01:00
John Wellbelove
f85bac450c Added etl::tuple 2025-04-14 09:50:09 +01:00
John Wellbelove
73308ede00 Made is_truncated available for all configurations 2025-04-12 15:04:21 +01:00
John Wellbelove
209e8ceedd Added C++03 compatibility 2025-04-12 10:46:27 +01:00
John Wellbelove
9bbd4763b0 Merge branch 'pull-request/#1023-Alignment-typed-storage' of https://github.com/ETLCPP/etl into pull-request/#1023-Alignment-typed-storage 2025-04-02 16:19:49 +01:00
Roland Reichwein
7d91e1f152
Alignment typed storage (#1023)
* Add etl::typed_storage based on etl::aligned_storage_as

* Have create() instead of emplace()
2025-04-02 15:59:37 +01:00
John Wellbelove
409dae2c36 Fix unused variable warnings 2025-04-02 13:29:59 +01:00
John Wellbelove
a5f0cfe60e Enabled constexpr rounding tests for C++14 and above. 2025-04-02 13:16:57 +01:00
John Wellbelove
1ada87ad76 Changed minimum cmake version to 3.10.0 2025-04-02 12:58:38 +01:00
John Wellbelove
a1bfce9a41 Full updated tests 2025-04-01 11:58:55 +01:00
John Wellbelove
efc3238765 Full updated tests 2025-04-01 09:36:41 +01:00
John Wellbelove
e46563fafc Work in progress 2025-03-31 20:25:33 +01:00
John Wellbelove
83e8473864 Work in progress 2025-03-31 11:25:25 +01:00
John Wellbelove
60041bf56a #1057 ETL_DECLARE_DEBUG_COUNT increases RAM usage even when ETL_DEBUG_COUNT NOT defined 2025-03-28 11:19:20 +00:00
John Wellbelove
7e85fd7926 #1057 ETL_DECLARE_DEBUG_COUNT increases RAM usage even when ETL_DEBUG_COUNT NOT defined 2025-03-28 11:16:08 +00:00
John Wellbelove
dac1602291 Merge branch 'pull-request/#1055-Add-enable_if-restriction-for-span-constructor-from-c-array' into development
# Conflicts:
#	include/etl/span.h
#	test/test_span_fixed_extent.cpp
2025-03-28 10:10:52 +00:00
John Wellbelove
077518f4fb Added ETL_ASSERT for copy construction of dynamic span to fixed span
Asserts if the sizes are not equal
2025-03-28 10:07:21 +00:00
John Wellbelove
92cc068f52 Added etl::monostate as a separate header monostate.h so that it can be used without have to include variant.h 2025-03-27 15:25:42 +00:00
John Wellbelove
aacde24aa5 Changed span_base to span_tag
Removed #include of <span>
2025-03-27 15:25:41 +00:00
John Wellbelove
5852ab3b74 Refactored variant_variadic to use etl::nth_type for etl::variant_alternative implementation
Refactored C++11 & C++14 support.
2025-03-27 15:24:43 +00:00
mike919192
418513f3f4 Implement << operator for std basic_ostream and etl string_view (#1040)
* Implement << operator for std basic_ostream and etl string_view

* Implement << operator for std basic_ostream and etl ibasic_string.  Still working through tests

* Should be all tests

* Fix comment
2025-03-27 15:24:42 +00:00
John Wellbelove
4b3987c5e1 Reversed loop change 2025-03-27 15:24:41 +00:00
John Wellbelove
d4f1c89ff4 Refactored and simplified some features of etl::type_list
Removed nth_type specialisation for etl::type_list
2025-03-27 15:24:40 +00:00
John Wellbelove
a86b124019 Attempt to fix some sanitizer issues for tests 2025-03-27 15:24:39 +00:00
John Wellbelove
ebc588a477 Added etl::index_of_type as a complement to etl::nth_type 2025-03-27 15:24:38 +00:00
John Wellbelove
34f536548f Renamed type_list_index_of to type_list_index_of_type 2025-03-27 15:24:38 +00:00
John Wellbelove
137a5f58f2 Added etl::type_list_type_at_index 2025-03-27 15:24:37 +00:00
Roland Reichwein
d9d9ae1e53 Add traits to type_list (#1044) 2025-03-27 15:24:36 +00:00
John Wellbelove
a6615a419d Added unit tests for initializer_list construction 2025-03-27 15:24:36 +00:00
John Wellbelove
02c5933aff Updated bash test script help 2025-03-27 15:24:35 +00:00
rolandreichweinbmw
a26fed1a89 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-27 15:23:45 +00:00
John Wellbelove
90e432cd43 Added ETL_HAS_ATOMIC_ALWAYS_LOCK_FREE macro and has_atomic_always_lock_free trait
Fixed coditional unit tests in test_atomic
2025-03-27 15:23:45 +00:00