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
833afdbd20
Added optimised and sanitiser build option to Visual Studio project
2024-03-11 18:13:06 +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
8750e1ce73
Renamed 'test' to 'object'
2024-03-11 08:37:41 +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
71644ef90c
Restored files in CMakeLists.txt
2024-03-09 10:04:07 +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
d527816a2d
Synchronised CMakeLists compiler options across projects
2024-03-08 12:03:45 +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
5fe759b44e
#850 Fixed names according to Arduino's guidelines
2024-03-08 09:31:02 +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
37ac046068
Added fixes for deque operator-(). Removed redundant operator that was causing compile errors for C++20
...
# Conflicts:
# test/test_deque.cpp
2024-03-04 18:41:33 +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
9689b69d2f
Re-committed UML diagrams after HD crash
2024-03-04 12:57:02 +00:00
John Wellbelove
2e6ecf620b
Updated initializer_list project file platform toolset
2024-03-04 12:56:14 +00:00
John Wellbelove
9a25ccbbae
Removed duplicated include
2024-03-04 12:55:22 +00:00