2456 Commits

Author SHA1 Message Date
John Wellbelove
39469d29dc Revert "Split classes into ETL standard top level and 'i' base classes."
This reverts commit de13fb8afea9aa2777958d902336dcb04f87968e.

# Conflicts:
#	include/etl/const_map.h
#	include/etl/const_multimap.h
#	test/test_const_map.cpp
#	test/test_const_map_constexpr.cpp
#	test/test_const_multimap.cpp
#	test/test_const_multimap_constexpr.cpp
#	test/vs2022/etl.vcxproj
#	test/vs2022/etl.vcxproj.filters
2025-06-27 09:28:58 +01:00
John Wellbelove
f6b969eeba Revert "etl::const_map completed"
This reverts commit 697cd0a5aaa87ab9da6d1ad337a6c55d9934be57.

# Conflicts:
#	include/etl/const_map.h
2025-06-27 09:26:23 +01:00
John Wellbelove
3db20a4e91 Revert "Added const_map_ext and const_multimap_ext"
This reverts commit 8591569eb530a33a0d136bb5bfe2d1fe8c8d2f31.

# Conflicts:
#	include/etl/const_map.h
#	test/test_const_map.cpp
2025-06-27 09:25:03 +01:00
John Wellbelove
a94d0ce986 Revert "Work in progress"
This reverts commit 799280f615c4c46d68571e990926f2dd2fc3d64f.

