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
John Wellbelove
dd4d0088c5
Added ETL_NODISCARD to make_delegete functions
2025-02-04 14:05:11 +00:00
John Wellbelove
37fd5b7c45
Attempt to fix Github CI errors
2025-02-03 16:19:47 +00:00
John Wellbelove
574da35b10
Attempt to fix Github CI errors
2025-02-03 15:03:28 +00:00
John Wellbelove
6872131920
Updates to CI scripts
2025-02-01 19:44:55 +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
d26c1a105b
Merge branch 'pull-request/#1021-Some-minor-cleanup-changes' into development
2025-02-01 17:54:42 +00:00
John Wellbelove
96cdb2cbb1
Re-included header
2025-02-01 17:54:25 +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
rolandreichweinbmw
41f5c0b6bc
Cleanup ( #1021 )
...
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-01-31 14:44:43 +00:00
John Wellbelove
d0468d813c
Changed etl::addressof to etl::to_address
2025-01-28 11:16:34 +00:00
John Wellbelove
ad9bda90bc
Added etl::to_address
2025-01-28 11:16:04 +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
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
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
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
f05e9ff651
Pulled out unaligned_copy to a base class
2025-01-21 17:51:15 +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
c6c29ca138
Fixed <bit> include for C++20 & STL
2025-01-21 17:48:37 +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
John Wellbelove
75aca06f2b
Packed unaligned_type ( #989 )
...
This way, unaligned_types like etl::be_uint32_t can be used in places where POD types are expected.
2025-01-21 17:43:38 +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
1b42b77608
Pulled out unaligned_copy to a base class
2025-01-04 13:31:37 +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
56c95b474b
Packed unaligned_type ( #989 )
...
This way, unaligned_types like etl::be_uint32_t can be used in places where POD types are expected.
2024-12-20 10:28:02 +00:00
John Wellbelove
4cbef7fb6e
Merge branch 'pull-request/#990-Add-contains-method-to-etl-unordered_map-and-etl-unordered_set' into development
2024-12-19 18:16:39 +00:00
John Wellbelove
191eaae225
Added transparent comparator overloads of contains()
2024-12-19 16:44:12 +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
rolandreichweinbmw
22c1ed4058
Packed unaligned_type ( #989 )
...
This way, unaligned_types like etl::be_uint32_t can be used in places where POD types are expected.
2024-12-19 14:33:56 +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
1f43b2aa96
Added constexpr
2024-12-19 14:33:46 +00:00
rolandreichweinbmw
e7a17a5fb1
Added const iterators to span ( #986 )
2024-12-19 14:33:45 +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
7ae2c7626e
Fixed shadowing warnings
2024-12-19 14:31:53 +00:00
John Wellbelove
58ff15947d
Fixed possible null dereference for etl::multi_span operator ->
2024-12-19 14:31:51 +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
7552aa06db
Removed remaining std::u8string_view functions
2024-12-19 14:31:46 +00:00
John Wellbelove
bdb8956e8d
Made construction from std::basic_string_view explicit
2024-12-19 14:31:44 +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
12b46728ab
Added string_view API.
...
Created common implementations for member algorithms.
2024-12-19 14:30:31 +00:00
John Wellbelove
05ed5ff77c
Change internal constants from all-caps snake case to initial-caps snake case
2024-12-19 14:30:30 +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
223f1cee6e
Fixed syntax issue between GCC and Clang/Visual Studio
2024-12-19 14:30:25 +00:00
John Wellbelove
0a41693271
Fixed syntax issue between GCC and Clang/Visual Studio
2024-12-19 14:30:24 +00:00
John Wellbelove
e4a6bc9c44
Fixed missing conditional macros around transparent comparator C++11 functions
2024-12-19 14:30:23 +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
d0a9d696fe
Simplified definition of is_base_of
2024-12-19 14:30:13 +00:00
John Wellbelove
fd82a9c113
#959 Treat bitset with size_type
2024-12-19 14:30:11 +00:00