John Wellbelove
228de00dc7
Optimisation of strings
2025-06-01 17:40: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
f178cde02d
Optimisation of strings
2025-06-01 10:57:14 +01:00
John Wellbelove
31caeec248
Optimisation of strings
2025-05-31 21:51:48 +01:00
John Wellbelove
0428118553
Optimisation of strings
2025-05-31 21:47:25 +01:00
John Wellbelove
a5b15136d7
Optimisation of strings
2025-05-30 13:52:39 +01:00
John Wellbelove
690ad2f082
Added ability to disable -Wformat-security
2025-05-30 13:52:39 +01:00
John Wellbelove
f653279948
Added char8_t, char16_t and char32_t is _integral and is_signed traits
2025-05-30 13:52:38 +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
John Wellbelove
045535caff
Optimisation of strings
2025-05-30 11:30:16 +01:00
John Wellbelove
d913bda0ea
Added ability to disable -Wformat-security
2025-05-29 20:19:28 +01:00
John Wellbelove
ffc4666fe9
Added char8_t, char16_t and char32_t is _integral and is_signed traits
2025-05-29 20:19:02 +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
John Wellbelove
f2ec53a344
Updated release
2025-05-27 19:21:21 +01:00
John Wellbelove
4cd2a6ed6e
Refactored hfsm receive function
2025-05-27 17:07:58 +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
John Wellbelove
daeb4bdbcd
Updated version and release
2025-05-25 23:12:27 +01:00
John Wellbelove
f950133d51
Merge branch 'development' of https://github.com/ETLCPP/etl into development
2025-05-25 22:41:16 +01:00
TheComet
b62a6d0d1d
Make public function definition inline ( #1106 )
...
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-05-25 22:40:36 +01:00
John Wellbelove
2e3b91a19b
Fixed missing return in compare function
2025-05-25 19:34:10 +01:00
John Wellbelove
c78b5ca76a
Added inline namespaces
...
Added missing comparison operators
Replaced 'typedef' with 'using'
2025-05-25 19:17:49 +01:00
John Wellbelove
a0d81170c8
Added inline namespaces
2025-05-25 19:07:18 +01:00
John Wellbelove
30281b2a1d
Syntax stlye chnage
2025-05-25 19:05:19 +01:00
mlandersonjlg
1ebc659c29
Add IWYU pragmas to private headers which provide library symbols ( #1103 )
...
* 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.
* Add full West support for ETL (#1075 )
This will allow ETL to be included via west in a zephyr build without any additional wrappers or external kconfigs.
Signed-off-by: Zach Van Camp <zach.vancamp@etcconnect.com>
Co-authored-by: Zach Van Camp <zach.vancamp@etcconnect.com>
* Add IWYU pragmas to private headers which provide library symbols
This prevents warnings in clang compiler and IWYU tool
https://clangd.llvm.org/guides/include-cleaner#iwyu-pragmas
https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/IWYUPragmas.md#iwyu-pragma-export
---------
Signed-off-by: Zach Van Camp <zach.vancamp@etcconnect.com>
Co-authored-by: Zach Van Camp <marshmilo100@gmail.com>
Co-authored-by: Zach Van Camp <zach.vancamp@etcconnect.com>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-05-21 15:24:06 +01:00
John Wellbelove
b13b2ae93c
Removed redundant code
2025-05-21 12:35:43 +01:00
John Wellbelove
ca12a2ec0c
Use etl::clamp for setting value in cyclic_value
2025-05-21 12:29:27 +01:00
John Wellbelove
f33c40001f
Added get_token_list to string_utilities to retrieve multiple tokens
2025-05-21 10:21:30 +01:00
Jędrzej Boczar
95a4b107c7
Fix numeric overflow in bip buffer's get_write_reserve ( #1088 )
2025-05-20 08:32:11 +01:00
John Wellbelove
fc71a9a10f
Updated version to 20.41.0
2025-05-19 12:33:51 +01:00
John Wellbelove
30003cc9c4
Fixed signed/unsigned warning
2025-05-19 12:32:20 +01:00
John Wellbelove
67396c94ef
Changed make_array to ETL_NOEXCEPT
2025-05-19 12:31:57 +01:00
John Wellbelove
152581b81b
Updated type_traits generator
2025-05-19 09:02:32 +01:00
John Wellbelove
c133c4d8c0
#1102 Optimise clear of sequence containers for trivially destructible types
2025-05-18 18:09:53 +01:00
John Wellbelove
79fb8ba183
Replaced etl::is_duration with etl::is_specialization
2025-05-18 18:09:16 +01:00
John Wellbelove
f69d39e220
Allow zero sized etl::array
2025-05-18 16:07:47 +01:00
John Wellbelove
66392ba8fe
Fixed constexpr labels + other small changes to fix syntax check errors.
2025-05-18 15:53:03 +01:00
John Wellbelove
3f138f68b9
Fixed constexpr labels + other small changes to fix syntax check errors.
2025-05-18 13:42:08 +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
01e30c8f53
#1096 bit_stream_reader constructors do not accept const pointers
2025-05-15 09:45:23 +01:00
John Wellbelove
94e24fd513
#1095 bit_stream_writer::empty() compares the wrong values to determine empty or not
2025-05-15 09:22:14 +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
John Wellbelove
fe592d5d19
Fixed C++03 compatibility
2025-05-13 22:58:53 +01:00
John Wellbelove
d577dc7256
Fixed C++03 compatibility
2025-05-13 22:44:22 +01:00
John Wellbelove
e3aa7cb46c
Fixed C++03 compatibility
2025-05-13 22:11:45 +01:00
Petr
ce9b774760
Fixed compilation errors in algorithm.h in C++03 and compiler warning… ( #1080 )
...
* 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.
* Add full West support for ETL (#1075 )
This will allow ETL to be included via west in a zephyr build without any additional wrappers or external kconfigs.
Signed-off-by: Zach Van Camp <zach.vancamp@etcconnect.com>
Co-authored-by: Zach Van Camp <zach.vancamp@etcconnect.com>
* Fixed compilation errors in algorithm.h in C++03 and compiler warnings in gcc older than 4.6
---------
Signed-off-by: Zach Van Camp <zach.vancamp@etcconnect.com>
Co-authored-by: Zach Van Camp <marshmilo100@gmail.com>
Co-authored-by: Zach Van Camp <zach.vancamp@etcconnect.com>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-05-13 21:17:41 +01:00
John Wellbelove
270cb33338
Merge updates
2025-05-13 08:32:59 +01:00
John Wellbelove
875d78d015
Fixed buffer size for etl::chrono::month_weekday hash
2025-05-13 08:29:14 +01:00
John Wellbelove
6eff1749ba
Added check for C++03 or lower
2025-05-13 08:28:07 +01:00
John Wellbelove
a9393b96ba
Updated comments
2025-05-13 08:27:43 +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
John Wellbelove
b6300d97ff
C++03 compatibiity to to_underlying
2025-05-07 07:24:39 +01:00
John Wellbelove
5094a0a9e1
Added C++03 etl::is_enum
2025-05-07 07:23:26 +01:00
John Wellbelove
708c8c0d3a
Added largest.h include to algorithm.h to allow C++03 compatibiity to four parameter copy.
2025-05-07 07:23:07 +01:00
John Wellbelove
53b7acffe9
Added largest.h include to algorithm.h to allow C++03 compatibiity to four parameter copy.
2025-05-07 07:21:14 +01:00
John Wellbelove
d1f118bb79
Minor style changes
2025-05-07 07:20:08 +01:00
Roland Reichwein
ba487bcb04
Add take() to etl::span ( #1083 )
2025-05-06 08:52:51 +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
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
a1ec613630
Fixed parameter shadowing warnings
2025-04-30 12:21:36 +01:00
John Wellbelove
2b141e0f22
Fixed tests to be compatible with std::chrono
2025-04-30 12:07:15 +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
e7cbc10df8
Added experimental system_clock, time_point, and time_zone classes
2025-04-28 19:59:32 +01:00
John Wellbelove
39f17a94b8
Added floating point duration types
2025-04-28 19:58:39 +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
38c9cab2f7
Minor style change
2025-04-17 14:06:34 +01:00
John Wellbelove
88adbab3f4
Added exclusive_disjunction
2025-04-17 10:16:09 +01:00
John Wellbelove
b966e2aca7
Minor style change
2025-04-17 10:15:12 +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
192703be9f
C++11 compatibility updates
2025-04-15 08:23:09 +01:00
John Wellbelove
2f7cab3520
C++11 compatibility updates
2025-04-15 07:54:22 +01:00
John Wellbelove
7726faaf97
Synchronised type_traits.h with generator
2025-04-14 17:18:35 +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
2fd887ecc3
C++03 compatibility for etl::typed_storage
2025-04-14 09:50:49 +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
Mario Luzeiro
520bcf876b
fix missing is_secure function when building without ETL_HAS_STRING_CLEAR_AFTER_USE ( #1067 )
2025-04-12 10:52:36 +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
a6ed8bd4e9
Remove unnecessary asserts
2025-04-01 09:43:02 +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
21ea151532
#1056 Bug: variadic_variant doesn't use the type_id_t type to store type_id
2025-03-28 15:35:45 +00:00
John Wellbelove
6508e61153
etl::span constexpr fix
2025-03-28 15:11:29 +00: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
Andreas
9953c4d139
Returning const ref of member from const member function ( #1052 )
...
The `const` marked function needs to return a `const` reference to a member variable
Co-authored-by: Andreas Pelczer <pelczer@stoerk-tronic.com>
2025-03-27 15:25:43 +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
mike919192
c1cc9f584b
Potential fix for span construct ( #1051 )
...
* Try fix for span constructors
* Make base class public
2025-03-27 15:24:44 +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
John Wellbelove
13bb9a6df8
Comments for nth_type
2025-03-27 15:24:42 +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
5d0a77dc76
Modified etl::variant_variadic to use etl::type_list in place of etl::parameter_pack
2025-03-27 15:24:40 +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
9d74b9c093
Removed duplicated header includes
2025-03-27 15:24:34 +00:00
John Wellbelove
ecf2966e40
Minor format change
2025-03-27 15:23:46 +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
John Wellbelove
1274ba263b
Integration of contains and contains_node
2025-03-27 15:23:44 +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
rolandreichweinbmw
a733502359
Intrusive forward list add remove by pointer ( #1026 )
...
* Add intrusive_forward_list::remove() element by pointer
* Add test
2025-03-27 15:23:43 +00:00
John Wellbelove
9c22c6ce50
Added static assert for variadic constructor
...
Fixed missing this-> prefix for current_size
2025-03-27 15:23:42 +00:00
John Wellbelove
6e7df8c581
Added erase from pointer to node
2025-03-27 15:23:41 +00:00
John Wellbelove
74cb40c6e1
Added variadic contruction
...
Added erase from pointer to node
2025-03-27 15:23:41 +00:00
rolandreichweinbmw
ef2337cfe5
Cleanup ( #1039 )
2025-03-27 15:23:28 +00:00
John Wellbelove
b5ee8fb259
Modified create_linked_list functions to not null terminal link pointers
2025-03-27 15:23:27 +00:00
John Wellbelove
8890f43918
Added variadic constructors
2025-03-27 15:23:26 +00:00
John Wellbelove
e103d0959f
Added etl::create_linked_list and etl::detach_linked_list to the intrusive link utilities
...
# Conflicts:
# include/etl/intrusive_links.h
2025-03-27 15:23:00 +00:00
John Wellbelove
4197a1ee8a
Added static assert for variadic constructor
...
Fixed missing this-> prefix for current_size
2025-03-27 15:22:42 +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
rolandreichweinbmw
2b437a60b2
Cleanup ( #1039 )
2025-03-27 15:22:39 +00:00
John Wellbelove
222cf93056
Modified create_linked_list functions to not null terminal link pointers
2025-03-27 15:22:38 +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
mike919192
a75d1d2a30
Add enable_if restriction for span constructor from c array ( #1055 )
...
* Add enable_if restriction for span constructor from c array
* Try to simplify enable if
* Revert "Try to simplify enable if"
This reverts commit b133835f8cfe43e75478f2a8df06ad5265b7f163.
2025-03-27 15:15:31 +00:00
John Wellbelove
a2119d46e4
Merge branch 'pull-request/#1052-Returning-const-ref-of-member-from-const-member-function' into development
2025-03-26 13:10:43 +00:00
Andreas
c547b7804f
Returning const ref of member from const member function ( #1052 )
...
The `const` marked function needs to return a `const` reference to a member variable
Co-authored-by: Andreas Pelczer <pelczer@stoerk-tronic.com>
2025-03-26 12:17:23 +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
mike919192
d794e84c54
Potential fix for span construct ( #1051 )
...
* Try fix for span constructors
* Make base class public
2025-03-25 18:16:44 +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
John Wellbelove
32f567f0bc
Comments for nth_type
2025-03-17 17:59:50 +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
bcf5ec4985
Merge branch 'pull-request/#1044-Add-traits-to-type_list' into development
2025-03-16 19:10:06 +00:00
John Wellbelove
3360eae62d
Modified etl::variant_variadic to use etl::type_list in place of etl::parameter_pack
2025-03-16 19:09:41 +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
c43d9eaea1
Removed duplicated header includes
2025-03-04 09:26:39 +00:00
John Wellbelove
2dac573963
Merge branch 'pull-request/#1024-etl-span-Add-advance(),-copy(),-reinterpret_as()' of https://github.com/ETLCPP/etl into pull-request/#1024-etl-span-Add-advance(),-copy(),-reinterpret_as()
...
# Conflicts:
# include/etl/span.h
2025-03-03 10:58:50 +00:00
John Wellbelove
987cb4f78b
Minor format change
2025-03-03 10:57:26 +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
d5bea3a1f1
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 08:52:12 +00:00
John Wellbelove
6124367f28
Integration of contains and contains_node
2025-03-02 12:51:17 +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
abe765a9cf
Added static assert for variadic constructor
...
Fixed missing this-> prefix for current_size
2025-03-02 10:20:44 +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
rolandreichweinbmw
4e4f7ddbb1
Cleanup ( #1039 )
2025-03-01 17:57:27 +00:00
John Wellbelove
acc0b4bb89
Modified create_linked_list functions to not null terminal link pointers
2025-03-01 13:40:49 +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
c882a9c500
Update version
2025-02-23 12:47:19 +00:00
John Wellbelove
3fafc61bba
#1032 Tasking Compiler Failure For parameter_pack.h
2025-02-23 12:42:28 +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
e9ed2fe044
Update class generators to match code changes
2025-02-21 08:56:58 +00:00
John Wellbelove
7af020bde8
Updated message_router_generator.h
2025-02-19 20:11:53 +00:00
John Wellbelove
52c6bca34d
Improve efficiency of etl::string_view::compare with text pointer
2025-02-17 19:11:01 +00:00
John Wellbelove
baf12b1fcb
Changed etl::message_packet to not require virtual messages
2025-02-17 10:42:25 +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
58c57b0a52
Made bool operator explicit for C++11 and above
2025-02-07 18:27:20 +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