# Conflicts:
#	include/etl/const_map.h
#	test/test_const_map.cpp
2025-06-27 09:22:31 +01:00
John Wellbelove
52cd92d31a Minor format change 2025-06-26 20:23:24 +01:00
Roland Reichwein
3ec2db51c8 Fix error on running clang test only (#1135)
* Fix error on running clang test only

Consolidate tests by factoring out redundant test function

* Make run-tests.sh executable
2025-06-26 20:23:23 +01:00
John Wellbelove
8591569eb5 Added const_map_ext and const_multimap_ext 2025-06-26 20:23:22 +01:00
John Wellbelove
de13fb8afe Split classes into ETL standard top level and 'i' base classes.
Split into const and constexpr unit tests files
2025-06-26 20:23:22 +01:00
John Wellbelove
4808919caf Added value_compare to lexicographical_compare call 2025-06-26 20:23:21 +01:00
John Wellbelove
6530c9625f Modified to have iconst_map base type 2025-06-26 20:23:20 +01:00
John Wellbelove
4d10d47f5e Removed non-const iterator and pointer types
Updated Doxygen comments
2025-06-26 20:23:20 +01:00
John Wellbelove
697cd0a5aa etl::const_map completed 2025-06-26 20:23:19 +01:00
John Wellbelove
4dee5e81cd Work in progress 2025-06-26 20:23:18 +01:00
John Wellbelove
799280f615 Work in progress 2025-06-26 20:23:17 +01:00
John Wellbelove
9fdc1e1326 Minor format change 2025-06-26 20:22:41 +01:00
Roland Reichwein
51040d1a28
Fix error on running clang test only (#1135)
* Fix error on running clang test only

Consolidate tests by factoring out redundant test function

* Make run-tests.sh executable
2025-06-25 18:38:25 +01:00
rolandreichweinmusic
0f408a43ba
Fix gamma.h on i386 (#1136)
Add tests for gamma decode
2025-06-25 18:09:37 +01:00
John Wellbelove
64eb9742f0 Added const_map_ext and const_multimap_ext 2025-06-25 14:47:47 +01:00
John Wellbelove
e84be139c5 Split classes into ETL standard top level and 'i' base classes.
Split into const and constexpr unit tests files
2025-06-24 13:24:17 +01:00
John Wellbelove
d458811c26 Added value_compare to lexicographical_compare call 2025-06-24 13:19:56 +01:00
Roland Reichwein
185557db59 Fix usage of template keyword (#1131)
For non-GCC-compilers, the template keyword is being used in
parameter_pack.h for referring to a template template member.

However, clang 19 and 20 don't accept this.

It should be verified which compiler really needs the template
keyword here at all. If not, the if-branch can be removed.

Removed redundant ETL_USING_WIDE_CHARACTERS

Added using_libc_wchar_h to ETL traits

#1127 type_traits.h and C++03

Changed many instances of mem_copy to mem_move
2025-06-22 11:13:43 +01:00
John Wellbelove
62ffe81c1f Modified to have iconst_map base type 2025-06-22 11:13:07 +01:00
John Wellbelove
eb6df0ec82 Removed non-const iterator and pointer types
Updated Doxygen comments
2025-06-16 08:30:35 +01:00
John Wellbelove
609dc3dc2d etl::const_map completed 2025-06-15 20:11:08 +01:00
John Wellbelove
a2efcd2fe7 Work in progress 2025-06-15 17:32:49 +01:00
John Wellbelove
9832157fc4 Work in progress 2025-06-14 19:50:41 +01:00
John Wellbelove
ad9a17b6db Removed redundant ETL_USING_WIDE_CHARACTERS
Added using_libc_wchar_h to ETL traits
2025-06-12 18:32:00 +01:00
John Wellbelove
a037af120b Merge branch 'hotfix/Accomodate-libc++-with-disabled-wchar_t-features' into development
# Conflicts:
#	include/etl/basic_string.h
2025-06-12 13:15:38 +01:00
John Wellbelove
8659091ff3 Fixed std::string_view include warning for < C++17 2025-06-11 13:16:30 +01:00
John Wellbelove
933da4dcb4 Added C++23 Preview configuration 2025-06-06 18:18:16 +01:00
John Wellbelove
59eab34162 Used mem_copy and mem_move to optimise vectors of pointers 2025-06-06 17:27:43 +01:00
John Wellbelove
2ff1ed1a12 Removed instances of ETL_NTH_TYPE_FORCE_CPP03_IMPLEMENTATION 2025-06-06 13:53:26 +01:00
John Wellbelove
2085295358 #1119 Forced compiler error in nth_type.h breaks containers for C++03 2025-06-06 12:17:49 +01:00
John Wellbelove
78d3c45cfd Fixed const&& move constructors
# Conflicts:
#	include/etl/tuple.h
2025-06-05 12:01:37 +01:00
John Wellbelove
ccb37a12a3 Fixed const&& move constructors
# Conflicts:
#	include/etl/tuple.h
2025-06-05 09:57:53 +01:00
John Wellbelove
cd273e777d Initial solution 2025-06-04 10:12:01 +01:00
John Wellbelove
276415dc19 Updated release 2025-06-01 18:08:38 +01:00
John Wellbelove
f39922dddc Merge branch 'feature/#1100-Optimise-string-class-initialisation-from-C-data' into development
# Conflicts:
#	include/etl/basic_string.h
2025-06-01 13:50:25 +01:00
John Wellbelove
155050b816 Optimisation of strings 2025-06-01 13:49:14 +01:00
John Wellbelove
8fb4090e75 Minor script updates 2025-05-31 21:49:37 +01:00
John Wellbelove
0428118553 Optimisation of strings 2025-05-31 21:47:25 +01:00
John Wellbelove
896baaa076 Minor script updates 2025-05-31 15:56:24 +01:00
John Wellbelove
1cb75ff072 Added -Wformat-security 2025-05-30 13:52:37 +01:00
John Wellbelove
ddcc975cec Optimisation of strings 2025-05-30 13:52:37 +01:00
John Wellbelove
e87e24557f Hardened mem_set and mem_char parameter requirements 2025-05-30 13:52:36 +01:00
Roland Reichwein
15ba2b71cb Remove -Wuseless-cast (#1110) 2025-05-30 11:41:07 +01:00
John Wellbelove
083439f60b Added -Wformat-security 2025-05-29 20:15:35 +01:00
John Wellbelove
cb6d924dad Optimisation of strings 2025-05-29 20:15:19 +01:00
John Wellbelove
e8a5673f7a Hardened mem_set and mem_char parameter requirements 2025-05-29 20:14:37 +01:00
Roland Reichwein
09acfca5a6
Remove -Wuseless-cast (#1110) 2025-05-28 13:21:04 +01:00
John Wellbelove
ffc17160da Added support for self transition to etl::hfsm
Changed all instances of 'return STATE_ID' to 'return No_State_Change'
2025-05-27 17:07:58 +01:00
Roland Reichwein
0abd618271
Add C++23 detection (#1109) 2025-05-27 16:11:45 +01:00
Roland Reichwein
65bae7e264
Add unit tests for bit_stream (#1108)
* Add unit tests for bit_stream

* Include issue number in test name

* Included issue number in test name

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-05-27 09:02:00 +01:00
John Wellbelove
84ef87dbf0 Added missing files in unit test CMakeLists.txt 2025-05-26 10:23:56 +01:00
John Wellbelove
a0d81170c8 Added inline namespaces 2025-05-25 19:07:18 +01:00
John Wellbelove
afdb37715d Added arithmetic tests 2025-05-25 19:06:27 +01:00
John Wellbelove
2df0039781 Moved chrono.h in the VS2022 project list 2025-05-22 10:20:21 +01:00
John Wellbelove
f33c40001f Added get_token_list to string_utilities to retrieve multiple tokens 2025-05-21 10:21:30 +01:00
John Wellbelove
c25df24b03 Allow zero sized etl::array 2025-05-18 13:41:01 +01:00
John Wellbelove
ba31479481 Added sys_day and local_day constructors and conversions 2025-05-17 21:00:23 +01:00
John Wellbelove
d04ee8c5e7 Added configuration for selection of STL-like or ETL-verbose chrono literals 2025-05-17 11:46:52 +01:00
John Wellbelove
a724dd08b8 Removed useless-cast warning 2025-05-15 19:05:49 +01:00
John Wellbelove
7b603e201c Merge branch 'feature/add-time-date-classes' into development
# Conflicts:
#	include/etl/tuple.h
#	test/vs2022/etl.vcxproj.filters
2025-05-14 19:23:21 +01:00
John Wellbelove
9e965b07e0 Small layout and comment alterations 2025-05-14 19:16:42 +01:00
Roland Reichwein
420474593b
Added iterator and const_iterator to etl::ipool (#1043)
* Added iterator and const_iterator to etl::ipool

* Adjusted source code format
2025-05-14 19:14:23 +01:00
Roland Reichwein
fe928fa53a
Support C++23 (#1069)
* Support C++23

* Fix syntax checks for correct C++ standard version

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-05-13 21:27:04 +01:00
Roland Reichwein
9f5ad35d41
Cleanup fixes for C++03 (#1089)
* Typo fixes

* Fix typo

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-05-13 21:21:50 +01:00
John Wellbelove
915d668904 Added chrono.h to tests 2025-05-13 08:28:37 +01:00
John Wellbelove
f3541696fb C++03, 11, 14, 17, 20 compatibility changes 2025-05-12 12:10:41 +01:00
John Wellbelove
12328670dd Work in progress 2025-05-11 14:11:22 +01:00
John Wellbelove
c37e48d589 Merge branch 'feature/#1085-Add-The-Remaining-Math-Operators-To-ETL_TYPEDEF' into development 2025-05-09 09:00:20 +01:00
John Wellbelove
524ebf9b9f Small style changes to etl::span take() 2025-05-07 07:26:26 +01:00
John Wellbelove
1d19ac22cd Added licence text to tuple header
Removed redundant include
2025-05-07 07:25:41 +01:00
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
394b1110fb Added all arithmetic operators to type_def 2025-05-05 18:01:29 +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
2b141e0f22 Fixed tests to be compatible with std::chrono 2025-04-30 12:07:15 +01:00
John Wellbelove
42ba4d8248 Updated tests 2025-04-30 09:26:34 +01:00
John Wellbelove
5143aa7f53 Added year_month_day and year_month_day_last classes and tests 2025-04-28 20:00:18 +01:00
John Wellbelove
279ce8f0dc Added more chrono classes and operators 2025-04-27 20:22:45 +01:00
John Wellbelove
4485a90c04 Added etl::chrono::year_month 2025-04-25 19:21:41 +01:00
John Wellbelove
d604d40648 Added etl::chrono::hh_mm_ss 2025-04-25 18:07:43 +01:00
John Wellbelove
ee748eb6cb Updates to chrono classes 2025-04-22 20:16:52 +01:00
John Wellbelove
a27aa2a556 Full etl:chrono::duration implementation and unit tests 2025-04-20 13:33:30 +01:00
John Wellbelove
fedf429d02 Merge branch 'development' into feature/add-time-date-classes
# Conflicts:
#	.gitignore
#	include/etl/platform.h
#	include/etl/ratio.h
#	test/CMakeLists.txt
#	test/test_ratio.cpp
#	test/vs2022/etl.vcxproj
#	test/vs2022/etl.vcxproj.filters
2025-04-19 12:30:36 +01:00
John Wellbelove
5a02c061e9 Changes merged from chrono updates 2025-04-18 11:30:43 +01:00
John Wellbelove
bc158cbcbc Updates to chrono classes 2025-04-18 10:50:48 +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
rolandreichweinbmw
a6e64af085 Add contains() and contains_node() to etl::intrusive_forward_list and etl::intrusive_list (#1036)
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-03-27 15:23:43 +00:00
John Wellbelove
9a07ef9cae Improved implementation of etl::is_base_of_all 2025-03-27 15:22:41 +00:00
John Wellbelove
13dfaaa748 Added erase from pointer to node 2025-03-27 15:22:40 +00:00
John Wellbelove
277cd68301 Added variadic contruction
Added erase from pointer to node
2025-03-27 15:22:40 +00:00
John Wellbelove
13ee4bb411 Added variadic constructors 2025-03-27 15:22:38 +00:00
John Wellbelove
44a0d7c3c5 Added etl::create_linked_list and etl::detach_linked_list to the intrusive link utilities 2025-03-27 15:22:37 +00:00
John Wellbelove
af725afc79 Added etl::monostate as a separate header monostate.h so that it can be used without have to include variant.h 2025-03-26 08:34:13 +00:00
John Wellbelove
2bbc3c3f81 Merge branch 'pull-request/#1051-Potential-fix-for-span-construct' into development
# Conflicts:
#	CONTRIBUTING.md
#	include/etl/span.h
#	test/test_span_fixed_extent.cpp
2025-03-26 08:04:33 +00:00
John Wellbelove
e9adc288c6 Changed span_base to span_tag
Removed #include of <span>
2025-03-25 19:47:32 +00:00
John Wellbelove
d6e6816ffc Refactored variant_variadic to use etl::nth_type for etl::variant_alternative implementation
Refactored C++11 & C++14 support.
2025-03-18 14:45:38 +00:00
mike919192
ecf5d9bca3 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-17 08:54:28 +00:00
John Wellbelove
b021276519 Reversed loop change 2025-03-17 08:53:18 +00:00
John Wellbelove
bcf5ec4985 Merge branch 'pull-request/#1044-Add-traits-to-type_list' into development 2025-03-16 19:10:06 +00:00
John Wellbelove
03ca499e5e Refactored and simplified some features of etl::type_list
Removed nth_type specialisation for etl::type_list
2025-03-16 19:08:55 +00:00
John Wellbelove
495ea2b943 Attempt to fix some sanitizer issues for tests 2025-03-16 19:07:25 +00:00
John Wellbelove
36b4d51baf Added etl::index_of_type as a complement to etl::nth_type 2025-03-16 19:06:34 +00:00
John Wellbelove
53887fa105 Renamed type_list_index_of to type_list_index_of_type 2025-03-14 15:46:25 +00:00
John Wellbelove
f1d5b16d38 Added etl::type_list_type_at_index 2025-03-09 10:47:24 +00:00
Roland Reichwein
d4813dff86
Add traits to type_list (#1044) 2025-03-09 09:41:15 +00:00
John Wellbelove
c19a3fe085 Added unit tests for initializer_list construction 2025-03-04 09:27:39 +00:00
John Wellbelove
ceeb2e706e Updated bash test script help 2025-03-04 09:27:07 +00: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
071a983cba Added ETL_HAS_ATOMIC_ALWAYS_LOCK_FREE macro and has_atomic_always_lock_free trait
Fixed coditional unit tests in test_atomic
2025-03-03 10:03:42 +00:00
rolandreichweinbmw
12743be9e2
Add contains() and contains_node() to etl::intrusive_forward_list and etl::intrusive_list (#1036)
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-03-02 11:09:32 +00:00
rolandreichweinbmw
64ae22a093 Intrusive forward list add remove by pointer (#1026)
* Add intrusive_forward_list::remove() element by pointer

* Add test
2025-03-02 11:05:59 +00:00
John Wellbelove
6459ce7b5f Improved implementation of etl::is_base_of_all 2025-03-02 09:43:31 +00:00
John Wellbelove
dc21da2cd4 Merge branch 'pull-request/#1026-Intrusive-forward-list-add-remove-by-pointer' into development
# Conflicts:
#	include/etl/intrusive_forward_list.h
2025-03-02 08:32:28 +00:00
John Wellbelove
68dac39104 Added erase from pointer to node 2025-03-02 08:31:14 +00:00
John Wellbelove
2746cf4060 Added variadic contruction
Added erase from pointer to node
2025-03-02 08:30:54 +00:00
rolandreichweinbmw
37539a2761
Intrusive forward list add remove by pointer (#1026)
* Add intrusive_forward_list::remove() element by pointer

* Add test
2025-03-01 18:24:30 +00:00
John Wellbelove
260a3f4a48 Added variadic constructors 2025-03-01 13:39:51 +00:00
John Wellbelove
a28cbddd4b Added etl::create_linked_list and etl::detach_linked_list to the intrusive link utilities 2025-02-27 10:02:56 +00:00
John Wellbelove
5e689c0a66 Fix some sanitizer issues 2025-02-23 11:54:38 +00:00
John Wellbelove
109d45c646 Added additional checks for self assignment 2025-02-22 13:59:48 +00:00
John Wellbelove
da5404b748 #1031 etl::string is invalid if calling assign() with itself 2025-02-21 10:52:47 +00:00
John Wellbelove
d1e5112e2a Restored full units test permutations
Fixed unit test for non-virtual message_packet
2025-02-17 12:45:32 +00:00
John Wellbelove
baf12b1fcb Changed etl::message_packet to not require virtual messages 2025-02-17 10:42:25 +00:00
John Wellbelove
6c7cb5ac18 Added test for a constexpr lambda under C++17 and above 2025-02-17 08:00:17 +00:00
John Wellbelove
a2bb84d9e6 Fixed mismatch of double and long double in test_unaligned_type_ext.cpp unit tests 2025-02-17 07:59:31 +00:00
John Wellbelove
3ed1c49d35 Added constexpr lambda test to delegate unit tests 2025-02-13 17:11:48 +00:00
John Wellbelove
94e243e274 Fix unaligned_type floating point checks in unit test 2025-02-13 17:11:01 +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
John Wellbelove
deb26318fb Unit test for delegate initialisation with non-capturing lambda as a constexpr function pointer 2025-02-11 11:41:46 +00:00
John Wellbelove
1f897e1095 Added etl::function traits
Removed private delegate function_traits
Added etl::type_list + etl::nth_type overloads
2025-02-07 18:26:39 +00:00
John Wellbelove
574da35b10 Attempt to fix Github CI errors 2025-02-03 15:03:28 +00:00
John Wellbelove
7aa7c870b3 Updates to CI scripts 2025-02-03 11:37:26 +00:00
John Wellbelove
d1b2a87b92 Updates to CI scripts 2025-02-01 19:47:55 +00:00
John Wellbelove
04b3892509 Updates to CI scripts 2025-02-01 19:18:34 +00:00
John Wellbelove
959becdb2e Updates to CI scripts 2025-02-01 18:47:39 +00:00
John Wellbelove
98c35f7f3e Updates to CI scripts 2025-02-01 18:27:05 +00:00
John Wellbelove
548c2be4c3 Merge branch 'hotfix/#1019-UB-when-passing-a-temporary-lambda-to-a-delegate' into development 2025-02-01 17:55:30 +00:00
John Wellbelove
344618d744 Merge branch 'feature/#1022-Add-option-to-disable-non-lock-free-atomics' into development 2025-02-01 17:55:10 +00:00
John Wellbelove
00d020bf43 Refactored syntax check tests 2025-02-01 15:19:55 +00:00
John Wellbelove
8b2009b45c Added is_always_lock_free member constant to etl::atomic 2025-02-01 15:19:07 +00:00
John Wellbelove
fcbbbeaf44 #1009 etl::expected doesn't compile with legacy_variant
Added in_place constructor
2025-02-01 08:59:20 +00:00
John Wellbelove
bbaa60b382 Added debug info to GCC CMakeList.txt 2025-01-31 14:27:35 +00:00
John Wellbelove
ad9bda90bc Added etl::to_address 2025-01-28 11:16:04 +00:00
John Wellbelove
1da482d616 Updated CRC constexpr tests for 'force C++03 implementation' option 2025-01-27 19:04:30 +00:00
John Wellbelove
101cfd598f Disabled initialisation of a delegate from a temporary lambda 2025-01-27 09:13:18 +00:00
John Wellbelove
42dae979da Merge branch 'pull-request/#1016-Allow-compile-time-CRC-calculation' into development 2025-01-24 17:49:04 +00:00
John Wellbelove
b3f7d82900 Added constexpr to CRC1 2025-01-24 17:48:43 +00:00
Zob314
14b50c6541
Allow compile time CRC calculation (#1016)
* Making crc constexpr for c++14. Allows compile time CRC computation.

* Fix syntax when using c++03 or `ETL_FORCE_NO_ADVANCED_CPP`

* Remove use of `ETL_FORCE_NO_ADVANCED_CPP` option since it is no longer used.

---------

Co-authored-by: Zach O'Brien <zach.obrien@tortugaagtech.com>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-01-24 15:20:05 +00:00
John Wellbelove
a0668ff27f Fixed etl::expected in-place test syntax 2025-01-24 14:32:33 +00:00
John Wellbelove
c3d3a326f7 Merge branch 'pull-request/#1014-Added-missing-rational-arithmetic-functions-from-ratio' into development
# Conflicts:
#	.gitignore
#	test/vs2022/etl.vcxproj.filters
2025-01-23 09:40:42 +00:00
John Wellbelove
a8c6b116ab Added test_ratio to VS2022 project 2025-01-23 09:39:16 +00:00
John Wellbelove
44df80219b Changed 'value' to 'type'
Added C++14 constant tests
2025-01-23 09:38:30 +00:00
rolandreichweinbmw
360f503bcf
Added missing rational arithmetic functions from <ratio> (#1014)
* Added ratio traits

* Fix unused test suite in < C++14 case

* Port to C++11

* Fix header includes
2025-01-22 17:15:53 +00:00
John Wellbelove
208dea6616 Merge branch 'feature/#993-Need-lighter-weight-ETL_ASSERT' into development
# Conflicts:
#	.gitignore
#	test/vs2022/etl.vcxproj.filters
2025-01-22 17:13:05 +00:00
John Wellbelove
aa0f292cce Added new test script for light weight assert 2025-01-22 17:11:16 +00:00
John Wellbelove
6c6c7b00a5 Remove redundant ETL_FORCE_NO_ADVANCED_CPP macro 2025-01-22 14:51:18 +00:00
John Wellbelove
efa7c19e8b Fixed etl::expected in-place constructors 2025-01-22 14:50:42 +00:00
John Wellbelove
20ef1a34fc Removed constexpr from unaligned_type 2025-01-21 17:51:18 +00:00
John Wellbelove
2e6686543b unaligned_type refactor 2025-01-21 17:51:17 +00:00
John Wellbelove
140996b8df Reverted std::array<signed char back to std::array<int8_t 2025-01-21 17:50:55 +00:00
rolandreichweinbmw
8904b91deb Fix arm64 signed char (#1006) 2025-01-21 17:50:53 +00:00
rolandreichweinbmw
a563aed7fc Fixed memory.h: mem_copy, mem_move, mem_compare for pointers to const (#1005) 2025-01-21 17:48:53 +00:00
rolandreichweinbmw
473bfa33d9 Fix span fixed extent empty (#1007) 2025-01-21 17:48:38 +00:00
John Wellbelove
1f00d06869 Updates to singleton_base 2025-01-21 17:48:35 +00:00
rolandreichweinbmw
8ac05b161d Add singleton_base with test (#1002) 2025-01-21 17:48:00 +00:00
rolandreichweinbmw
00ac508e07 Add max_item_size() to etl::ipool (#1001) 2025-01-21 17:47:58 +00:00
John Wellbelove
153cdd8b9a Allow etl::type_def to be trivially copyable 2025-01-21 17:47:57 +00:00
John Wellbelove
ee95ab4db2 Updated unaligned_type constructors and tests 2025-01-21 17:47:55 +00:00
John Wellbelove
71268c4cf3 Updated packed macro 2025-01-21 17:47:31 +00:00
jonasgampigbmw
b34e3a6f60
#1017 Fix empty range handling of min/max_element (#1018) 2025-01-21 17:08:38 +00:00
John Wellbelove
778351a49e Removed constexpr from unaligned_type 2025-01-20 13:50:36 +00:00
John Wellbelove
10f21a0377 unaligned_type refactor 2025-01-18 14:12:56 +00:00
John Wellbelove
9bb2edfd78 Merge branch 'pull-request/#1002-Add-singleton_base' into development
# Conflicts:
#	.gitignore
#	include/etl/file_error_numbers.h
2024-12-26 15:52:01 +00:00
John Wellbelove
c1a1d24712 Updates to singleton_base 2024-12-26 15:50:32 +00:00
rolandreichweinbmw
5e3b029af0
Add singleton_base with test (#1002) 2024-12-26 13:27:47 +00:00
John Wellbelove
3d43922845 Merge branch 'pull-request/#1001-Add-max_item_size()-to-etl-ipool' into development 2024-12-26 13:24:21 +00:00
rolandreichweinbmw
f0ebf26b6d
Add max_item_size() to etl::ipool (#1001) 2024-12-26 13:15:14 +00:00
John Wellbelove
c842e807ef Allow etl::type_def to be trivially copyable 2024-12-26 13:12:11 +00:00
John Wellbelove
b28c485d1a Updated unaligned_type constructors and tests 2024-12-26 10:58:10 +00:00
John Wellbelove
3b54c4e7a2 Merge branch 'pull-request/#989-Packed-unaligned_type' into development
# Conflicts:
#	.gitignore
2024-12-26 09:14:35 +00:00
John Wellbelove
91a345bb17 Added experimental assert function handler 2024-12-25 17:42:06 +00:00
John Wellbelove
4f38779219 Updated packed macro 2024-12-25 17:37:18 +00:00
John Wellbelove
191eaae225 Added transparent comparator overloads of contains() 2024-12-19 16:44:12 +00:00
John Wellbelove
1daa345038 Fix unused variables in test 2024-12-19 14:34:00 +00:00
John Wellbelove
784d95acaf Added additional transparent comparators to unordered containers 2024-12-19 14:33:59 +00:00
John Wellbelove
0f487fa126 Make 'packed' have better cross platform functionality 2024-12-19 14:33:57 +00:00
John Wellbelove
bde0d7d584 Changed etl::mem_cast to support bidirectional iterators 2024-12-19 14:33:55 +00:00
John Wellbelove
99b2dacb6c Added return reference from stack::emplace 2024-12-19 14:33:53 +00:00
rolandreichweinbmw
00b6c9fcb4 Return reference from emplace() in etl::queue (#992) 2024-12-19 14:33:52 +00:00
John Wellbelove
6b88bef8ab Added uncopyable to VS2022 project and syntax-check scripts 2024-12-19 14:33:51 +00:00
rolandreichweinbmw
72a2ad3fe9 Add uncopyable.h, class uncopyable (#985)
* Add uncopyable.h, class uncopyable

* Added destructor and unit tests for etl::uncopyable
2024-12-19 14:33:49 +00:00
John Wellbelove
cd7fd98b0b Modified test data to have sentinel data 2024-12-19 14:33:48 +00:00
rolandreichweinbmw
e7a17a5fb1 Added const iterators to span (#986) 2024-12-19 14:33:45 +00:00
John Wellbelove
cf646a9d89 Fixed incorrect for loops in unit tests 2024-12-19 14:33:43 +00:00
snadampal
86083e18e7 fix build and test failures on arm64 linux platform (#978)
There are few build and test failures on arm64 platform
with "narrowing conversion" errors. This is due to the char
datatype implementation differences between different platforms
and gcc versions. This commit replaces the char datatype with
the explicit datatype that works across all the platforms.
2024-12-19 14:33:42 +00:00
rolandreichweinbmw
cd1805b1d2 Added return to etl::optional emplace, fixed typo (#982) 2024-12-19 14:32:20 +00:00
John Wellbelove
9ed9b90f1d Fixed merge issues 2024-12-19 14:32:19 +00:00
John Wellbelove
9fdc03ae02 removed redundant parameters 2024-12-19 14:32:17 +00:00
John Wellbelove
d40cbf12cc Changed case for script header 2024-12-19 14:31:50 +00:00
John Wellbelove
3deaaeb180 Added contains member function to string_view 2024-12-19 14:31:48 +00:00
John Wellbelove
a6ef8ec08d Added member function resize_and_overwrite 2024-12-19 14:31:47 +00:00
John Wellbelove
6ce4fa40bb Added starts_with and ends_with to basic_string 2024-12-19 14:31:43 +00:00
John Wellbelove
7adf9adfcf Removed std::string_view interface
Added contains member functions
2024-12-19 14:31:41 +00:00
John Wellbelove
9311819fa4 Fixed C++ standard compatibility issues 2024-12-19 14:31:40 +00:00
John Wellbelove
cbe4d5abe0 Added string_view API.
For all string types except _ext
2024-12-19 14:31:38 +00:00
John Wellbelove
b1c6489ac5 Added construction from std::basic_string_view 2024-12-19 14:31:37 +00:00
John Wellbelove
6195aa5f08 Removed using directive in derived message router classes. 2024-12-19 14:31:35 +00:00
John Wellbelove
a87498e125 Removed using directive in derived message router classes. 2024-12-19 14:30:34 +00:00
John Wellbelove
08ab27a90a Added CONTRIBUTING.md to the VS2022 project files. 2024-12-19 14:30:33 +00:00
mike919192
21ab37f773 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-12-19 14:30:27 +00:00
John Wellbelove
0a41693271 Fixed syntax issue between GCC and Clang/Visual Studio 2024-12-19 14:30:24 +00:00
John Wellbelove
290f8d3f64 Replaced ETL_OR_STD::size with ETL_OR_STD17::size in unit tests 2024-12-19 14:30:21 +00:00
John Wellbelove
54dc48de02 Changed comment
Simplified unit test
2024-12-19 14:30:18 +00:00
John Wellbelove
20989a187a Added new C++17 function wrappers
etl::function_as_functor
etl::function_ptr_as_functor
etl::functor_as_static
etl::member_function_as_static
etl::member_function_as_functor
2024-12-19 14:30:16 +00:00
John Wellbelove
4a1712b733 #957 Support heterogenous lookup for maps 2024-12-19 14:30:14 +00:00
John Wellbelove
fd82a9c113 #959 Treat bitset with size_type 2024-12-19 14:30:11 +00:00
John Wellbelove
0026a8b908 #965 Fix accident creation of a delegate to an rvalue delegate when copying/assigning from delegate with mismatching signature
#966 A constructor for delegate with a freestanding function
2024-12-19 14:30:10 +00:00
Aleksander Dejewski
602261ce39
Add contains() method to etl::unordered_map and etl::unordered_set (#990)
* Add contains() method to etl::unordered_map and etl::unordered_set

* Add contains() method to etl::unordered_multiset and etl::unordered_multimap

Use predefined variables in UT

Move contains() method to correct place in etl::unordered_set

* Fix contains() parameter type
2024-12-19 13:33:02 +00:00
John Wellbelove
05682930e1 Make 'packed' have better cross platform functionality 2024-12-16 14:58:16 +00:00
John Wellbelove
bec9f4a2df Added etl::ratio tests 2024-09-15 14:12:40 +01:00
John Wellbelove
4741c71e34 etl::ratio work-in-progress 2024-09-14 20:02:25 +01:00
John Wellbelove
0d0b9be310 etl::duration work in progress 2024-09-13 19:55:18 +01:00
John Wellbelove
4942ff840e etl::duration work in progress 2024-09-12 14:03:05 +01:00
John Wellbelove
e6c47a198c Added tests for weekday_indexed and weekday_last 2024-09-08 17:28:52 +01:00
John Wellbelove
c0d3447818 Merge branch 'feature/#757-Add-time-date-classes' of https://github.com/ETLCPP/etl-21 into dual-licence/feature/#757-Add-time-date-classes 2024-09-07 19:34:51 +01:00
John Wellbelove
b602203e95 C++11 & 14 unit test compatibility 2024-08-31 11:06:03 +01:00
John Wellbelove
10147a1868 Updates to weekday 2024-08-30 19:59:16 +01:00
John Wellbelove
f5d3c4fffa Merge branch 'feature/#757-Add-time-date-classes' of https://github.com/ETLCPP/etl into feature/#757-Add-time-date-classes
# Conflicts:
#	include/etl/chrono.h
#	include/etl/private/chrono/day.h
#	include/etl/private/chrono/duration.h
#	test/CMakeLists.txt
#	test/test_chrono_day.cpp
#	test/vs2022/etl.vcxproj
#	test/vs2022/etl.vcxproj.filters
2024-08-29 09:54:37 +01:00
John Wellbelove
fc0576ad95 Work in progress 2024-08-29 09:13:56 +01:00
John Wellbelove
f77d91d544 Updated syntax checks 2024-08-21 18:48:56 +01:00
John Wellbelove
af9b3deade Added the option of more logical ordering for template parameters for compile time member functions 2024-08-11 12:13:46 +01:00
John Wellbelove
af03b44d2a Fixed floating point support for etl::unaligned_type 2024-08-09 21:36:58 +01:00
John Wellbelove
344f1b2387 Added Unit test macros
CHECK_FLOAT_SAME
CHECK_FLOAT_DIFFERENT
2024-08-09 21:36:15 +01:00
John Wellbelove
3f018ee1a7 Fixed floating point etl::unaligned_type 2024-08-08 22:58:22 +01:00
John Wellbelove
c5a6f9b5b4 #942 Warning on pragma c++20-compat 2024-08-06 19:38:58 +01:00
John Wellbelove
f33b4d716c Updates to constexpr char traits tests 2024-08-06 15:02:13 +01:00
John Wellbelove
bceca90cd9 Updates to constexpr binary tests 2024-08-06 13:40:21 +01:00
John Wellbelove
848ecb0cf6 Updates to constexpr bit tests 2024-08-06 09:55:44 +01:00
John Wellbelove
29b719f5f4 Partial updates to bit tests 2024-08-06 08:37:08 +01:00
John Wellbelove
73395fe6f4 Updated C++03 observer class to accept void parameter notification types 2024-08-02 10:36:13 +01:00
John Wellbelove
f219e86806 Added etl::count_of, etl::has_duplicates, etl::has_duplicates_of 2024-08-02 10:35:29 +01:00
John Wellbelove
c61f493a01 Added observer<void> as a specialisation for C++03 code 2024-08-01 13:29:52 +01:00
John Wellbelove
405b57191d Fixed suite test name 2024-07-31 10:51:41 +01:00
Boris Gromov
f01edbc5c4
Fix histogram indexing when accessed via operator [] (#939) 2024-07-31 09:04:45 +01:00
John Wellbelove
b6801b5c0c Added observer specialisation for void notification parameter type 2024-07-30 13:33:58 +01:00
John Wellbelove
1d4f400cce changed std::is_same_v to std::is_same for C++11/14 test compatibility 2024-07-28 16:51:02 +01:00
John Wellbelove
cc3d7d120d Split bit tests 2024-07-28 16:51:02 +01:00
John Wellbelove
b85cc276b3 Refactored etl::io_port classes
Added binary operators
Modified the way iterators are handled.
2024-07-28 16:51:02 +01:00
John Wellbelove
32f5d19792 Added is_active member function to callback_timer classes. 2024-07-28 16:47:13 +01:00
Chiraffollo
aa852a9998 Fix run-tests.sh script (#929)
* Fix run-tests.sh script

- Fix ordering of parameters in help info
- Change spaces to tabs in indentation of methods (unique usage of indentation)
- Fix check for number of parameters to avoid empty string as default parameter value

* Fix incorrect comparison
2024-07-28 16:47:12 +01:00
John Wellbelove
81aae1a962 Changed default action to Linux test script 2024-07-28 16:47:12 +01:00
Chiraffollo
64be8a63d7 Add missing swap implementations for expected (#928)
* Fix missing partial specialisation equal operators

* Add missing swap implementations for expected
2024-07-28 16:47:12 +01:00
Chiraffollo
0c87973061 Fix missing partial specialisation equal operators (#927) 2024-07-28 16:47:12 +01:00
John Wellbelove
24824d2095 Added ETL_USING_LEGACY_VARIANT & ETL_NOT_USING_LEGACY_VARIANT
Added some legacy API member functions to new variant type.
2024-07-28 16:47:12 +01:00
John Wellbelove
6a8d183797 Small format changes 2024-07-28 16:47:12 +01:00
Chiraffollo
752617ab4c Fix issue #923 equality operator for class expected (#926)
* Add equality operators for class expected

* Add missing unequal operator

---------

Co-authored-by: Oliver Marx <omarx@de.pepperl-fuchs.com>
2024-07-28 16:47:12 +01:00
Chiraffollo
5d97f075a5
Fix issue #931 (#932)
* Fix doc comment for pool::allocate() (#914)

* Fix issue #931

Superfluous curly braces removed

---------

Co-authored-by: Michael K <130953568+kmichaelk@users.noreply.github.com>
2024-07-23 15:41:00 +01:00
John Wellbelove
ce24b0cc6e Refactored base64 encoder and decoder 2024-06-26 14:56:00 +01:00
John Wellbelove
f22ccc56ab Reenabled address sanitizer for VS2022 2024-06-24 18:20:58 +01:00
John Wellbelove
1c261bf297 Merge branch 'feature/Base64-codec' into development 2024-06-24 17:46:00 +01:00
John Wellbelove
208d8f9642 Implementation of Base64 encoder and decoder 2024-06-24 17:44:53 +01:00
John Wellbelove
aab8630c1a Refactored base64 encoder and decoder 2024-06-22 12:37:58 +01:00
John Wellbelove
96a1105891 Refactored base64 encoder and decoder 2024-06-19 20:22:57 +01:00
John Wellbelove
f7382f4713 Refactored base64 encoder and decoder 2024-06-17 14:23:42 +01:00
John Wellbelove
ab1ea83f77 Refactored base64 encoder and decoder 2024-06-16 13:53:05 +01:00
John Wellbelove
211f872318 Refactored base64 encoder 2024-06-14 20:00:28 +01:00
John Wellbelove
5c2615ac30 Partial refactor into separate encode and decoder headers
Changed to delegate callback based operation
2024-06-14 11:54:23 +01:00
John Wellbelove
e159a6b7ff Merge branch 'pull-request/#905-Add-support-for-type_identity' into development 2024-06-11 13:51:59 +01:00
John Wellbelove
76f2cfb4a2 Minor format change 2024-06-11 13:47:43 +01:00
Tigran Khachatryan
6ced0630a9
etl/type_traits.h: Add support for type_identity (#905)
* etl/type_traits.h: Add support for type_identity

* test/test_type_traits.cpp: Add a test for etl::type_identity (type_identity_test_add(1.5f, 2) == 3.5f)

* Update test_type_traits.cpp

Use CHECK_CLOSE instead of CHECK for equality
2024-06-11 13:43:59 +01:00
John Wellbelove
2b7e2399fd Added Base64 RFC2152 and RFC3501 2024-06-05 00:29:40 +01:00
John Wellbelove
45333cae91 Merge branch 'development' into feature/Base64-codec
# Conflicts:
#	arduino/library-arduino.json
#	arduino/library-arduino.properties
#	include/etl/iterator.h
#	include/etl/version.h
#	library.json
#	library.properties
#	test/CMakeLists.txt
#	test/vs2022/etl.vcxproj.filters
#	version.txt
2024-06-02 10:19:09 +01:00
John Wellbelove
931a1e6ed5 Added extra tests for as_bytes and as_writable_bytes 2024-05-31 11:59:36 +01:00
John Wellbelove
f5f6bb3305 Revert "Merge"
This reverts commit 57aaa1125b7969f81c2a02fd7e415f0ab21ed58d.
2024-05-28 14:14:44 +01:00
John Wellbelove
57aaa1125b Merge 2024-05-28 14:13:00 +01:00
John Wellbelove
bbfce66abc Added template parameter clamp functions 2024-05-28 11:58:07 +01:00
John Wellbelove
e3475be122 Moved project file in VS2022 2024-05-14 08:22:22 +01:00
John Wellbelove
096099d659 Enabled constexpr test for C++14 and above only 2024-05-14 00:06:01 +01:00
John Wellbelove
896bc51f87 Added gcd & lcm constexpr tests 2024-05-13 23:48:55 +01:00
John Wellbelove
38d683bb11 Added gcd & lcm to syntax checks 2024-05-13 23:48:33 +01:00
John Wellbelove
b42af2a829 Added GCD and LCM algorithms 2024-05-13 13:45:27 +01:00
John Wellbelove
76699fb27c Revert change #804 to restore value initialisation of type0 for default constructor 2024-04-26 17:48:22 +01:00
John Wellbelove
6c531a637d Modified Unittest++ SUITE macro for better VS2022 intellisence compatibly 2024-04-23 09:57:13 +01:00
John Wellbelove
5622b3a0c3 Added assignment test for bitsets 2024-04-19 14:02:35 +01:00
John Wellbelove
4aab807b03 Improvements to Unittest++ macros to fix odd VS2022 syntax colouring 2024-04-17 22:02:33 +01:00
John Wellbelove
a2bd57c89f #806 etl::variant_pool should support C++17 variadic parameters
Added variadic version that supports >=C++11
2024-04-17 16:47:02 +01:00
John Wellbelove
ea9d5b0962 Changes for OSX + C++20 + STL compatibility 2024-04-16 09:02:59 +01:00
John Wellbelove
55f508b315 Added etl::partition and etl::nth_element 2024-04-16 08:07:33 +01:00
John Wellbelove
676b5f330a Modified tests for <=> operator 2024-04-16 08:06:01 +01:00
John Wellbelove
937ec7189a Make first() and last() static for template based limits specialisation 2024-04-16 08:04:49 +01:00
John Wellbelove
d67a2c63fa Changed unit test checks for C++14 compatibility 2024-04-09 14:46:12 +01:00
John Wellbelove
a5560b2ce1 Added etl::partition 2024-04-09 13:46:33 +01:00
John Wellbelove
52083acff3 Added node erase member functions 2024-04-02 17:12:51 +01:00
John Wellbelove
02a11e943e Moved include for clang compatibility 2024-04-02 17:12:19 +01:00
John Wellbelove
106c4fd540 Added erase(node_type&) member function.
Added node_type typedef to intrusive lists
2024-04-02 11:41:01 +01:00
John Wellbelove
4493c89060 Merge branch 'hotfix/#868-etl-variant-is-missing-comparison-operators' into development 2024-04-01 17:14:03 +01:00
John Wellbelove
3696fa4239 Added more comparison tests 2024-04-01 17:13:45 +01:00
John Wellbelove
19c59feba7 Minor comment change 2024-04-01 17:13:24 +01:00
John Wellbelove
96846f9b57 Removed 'possible nullptr' warning. 2024-04-01 16:57:46 +01:00
John Wellbelove
39205e719d Added comparison operators 2024-03-29 16:35:45 +00:00
John Wellbelove
f1d80ba577 Work in progree 2024-03-23 20:32:26 +00:00