Chiraffollo
083bafa3ce
Fix missing partial specialisation equal operators ( #927 )
2024-07-28 16:49:03 +01:00
John Wellbelove
324f5ebea9
Small format changes
2024-07-28 16:48:45 +01:00
Chiraffollo
83c55ad77e
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:48:17 +01:00
John Wellbelove
32f5d19792
Added is_active member function to callback_timer classes.
2024-07-28 16:47:13 +01:00
John Wellbelove
3a557c6f1a
Removed asserts from etl::unique_ptr
2024-07-28 16:47:13 +01:00
Tigran Khachatryan
c9c01092d6
Add an etl::nullptr_t type to <etl/nullptr.h> ( #924 )
...
* Add an etl::nullptr_t type
* etlcpp/etl issue #921 (etl::unique_ptr reset): add etl::unique_ptr(...)::reset(ETL_NULLPTR)
Remove default argument for the normal reset method of etl::unique_ptr (sorry, didn't notice 😬 )
Silence the unused argument warning
Fix operator =(nullptr)
Replace the nullptr_t enum with a class which acts more similar to C++11 nullptr
* Add member pointer support and delete the addressof operator
* "Delete" etl::addressof(ETL_NULLPTR)
* Ensure compatibility with C++98
* ACTUALLY ensure compatibility with C++98
I'm stupid :/
* Correct definition according to cppreference
2024-07-28 16:47:13 +01:00
John Wellbelove
d8faf5655c
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
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
Rafael Laya
02981a5cc2
Fixes compiler detection with Wundef ( #934 )
...
* Fix doc comment for pool::allocate() (#914 )
* Fixes compiler detection with Wunder
---------
Co-authored-by: Michael K <130953568+kmichaelk@users.noreply.github.com>
Co-authored-by: Rafael Laya <rafaellaya@meta.com>
2024-07-28 16:45:08 +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
Michael K
744d54c1fd
Fix doc comment for pool::allocate() ( #914 )
2024-07-14 18:42:02 +01:00
jaskij
64f620c1a8
fix c++20-compat false positive ( #909 )
...
* fix c++20-compat false positive
* move the c++20 compat warning suppression to a separate header
* fix GCC/clang in private/diagnostic_cxx_20_compat_push.h
---------
Co-authored-by: Jan Dorniak <jdorniak@ultima-automatyka.pl>
2024-07-02 09:35:24 +01:00
John Wellbelove
ce24b0cc6e
Refactored base64 encoder and decoder
2024-06-26 14:56:00 +01:00
John Wellbelove
dcc3e7d938
Added parameter_type_t
2024-06-24 18:20:34 +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
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
bb71b60496
Updated version and release
2024-06-05 17:33:16 +01:00
John Wellbelove
9247c14e82
Changed std algorithms to etl
2024-06-05 17:31:01 +01:00
John Wellbelove
a8f59355fe
Changed std algorithms to etl
2024-06-05 14:03:37 +01:00
Saku Glumoff
496c8a2e7c
Fix doc comment for exception::line_number() ( #901 )
...
The documentation comment for `exception::line_number()` in
`include/etl/exception.h` states falsely that the return type for
the function is a `const char*`.
It should state that the return type is `numeric_type`,
which is an `int`.
So change the documentation comment to reflect that the return type is
an `int`.
2024-06-04 18:17:41 +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
8bf527e087
Updated version and release
2024-05-31 17:16:12 +01:00
John Wellbelove
0d1db08c4a
Make conversion operator public
2024-05-31 17:06:48 +01:00
John Wellbelove
bbfce66abc
Added template parameter clamp functions
2024-05-28 11:58:07 +01:00
John Wellbelove
e2333886a5
Fixed static & constexpr order
2024-05-25 12:02:20 +01:00
John Wellbelove
e11548fc57
Updated version and release notes
2024-05-15 20:47:11 +01:00
John Wellbelove
1a09998752
Removed ETL_CONSTEXPR from size()
2024-05-15 20:46:49 +01:00
John Wellbelove
cdd3bae357
Updated version and release notes
2024-05-13 13:45:28 +01:00
John Wellbelove
d69779a8cf
Added GCD and LCM algorithms
2024-05-13 13:45:27 +01:00
John Wellbelove
390afc4d9d
Added specialisations of etl::rotate for different iterator types
2024-05-13 13:45:27 +01:00
John Wellbelove
b42af2a829
Added GCD and LCM algorithms
2024-05-13 13:45:27 +01:00
John Wellbelove
f9867c2281
Added specialisations of etl::rotate for different iterator types
2024-05-13 13:45:27 +01:00
John Wellbelove
959b83ec22
Added ETL_NODISCARD, ETL_CONSTEXPR14 and ETL_NOEXCEPT
2024-05-13 13:45:27 +01:00
John Wellbelove
19a7518c2b
Full constexpr for etl::array
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
5ab69e3e97
Updated version and release notes
2024-04-24 13:11:33 +01:00
John Wellbelove
824c173414
Minor code format change
2024-04-24 13:10:26 +01:00
John Wellbelove
4ce524e43c
#885 Bug: queue move-assignment is not compiling
2024-04-23 09:55:52 +01:00
John Wellbelove
3f9b990a72
#815 etl::remove_if calls predicate twice for first iterator, where predicate returns true.
2024-04-23 09:54:53 +01:00
John Wellbelove
7932403aba
Added C++03 variant of nth_element
2024-04-18 10:57:59 +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
754eba9aaf
Updated generator headers
2024-04-16 09:41:44 +01:00
John Wellbelove
ea9d5b0962
Changes for OSX + C++20 + STL compatibility
2024-04-16 09:02:59 +01:00
John Wellbelove
f12629b9d9
Small format change
2024-04-16 08:08:57 +01:00
John Wellbelove
ae372afe85
Added conditional compilation for C++03 for etl::three_way_compare()
2024-04-16 08:08:35 +01:00
John Wellbelove
55f508b315
Added etl::partition and etl::nth_element
2024-04-16 08:07:33 +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
a2f40effa4
Merge branch 'development' of https://github.com/ETLCPP/etl into development
2024-04-11 11:38:58 +01:00
David Hebbeker
749d4a3a03
Render include paths relative. ( #879 )
...
By removing `etl/` from include paths (in `#include` statements), the path to the directory `include/` doesn't need to be provided to the preprocessor as an include path if the files in `include/etl/` are included by other means.
This has no disadvantages.
Actually the form `#include "..."` is intended to be used for relative paths in the first place.
This is relevant if one wants to include the source files from `include/etl` only indirectly.
For example we use special generated header files which wrap the include statement of the vanilla header files with diagnostic commands.
Those commands allow to disable diagnostic for ETL's files and re-enable them after the file inclusion.
Wrapper files are generated for every non-private header file.
We provide the directory with the wrapper files as include path to the preprocessor instead of the normal `include/` directory.
Thus include statements like `#include "etl/private/..."` are invalid in that case.
2024-04-11 10:38:16 +01:00
John Wellbelove
ddcabd6514
Disable <=> compare code when not C++20
2024-04-09 14:46:51 +01:00
John Wellbelove
4f440a429e
Optimised string_view::find_first_not_of & string_view::find_last_not_of
2024-04-09 14:45:35 +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
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
96846f9b57
Removed 'possible nullptr' warning.
2024-04-01 16:57:46 +01:00
John Wellbelove
309154d0ce
Added diagnostic_null_dereference_push.h
2024-03-30 08:47:54 +00:00
John Wellbelove
39205e719d
Added comparison operators
2024-03-29 16:35:45 +00:00
John Wellbelove
4bc8d00737
Modified return types
2024-03-27 21:01:05 +00:00
John Wellbelove
f1d80ba577
Work in progree
2024-03-23 20:32:26 +00:00
John Wellbelove
41a680436c
Added etl::mem_fn
2024-03-23 15:08:01 +00:00
John Wellbelove
ac93dc730d
Added etl::mem_fn
2024-03-21 14:28:09 +00:00
John Wellbelove
353419f284
Updated with UnitTest++ macros
2024-03-21 10:26:58 +00:00
John Wellbelove
1474d4add8
Added etl::mem_fn
2024-03-21 10:07:31 +00:00
John Wellbelove
e64b489d5e
Fixed dereference of state pointer when null.
2024-03-20 23:33:18 +00:00
John Wellbelove
8710dfc4ff
Fixed dereference of state pointer when null.
2024-03-20 23:27:18 +00:00
John Wellbelove
84dd8ceca3
Merge branch 'pull-request/#861-Implement-Constexpr-Strong-Typedef' into development
2024-03-17 13:57:17 +00:00
John Wellbelove
15675f29a6
Updates to constexpr operators
2024-03-17 13:56:56 +00:00
Drew Rife
a8ca216f4e
Update ETL_CONSTEXPR and C++14 desgination from type_def ( #862 )
...
* feat: make type_def constexpr
* test: macro constexpr
* test: implicit constexpr
* test: get constexpr
* refactor: remove constexpr from assignment
* test: comparisons constexpr
* fix: cpp11 support for constexpr get method
* fix: c++11 issue with constexpr get reference
* refactor: remove constexpr from the get methods
* refactor: make assignment operators non-constexpr
* refactor: remove constexpr from assignment and get
* refactor: make other methods ETL_CONSTEXPR14
* test: operator preincrement
* test: postincrement
* test: predecrement constexpr
* test: post decrement constexpr
* fix: post decrement test
* test: addition assignment constexpr
* test: subtraction assignment constexpr
* test: multiplication assignment operator
* test: and assignment constexpr
* test: or assignment constexpr
* test: xor assignment constexpr
* tet: left shift assignment constexpr
* test: right shift assignment constexpr
* test: operator modules assignment
* style: revert personal clang-format changes
* refactor: use free functions to test
* refactor: remove constexpr non-constexpr test functions
* style: remove erroneous tab
2024-03-16 12:07:00 +00:00
John Wellbelove
7b358dd35a
Added constexpr to compare functions
2024-03-16 11:26:15 +00:00
Benzinnos
80af5a4891
Add eq and ne operators for compare utility. ( #863 )
...
* Add eq and ne operators
* Add three-way comparison to compare utils.
* Three-way comparison test now using own test data.
* Rename test struct for three-way comparison test.
---------
Co-authored-by: grigorev <grigorev@protei.ru>
2024-03-15 18:15:07 +00:00
John Wellbelove
cb2700e75d
Modified accepts() message router functions to interrogate subscribed and successor routers to achieve consistency.
2024-03-15 13:01:59 +00:00
John Wellbelove
80613827c9
Turned etl::send_message into templates so that direct calls to concrete routers are possible
2024-03-15 10:58:11 +00:00
Drew Rife
48c496cd44
Implement Constexpr Strong Typedef ( #861 )
...
* feat: make type_def constexpr
* test: macro constexpr
* test: implicit constexpr
* test: get constexpr
* refactor: remove constexpr from assignment
* test: comparisons constexpr
* fix: cpp11 support for constexpr get method
2024-03-13 09:56:47 +00:00
John Wellbelove
b807bad3e3
#847-Add-has_active_timer-to-callback_timer
2024-03-13 09:54:29 +00:00
John Wellbelove
2a5565791c
Deleted etl::span fixed extent default constructor
2024-03-11 18:34:51 +00:00
John Wellbelove
e5523d2d0b
Added C++11 conditional compilation around rvalue reference functions
2024-03-11 18:11:44 +00:00
John Wellbelove
881f3d8e62
#841 Change push to push_back on containers, so they can be used with std::back_inserter
2024-03-11 18:10:46 +00:00
John Wellbelove
1cc94b6418
#827 Declaration order for etl::first_set_bit_position in binary.h
2024-03-11 18:09:50 +00:00
John Wellbelove
ce79721a4d
#855 Strange expression in volatile atomic operator--
2024-03-11 18:09:19 +00:00
John Wellbelove
199bb131df
Minor fixes
2024-03-11 08:37:13 +00:00
John Wellbelove
4737fd0f03
Removed etl::type_tag and replaced its use with etl::in_place_type_t
2024-03-10 20:23:30 +00:00
John Wellbelove
8826b56493
Fixed existing initializer_list member functions
...
Added additional initializer_list member functions
2024-03-10 20:22:08 +00:00
John Wellbelove
46b636694d
Fixed existing initializer_list member functions
...
Added additional initializer_list member functions
2024-03-10 20:21:30 +00:00
John Wellbelove
a77e435924
Fixed unsynched generators
2024-03-10 09:33:05 +00:00
John Wellbelove
8593f95208
Merge branch 'pull-request/#858-fix-unique_ptr-assigning-nullptr-to-a-null-unique_ptr-causes-an-assert' into development
2024-03-09 15:25:04 +00:00
John Wellbelove
9a520a37aa
Merge branch 'pull-request/#849-fix-string_stream-add-missing-initializations-of-const-format-specifiers' into development
...
# Conflicts:
# support/Release notes.txt
2024-03-09 15:23:47 +00:00
Derek Ludwig
abb0494e71
fix(unique_ptr): assigning nullptr to a null unique_ptr causes an assert ( #858 )
2024-03-09 14:57:15 +00:00
Manuel Knörle
7c24f66ecc
fix(string_stream): add missing initializations of const format specifiers ( #849 )
...
The const variables "left" and "right" are const default initialized.
The C++ standard states the following:
"A class type T is const-default-constructible if default-initialization
of T would invoke a user-provided constructor of T."
Since the "left_soec" and "right_spec" structs are PODs they are not
initialized per default. Due to the "constness" the variable can not be
modified later one, therefore the POD is in a state in which it is not
useful at all.
Since the mentioned structs are empty there would be no problem
in this case. This is an issue in the C++ standard (CWG Issue 253).
Some compilers already handle this issue with their own solution
despite the fact, that the standard did not provide a solution yet.
For some exotic compilers (e.g. Tasking for TriCore) the include of
the "string_stream" header caused compilation errors:
"const variable "etl::left" requires an initializer -- class "etl::private_basic_format_spec::left_spec" has no user-provided default constructor"
References:
https://en.cppreference.com/w/cpp/language/default_initialization
https://cplusplus.github.io/CWG/issues/253.html
https://stackoverflow.com/questions/7411515/why-does-c-require-a-user-provided-default-constructor-to-default-construct-a
https://stackoverflow.com/questions/24943665/why-is-a-constructor-necessary-in-a-const-member-struct
2024-03-09 14:56:06 +00:00
John Wellbelove
b6db4195a3
Refactored etl::is_default_constructible definition
2024-03-09 12:03:52 +00:00
John Wellbelove
40326db14c
Added etl::is_default_constructible_v
2024-03-09 10:31:20 +00:00
John Wellbelove
0cf4396fcb
#854 in-place construction of shared message
2024-03-09 10:11:00 +00:00
John Wellbelove
59178e495a
Added etl::type_tag<T>
2024-03-09 10:03:26 +00:00
John Wellbelove
cbf08d1efa
Refactored message_packet constructors
2024-03-09 10:03:01 +00:00
John Wellbelove
82b05faa59
Merge branch 'pull-request/#854-in-place-construction-of-shared-message' of https://github.com/ETLCPP/etl into pull-request/#854-in-place-construction-of-shared-message
2024-03-08 12:04:40 +00:00
John Wellbelove
3ca09462a8
Fixed implicitly disabled copy constructor
2024-03-08 12:02:41 +00:00
SanderSmeenkInspiro
268ca4e04b
Add support for in-place instantiation of a shared message in the message pool ( #854 )
...
* #850 Fixed names according to Arduino's guidelines
* #850 Fixed names according to Arduino's guidelines
* Add support for in-place instantiation of a shared message in the message pool
---------
Co-authored-by: John Wellbelove <john.wellbelove@etlcpp.com>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2024-03-08 10:02:47 +00:00
John Wellbelove
1e1ce38113
#850 Fixed names according to Arduino's guidelines
2024-03-08 09:31:27 +00:00
John Wellbelove
e1d563a32f
Added etl::is_default_constructible
2024-03-06 19:02:45 +00:00
John Wellbelove
95af36acd3
Refactored message_packet constructors
2024-03-06 19:02:00 +00:00
John Wellbelove
b89f62a789
Changed optional 'simple' types implementation for C++14 constexpr compatibility
2024-03-06 19:00:51 +00:00
John Wellbelove
131ed46598
Changed shadowed variables
2024-03-05 12:17:09 +00:00
John Wellbelove
de6e6ab13c
Added tests for message base_type
2024-03-05 09:55:08 +00:00
John Wellbelove
c6dc700cf3
Added message type traits
2024-03-05 09:55:08 +00:00
John Wellbelove
4245e23bee
Merge branch 'pull-request/#804-variant-varadic-default-constructed-state' into development
2024-03-04 20:08:24 +00:00
John Wellbelove
7f13eeb06c
Added fixes for deque operator-(). Removed redundant operator that was causing compile errors for C++20
...
# Conflicts:
# test/test_deque.cpp
2024-03-04 13:10:17 +00:00
John Wellbelove
9a25ccbbae
Removed duplicated include
2024-03-04 12:55:22 +00:00
John Wellbelove
573333586f
Comment spelling fix
2024-03-04 12:55:03 +00:00
John Wellbelove
26e346e11e
Added fixes for deque operator-(). Removed redundant operator that was causing compile errors for C++20
2024-03-04 12:54:38 +00:00
John Wellbelove
a98d387a11
#850 Fixed names according to Arduino's guidelines
2024-02-24 11:49:54 +00:00
Manuel Seeböck
134f8e4209
variant varadic default constructed state ( #804 )
...
* fixed variant varadic default constructed state
* updated testcases to account for default contructor changes
2024-02-22 19:14:37 +00:00
John Wellbelove
f04fe0f383
Merge branch 'hotfix/#818-etl-apply-code-spell-check-across-entire-code-base' into development
2024-02-22 19:07:12 +00:00
Pisit Sawangvonganan
c92d970d09
etl: apply code spell check across entire code base ( #818 )
...
Utilized a spell checking tool to identify and correct spelling
throughout all files in the code base.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-02-22 19:06:23 +00:00
John Wellbelove
de3091a6bc
Merge branch 'hotfix/#845-message_packet-missing-a-copy-constructor' into development
2024-02-18 12:08:26 +00:00
John Wellbelove
a2b7eb5d5a
Added specific copy and move constructors for C++17 and above.
2024-02-18 12:08:11 +00:00
John Wellbelove
0791d39444
Merge branch 'pull-request/#843-In-subspan-function,-add-static-checks-on-extents' into development
2024-02-18 10:48:17 +00:00
John Wellbelove
aad8024ef1
Edited comments
2024-02-18 10:48:01 +00:00
mike919192
4b12e982e6
In subspan function, add static checks on extents ( #843 )
...
* In subspan function, add static checks on extents
* Change to ETL_STATIC_ASSERT. Add static assert for first and last functions
* Add static assert to pre c++11 subspan
* Change extent to Extent to better match existing code
2024-02-16 09:21:25 +00:00
John Wellbelove
89eedd4563
Merge branch 'hotfix/#819-etl-optional-cannot-return-an-optional-object-of-self-from-member-function' into development
...
# Conflicts:
# include/etl/optional.h
2024-02-15 11:10:31 +00:00
John Wellbelove
ea74d2f02f
etl::optional C++ compatibility updates
2024-02-15 10:50:45 +00:00
John Wellbelove
3cbc73e0c9
Updated unit tests for constexpr optional
2024-02-09 11:04:39 +00:00
John Wellbelove
2619b9e307
Refactored etl::optional implementation
2024-02-02 12:42:07 +00:00
John Wellbelove
c92771088c
#834 char_traits.h throws warning for GHS compiler
2024-01-31 09:50:11 +00:00
John Wellbelove
19eff9d69e
Merge branch 'master' into development
...
# Conflicts:
# include/etl/optional.h
2024-01-28 20:39:28 +00:00
John Wellbelove
3caffa148f
Merge branch 'hotfix/#829-Possible-bug-on-assign-of-etl-array' into development
2024-01-28 20:35:22 +00:00
John Wellbelove
ad33083543
Added safe copy to etl::array::assign
...
etl::array::assign now returns an iterator
2024-01-28 20:35:07 +00:00
John Wellbelove
9ed453e7ef
Merge branch 'hotfix/#827-Declaration-order-for-etl--first_set_bit_position-in-binary_h' into development
2024-01-28 09:20:49 +00:00
John Wellbelove
c0f2bec6ae
Comment fix
2024-01-28 09:20:15 +00:00
Chiraffollo
84031659fa
Fix #832 : Only copy/move storage value when optional is valid ( #833 )
2024-01-27 00:55:51 +00:00
John Wellbelove
1d6a068e0a
Merge branch 'hotfix/#803-etl-unordered_map-buffer-overflow' into development
2024-01-25 16:35:56 +00:00
John Wellbelove
77513730e0
Fixed shadow warnings in all files
...
#823 Multiple variable shadowing warnings in private/bitset_new.h
2024-01-25 14:22:26 +00:00
John Wellbelove
664bdac4bd
Initial refactor
2024-01-21 15:02:01 +00:00
John Wellbelove
51b10c498c
Added to_ulong() and to_ullong()
2024-01-20 21:03:17 +00:00
John Wellbelove
5e78b48b6c
#815 etl::remove_if calls predicate twice for first iterator, where predicate returns true.
2024-01-20 18:35:20 +00:00
John Wellbelove
816e87ae00
Merge branch 'feature/#774-Truncating-access-for-etl-bitset' into development
...
# Conflicts:
# test/vs2022/etl.vcxproj.filters
2024-01-20 18:32:59 +00:00
John Wellbelove
94ee20e2fd
Fix C++ standard syntax compatibility for repair()
2024-01-20 18:10:34 +00:00
John Wellbelove
83e23b9adf
Fix C++ standard syntax compatibility for repair()
2024-01-20 10:08:15 +00:00
John Wellbelove
1825c54570
Minor C++ standards compatibility tweaks
2024-01-20 09:44:51 +00:00
John Wellbelove
47d3d67a14
Modified definition of bitset::Storage_Type for compatibility with C++03
2024-01-18 09:54:07 +00:00
John Wellbelove
0770e76d42
Merge branch 'pull-request/#812-Implement-SAE-J1850-CRC8' into development
2024-01-18 09:30:11 +00:00
Drew Rife
ac4c3e67e6
Implement SAE J1850 CRC8 and "Zero" version ( #812 )
...
* feat: added 8bit j1850 crc parameters
* feat: add crc8 j1850 header
* feat: add crc j1850 zero header
* feat: add the crc j1850 headers to crc.h
* test: j1850 4 constructor
* build: crc8 j1850 tests
* test: crc8 j1850 4 add values
* test: crc8 j1850 4 add range
* test: crc8 j1850 4 add range via iterator
* test: crc8 j1850 4 add range endian
* test: crc8 j1850 16 constructor
* test: crc8 j1850 16 add values
* test: crc8 j1850 16 add range
* test: crc8 j1850 16 add range via iterator
* test: crc8 j1850 16 add range endian
* test: crc8 j1850 156 constructor
* test: crc8 j1850 256 add values
* test: crc8 j1850 256 add range
* test: crc8 j1850 add range via iterator
* test: crc8 j1850 256 add range endian
* test: initial commit of crc j1850 zero tests
* build: crc8 j1850 zero tests
* test: crc8 j1850 zero 4 add values
* test: crc8 j1850 zero 4 add range
* test: crc8 j1850 zero 4 add range via iterator
* test: crc8 j1850 zero 4 add range endian
* test: crc8 j1850 zero 16 constructor
* test: crc8 j1850 zero 16 add values
* test: crc8 j1850 zero 16 add range
* test: crc8 j1850 zero 16 add range via iterator
* test: crc8 j1850 zero 16 add range endian
* test: crc8 j1850 zero 256 constructor
* test: crc8 j1850 zero 256 add values
* test: crc8 j1850 zero 256 add range
* test: crc8 j1850 zero 256 add range via iterator
* test: crc8 j1850 zero 256 add range endian
* fix: header include guards
2024-01-13 11:48:55 +00:00
John Wellbelove
3d3dad8499
Work in progress
2024-01-13 11:45:57 +00:00
John Wellbelove
3ca624efb0
Changed case of template constants
2024-01-13 11:45:38 +00:00
John Wellbelove
8f6055e99b
Removed ETL_STATIC_CONSTANT
2024-01-13 11:44:59 +00:00
John Wellbelove
ce7ce3bb72
Make binary functor operator() const
2024-01-13 11:44:40 +00:00
John Wellbelove
a7271e470a
Work in progress
...
Comprehensive bitset type comparisons
2024-01-04 00:11:54 +00:00
John Wellbelove
78d2ccf55e
Work in progress
...
Finished updating explicit single element tests for bitset_ext
2023-12-29 16:00:10 +00:00
John Wellbelove
58f469ebd4
Work in progress
...
Finished updating explicit single element tests
2023-12-29 09:33:20 +00:00
John Wellbelove
c5c88ae010
Work in progress
2023-12-18 15:28:32 +00:00
John Wellbelove
aa4b27b6e6
Work in progress for etl::bitset::extract
2023-12-18 15:21:05 +00:00
John Wellbelove
236af6190a
Work in progress for etl::bitset::extract
2023-12-18 15:21:05 +00:00
John Wellbelove
2c8aafedcd
Work in progress for etl::bitset::extract
2023-12-18 15:21:05 +00:00
John Wellbelove
a5b425f03e
Work in progress for etl::bitset::extract
2023-12-18 15:21:04 +00:00
John Wellbelove
d3b3fdbd40
Fixed 'nodiscard' keyword errors
2023-12-18 11:28:12 +00:00
John Wellbelove
c75617c2b6
#805 legacy etl::bitset set/reset does not work if the element type is greater than 8 bit
2023-12-18 11:07:42 +00:00
John Wellbelove
d17f422dac
Added binary functors for ~ & | ^
2023-12-18 11:02:54 +00:00
John Wellbelove
7bb125a360
Added etl::generate algorithm
2023-12-17 12:54:01 +00:00
John Wellbelove
59cd9e66d7
#807 Change in legacy etl::bitset with nullptr construction + error handling
...
Harmonised operation of legacy and new etl::bitset
Added ETL_ASSERT checks for nullptr buffer pointers for etl::bitset_ext
2023-12-16 12:57:36 +00:00
John Wellbelove
8f88aa0141
Fixed etl::optional operator =() for invalid values with non-pod types
2023-12-15 10:06:21 +00:00
John Wellbelove
489429bd7c
Fixed operator == implementations
2023-12-13 09:58:44 +00:00
John Wellbelove
dd060d5013
Updated version and release
2023-12-10 16:25:45 +00:00
John Wellbelove
f500cd29a8
Prioritize ETL_TARGET_OS_* for mutex selection
2023-12-10 12:57:39 +00:00
John Wellbelove
783be74dd3
Updated version and release notes
2023-12-08 09:26:23 +00:00
John Wellbelove
eba9c5797d
Added CRC1 (AKA Parity)
...
Modified test suit names
2023-12-08 09:03:17 +00:00
John Wellbelove
9161413337
Merge branch 'hotfix/#799-Iterator-returned-by-crc.input()-does-not-satisfy-std--output_iterator' into development
2023-12-08 08:46:34 +00:00
John Wellbelove
6775dba40d
Fixed output iterator for frame_check_sequence and pseudo_moving_average
2023-12-08 08:46:16 +00:00
John Wellbelove
4b97e82876
Added CRC1 (AKA Parity)
...
Modified test suit names
2023-12-07 16:19:46 +00:00
John Wellbelove
1027e66279
#795 etl::private_variant doesn't fully respect the chosen error reporting.
2023-12-05 14:24:32 +00:00
John Wellbelove
bdba48016b
typo
2023-12-05 09:59:44 +00:00
John Wellbelove
8aa799a3cb
Added check for NAN definitions for C++11 FP functions
2023-12-05 09:53:47 +00:00
John Wellbelove
cbbd1d840a
Added additional etl::make_lsb_mask and etl::make_msb_mask binary functions
2023-12-04 08:38:42 +00:00
John Wellbelove
4606e33a6d
Merge branch 'pull-request/#782-Set-is-full-error-when-adding-existing-item' into development
2023-11-24 11:26:55 +00:00
İsmail Tüzün
c6fecd9d7c
Set is full error when adding existing item ( #782 )
...
* Fixed set_full error when inserting existing item.
* Added test inserting existing value to full set
* Added test inserting existing value to full flat_set and reference_flat_set
* Fixed unordered_set_full error when inserting existing item.
2023-11-24 11:24:52 +00:00
John Wellbelove
b732b14c53
Update version and release notes
2023-11-24 11:22:50 +00:00
John Wellbelove
04211563f5
Fix useless cast
2023-11-24 10:23:12 +00:00
John Wellbelove
63d1a64e6c
#787 etl::expected doesn't compile with ETL_LOG_ERRORS
...
Updated CI scripts
#786 u8string
#783 Cannot insert existing value to full set
#781 etl::multi_span::iterator::operator *() fails if first span is empty
#780 endian enum_type produces useless-cast warnings
#779 hash.h: warnings produced with -Wfloat-equal
2023-11-24 09:59:35 +00:00
John Wellbelove
f5879a757a
Merge branch 'hotfix/#779-hash-h-warnings-produced-with-Wfloat-equal' into development
...
# Conflicts:
# test/run-tests.sh
# test/vs2022/etl.vcxproj.filters
2023-11-21 17:55:57 +00:00
John Wellbelove
61da85fa77
Removed float-equal warnings
...
Added functions is_nan, is_infinity, is_zero & is_exactly_equal
Fixed array-bounds warnings for GCC and -O2 optimisation
2023-11-21 15:13:24 +00:00
John Wellbelove
03cbf64c42
Merge branch 'hotfix/#787-etl-expected-doesn't-compile-with-ETL_LOG_ERRORS' into development
2023-11-14 10:35:32 +00:00
John Wellbelove
6c3eddaf76
Changed etl::expected_invalid to non-template type
...
Added tests for rereference operators
2023-11-14 10:35:04 +00:00
John Wellbelove
521bae91eb
Merge branch 'hotfix/#781-etl-multi_span-iterator-function-operator-fails-if-first-span-is-empty' into development
2023-11-14 00:08:57 +00:00
John Wellbelove
b6650120f8
Added u8string + utilities
...
Changed char types to unsigned 'least' types
2023-11-14 00:06:57 +00:00
John Wellbelove
c400779905
#781 etl::multi_span::iterator::operator *() fails if first span is empty
2023-11-03 18:37:25 +01:00
John Wellbelove
5622a98571
Refactoring
2023-10-31 11:12:07 +01:00
John Wellbelove
23a76d2371
Refactored back_inserter support
2023-10-29 09:01:08 +01:00
John Wellbelove
9a5ed96f8e
Renamed test file
2023-10-29 09:00:49 +01:00
John Wellbelove
02e69f5757
Added padding flag
2023-10-29 09:00:49 +01:00
John Wellbelove
b1a042385f
Removed static from encode and decode functions
2023-10-29 09:00:49 +01:00
John Wellbelove
0523fc869a
Static version of Base64 - RFC-6848 - No optional padding
2023-10-29 09:00:49 +01:00
John Wellbelove
58c55a8bb6
Updates
2023-10-29 08:59:11 +01:00
John Wellbelove
f9233f99ab
Refactor to support multiple RFCs
2023-10-29 08:58:11 +01:00
John Wellbelove
8db9613320
Renamed test file
2023-10-29 08:58:11 +01:00
John Wellbelove
5016d4033f
Added padding flag
2023-10-29 08:58:10 +01:00
John Wellbelove
456a56e7aa
Removed static from encode and decode functions
2023-10-29 08:58:10 +01:00
John Wellbelove
25338fb0d1
Static version of Base64 - RFC-6848 - No optional padding
2023-10-29 08:58:10 +01:00
John Wellbelove
91a150e37b
Updates
2023-10-29 08:58:10 +01:00
John Wellbelove
47e16bd010
Updated version and release notes
2023-10-28 22:52:41 +02:00
John Wellbelove
09c3b30f83
Revert "Added add_lvalue_reference for rvalue reference"
...
This reverts commit a09efffb8fadb0c25923fe5435b7b1f9bdd673f1.
2023-10-28 11:38:54 +02:00
John Wellbelove
a09efffb8f
Added add_lvalue_reference for rvalue reference
2023-10-28 11:35:38 +02:00
John Wellbelove
f8d5c31f66
Refactored swap
2023-10-28 11:33:25 +02:00
John Wellbelove
39c3ca8dea
Merge remote-tracking branch 'origin/pull-request/#777-Allow-Building-Tests-as-Submodule-and-GCC-less-than-11' into development
2023-10-27 10:20:58 +02:00
jmartens-42
13759c1cbb
moved BUILD_TESTS check outside of root cmake check to allow building tests in submodules ( #777 )
...
added check for GNUC >= 11 for -Wstringop-overread ignore pragma since it isn't introduced until gcc/g++-11
Co-authored-by: Josh <joshua.martens@magna.com>
2023-10-26 20:07:23 +02:00
John Wellbelove
e8eeeba875
Merge branch 'master' into development
2023-10-23 09:59:41 +01:00
John Wellbelove
85f2e09ef7
#776 Add missing semicolons
2023-10-23 09:35:01 +01:00
H1MSK
837a5156b4
Add missing semicolons ( #776 )
2023-10-22 16:16:04 +01:00
John Wellbelove
5ca6e05eb8
Added etl::string interface to etl::base64
2023-10-15 11:44:23 +01:00
John Wellbelove
21a9b884bc
Added etl::string::fill()
2023-10-15 11:44:23 +01:00
John Wellbelove
6bc244cf8e
Final changes
2023-10-15 11:44:22 +01:00
John Wellbelove
f7281dc680
Initial code
2023-10-15 11:44:22 +01:00
John Wellbelove
91a357d18d
static_cast for string_view & array_view size() member functions
2023-10-15 11:44:22 +01:00
John Wellbelove
92e880f3b1
#773 Return raw pointer for etl::multi_span::operator->()
2023-10-14 21:34:39 +01:00
David Hebbeker
e631a0fd9b
Return raw pointer for etl::multi_span::operator->(). ( #773 )
...
- using `operator*()` in case getting the current element is changed one day
- using `&` to get the address
Simply returning `p_value` may break in case the internal type of `p_value` would change. This way it is more robust to changes.
2023-10-13 20:48:46 +01:00
John Wellbelove
24b145896d
Updated versions
2023-09-27 17:56:10 +01:00
John Wellbelove
11155eb9f1
Fixed alignment functionality
2023-09-27 13:48:53 +01:00
John Wellbelove
d507106764
Merge branch 'development' of https://github.com/ETLCPP/etl into development
2023-09-24 19:56:38 +01:00
John Wellbelove
754ac74d5a
Updated release notes
2023-09-24 19:48:15 +01:00
John Wellbelove
61713b6ce4
Refactored storage for etl::optional
2023-09-24 18:54:24 +01:00
John Wellbelove
1f368ead6c
#766 etl::unique_ptr::reset() can call deleter with nullptr argument
2023-09-23 11:29:14 +01:00
John Wellbelove
40df32148e
Merge branch 'hotfix/#749-Code-change-causes-warning-with-armcc-compiler' into development
2023-09-21 18:25:01 +01:00
John Wellbelove
2b6f6de846
Commets added
2023-09-21 18:22:48 +01:00
John Wellbelove
9a73f5e3a5
Enabled etl::overload for C++11 & C++14
2023-09-20 23:06:45 +01:00
Andreas
ee8be059e8
Remove BOM from random.h ( #762 )
...
random.h is the only file with UTF8-BOM and IAR can not handle it.
For compatibility reasons it should be removed.
Co-authored-by: Andreas Pelczer <pelczer@stoerk-tronic.com>
2023-09-20 23:06:45 +01:00
Andreas
b2adb0de9f
Make "private" includes relativ ( #761 )
...
Avoid "include not found" when indirectly including etl-header
Co-authored-by: Andreas Pelczer <pelczer@stoerk-tronic.com>
2023-09-20 23:06:33 +01:00
Soma Veszelovszki
93091cff0f
Fixed: move assignment not working for non-empty containers ( #759 )
2023-09-20 23:06:32 +01:00
John Wellbelove
9311256931
Possible fix for #756
2023-09-20 23:06:32 +01:00
John Wellbelove
0216ecf020
Updated version and release notes
2023-09-20 23:06:32 +01:00
John Wellbelove
4469aeb63c
Added conversion operators to std::span
...
MacOS clang span issue
MacOS clang span issue
MacOS clang span issue
MacOS clang span issue
MacOS clang span issue
2023-09-20 23:06:32 +01:00
John Wellbelove
d51784765f
const_reference at(size_t i) const is only constexpr from C++14
2023-09-04 08:08:34 +01:00
John Wellbelove
a4879c8908
#755 warning about constexpr in array.h
2023-09-03 23:50:03 +01:00
John Wellbelove
01d96609cf
#753 [porting] IAR's overload resolution struggles with etl::span::span(etl::array&)
...
#754 ambiguous etl::bit_stream_reader::bit_stream_reader() for some etl::span
2023-09-02 14:50:24 +01:00
John Wellbelove
7fdaa7c9a4
Updated vesrion and release notes
2023-08-29 13:48:24 +01:00
John Wellbelove
94654689e8
Removed semicolon warnings
2023-08-29 09:25:58 +01:00
John Wellbelove
b38afd7fc9
Updated version and release notes
2023-08-26 11:49:17 +01:00
John Wellbelove
5402a3ed14
Added destructor to CMSIS_RTOS2 mutex
2023-08-26 10:46:05 +01:00
John Wellbelove
c92ab94220
Change to require semicolons after debug count macros.
...
Added error assert for vector reserve greater than capacity.
2023-08-25 21:08:01 +01:00
John Wellbelove
ee7fc16192
Merge branch 'feature/#744-get-time-when-next-timer-will-expire-etl--callback_timer' into development
...
# Conflicts:
# .gitignore
# include/etl/intrusive_forward_list.h
2023-08-25 15:38:13 +01:00
John Wellbelove
a65725a283
Merge branch 'hotfix/#746-Missing-etl--legacy--variant-overload-of-emplace-with-0-Arguments' into development
2023-08-25 15:36:05 +01:00
John Wellbelove
076896e329
Remove used variable
2023-08-25 15:14:26 +01:00