2044 Commits

Author SHA1 Message Date
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
John Wellbelove
f5f0ef35f5 Remove used variable 2023-08-25 12:25:38 +01:00
John Wellbelove
7e31561363 Fix issue of release of an object on empty an pool 2023-08-25 10:32:25 +01:00
John Wellbelove
53084ae932 Added c++03 zero parameter emplace member functions 2023-08-25 02:05:46 +01:00
John Wellbelove
7e266687a2 Added C++03 compatible etl::move or etl::move_backward 2023-08-23 19:54:28 +01:00
John Wellbelove
f4ca3cefe1 Added 'sentence case' versions of constants 2023-08-21 21:33:44 +01:00
John Wellbelove
11daaa398b Added time_to_next() status function 2023-08-21 20:58:44 +01:00
John Wellbelove
870759fcab Removed unused variable
Minor format edit
2023-08-21 20:57:33 +01:00
John Wellbelove
77fb39c9d2 Removed redundant #includes 2023-08-20 20:16:27 +01:00
John Wellbelove
06761ca562 #745 Assertion triggered in hash.h when compiling for MSP430 2023-08-19 12:27:57 +01:00
John Wellbelove
faed17ab99 Allow C++03 delegate in etl::callback_timer 2023-08-18 20:54:47 +01:00
John Wellbelove
45fb06af3f Changes require for non-virtual messages 2023-08-18 20:51:36 +01:00
John Wellbelove
13d723f2db Merge branch 'development' of https://github.com/ETLCPP/etl into development 2023-08-15 12:41:13 +01:00
David Hebbeker
9985539787
Remove some unreachable code in bitset_new.h (#743)
Warning[Pe111]: statement is unreachable
2023-08-15 12:39:28 +01:00
John Wellbelove
27e9e3c1b8 Added support for self transitions 2023-08-13 14:10:55 +01:00
John Wellbelove
2c3fa4a796 Added multi char type strcmp, strncmp, strcpy & strncpy 2023-08-13 10:39:02 +01:00
John Wellbelove
9d59e2d77e Edited comments 2023-08-13 10:36:52 +01:00
John Wellbelove
2ec6ed54db Merge branch 'pull-request/#741-add-stringify-macro' into development 2023-08-13 10:34:11 +01:00
John Wellbelove
81815a2dc9 Updated stringify macro for variadic parameters 2023-08-13 10:33:48 +01:00
David Hebbeker
cab9b76821
add stringify macro (#741)
* Add include/linux/stringify.h from Linux kernel 2.6.12-rc2

(cherry picked from commit 1da177e4c3)

* Make __stringify support variable argument macros too

For example:

  __stringify(__entry->irq, __entry->ret)

will now convert it to:

  "REC->irq, REC->ret"

It also still supports single arguments as the old macro did.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
LKML-Reference: <49DC6751.30308@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
(cherry picked from commit 8f7c2c3731)

* Add documentation.

* Adjust names in order to satisfy naming convention.

* Use __VA_ARGS__ instead a GNU extension as this works with more compilers.

Works with the newest versions of ICCAVR, GCC, CLANG and MSCV. C++11 may be required.

* Adjust to ETL folder structure.

* Change include guard to the one usual in ETL.

* Add definition guard for STRINGIFY.

---------

Co-authored-by: Linus Torvalds <torvalds@ppc970.osdl.org>
Co-authored-by: Zhaolei <zhaolei@cn.fujitsu.com>
2023-08-11 10:09:06 +01:00
John Wellbelove
81d2ec0f8d Added etl::bit_v for C++17 2023-08-10 12:08:42 +01:00
John Wellbelove
91eb44d657 Updated release notes and version 2023-08-10 12:08:41 +01:00
John Wellbelove
d1aaa77ade Resolve all C++ -O2 warnings
Resolve all C++ -O2 warnings

Resolve all C++ -O2 warnings
2023-08-10 12:08:18 +01:00
John Wellbelove
6eb5b359ad Updated release notes and version 2023-08-09 08:57:20 +01:00
John Wellbelove
d7fd06f795 Resolve all C++ -O2 warnings 2023-08-07 08:04:19 +01:00
John Wellbelove
8b5ff06e44 Resolve all C++ -O2 warnings 2023-08-06 23:39:11 +01:00
John Wellbelove
2b1d48d735 Added pessimizing-move warning disable for GCC 2023-08-04 11:58:31 +01:00
John Wellbelove
547184442d Possible fix 2023-08-04 11:58:31 +01:00
John Wellbelove
5fbf6c7684 Merge branch 'hotfix/#737-etl-equal-specialisation-for-etl--span-is-deduced-wrongly-when-using-STL-and-CPP20' into development 2023-08-04 11:58:08 +01:00
John Wellbelove
591996e21a Added C++20 four iterator std::equal variants 2023-08-04 11:57:49 +01:00
John Wellbelove
33a4a29caf Merge branch 'hotfix/#739-Could-not-compile-ETL-with-gcc-9.4.0-(C++11)' into development 2023-08-04 07:18:22 +01:00
John Wellbelove
a6b912e3e0 Added compatibility for GCC-9 + C++11 2023-08-04 07:18:03 +01:00
John Wellbelove
1b70808386 Changed assignment from etl::unexpected to use variant::emplace instead of direct assignment 2023-08-03 09:54:31 +01:00
John Wellbelove
21a4b523e9 Added missing return reference from emplace member function 2023-08-03 09:53:13 +01:00
John Wellbelove
0eaeb7977f Updated version and release notes 2023-07-18 19:05:11 +01:00
John Wellbelove
75be75bbec Merge branch 'pull-request/#733-Fix-etl--expected-assignment-from-etl--unexpected' into development 2023-07-18 11:33:13 +01:00
John Wellbelove
6da22a63e0 Merge branch 'pull-request/#734-add-missing-new-line-at-end-of-file' into development 2023-07-18 11:33:06 +01:00
John Wellbelove
2bbcf696dd Merge branch 'pull-request/#735-fix-bug-in-minmax-include-mismatch-detection' into development 2023-07-18 11:32:58 +01:00
John Wellbelove
8d1219bd72 #733-Fix-etl--expected-assignment-from-etl--unexpected
Added unit tests for changes
Added missing etl::forward in etl::expected::emplace
2023-07-18 10:46:29 +01:00
John Wellbelove
4a1dc781d6 #733-Fix-etl--expected-assignment-from-etl--unexpected
Added unit tests for changes
2023-07-18 09:40:47 +01:00
Manuel Knörle
1a3c2a788b
style: add missing new line at end of file (#734) 2023-07-18 08:12:53 +01:00
Vitmark97
9cd491e5aa
Fix etl::expected assignment from etl::unexpected (#733)
* Fix etl::expected assignment from etl::unexpected

* Make it more clear that assignment is from etl::unexpected
2023-07-18 06:40:14 +01:00
Manuel Knörle
cea24a6c20
fix(minmax): fix bug in minmax include mismatch detection (#735)
When using Green Hills, IAR or TASKING compiler the define
'ETL_PUSHED_MIN_MAX' is not set in 'minmax_push.h'.
Therefore the include of 'minmax_pop.h' always leads to
a compilation error (minmax_pop without matching push).
2023-07-18 06:39:15 +01:00
John Wellbelove
85ec267ea8 Refactored etl::forward_like for C++11 compatibility 2023-07-15 19:37:05 +01:00
John Wellbelove
73c96a4c6c Added etl::forward_like 2023-07-15 09:51:08 +01:00
John Wellbelove
24272d99c0 Enhanced min/max push/pop headers 2023-07-12 10:44:36 +01:00
John Wellbelove
0f6200e09c Added return to end of file 2023-07-12 10:41:02 +01:00
John Wellbelove
86b147d2a4 Updated version and release notes 2023-07-10 21:10:07 +01:00
Manuel Seeböck
8c47217982
fixed optional access operators (#730) 2023-07-10 19:47:28 +01:00
John Wellbelove
4c4c597fe5 Removed redundant ';' 2023-07-06 20:09:12 +01:00
John Wellbelove
e6a921c094 Add etl::forward wrapper around variadic arguments for create() 2023-07-05 20:18:24 +01:00
John Wellbelove
98c74bfda8 Updated version and release notes 2023-07-04 18:57:44 +01:00
John Wellbelove
635135dbc3 Synchronised generators with headers 2023-07-04 18:54:58 +01:00
Chiraffollo
1292c5eab8 Fix issue #722 Bitset accesses memory out of bounds (#724)
* Fix issue #722 Bitset accesses memory out of bounds

* Fix #709 in intrusive_list operator-> (#721)

* Fix issue #722 Bitset accesses memory out of bounds
2023-07-04 11:46:00 +01:00
John Wellbelove
3760b26339 Fixed rvalue overloads 2023-07-04 11:46:00 +01:00
Vitmark97
98be5be390 Added conditionally explicit etl::expected constructors that work in C++11 (#719) 2023-07-04 11:46:00 +01:00
John Wellbelove
4bcc0c2568 Fixed address sanitizer issues in unit tests 2023-07-04 11:45:11 +01:00
John Wellbelove
197e0815e6 PR for constexpr for etl::array 2023-07-04 11:45:11 +01:00
John Wellbelove
2d41441f02 Added ETL_CONSTEXPR11 as a synonym for ETL_CONSTEXPR 2023-07-04 11:45:11 +01:00
Vitmark97
5ed39c0e09 Allow manipulation of etl::array in constexpr function (#718)
* iota can be contexpr

* Make it possible to iterate over etl::array in constexpr functions
2023-07-04 11:45:10 +01:00
John Wellbelove
3510fd61a9 Updated intrusive links
Refactored intrusive_forward_list so that links report status consistantly
2023-07-04 11:45:10 +01:00
John Wellbelove
ed589c91c6 Added etl::is_forward_link, etl::is_bidirectional_link and etl::is_tree_link to intrusive links.
Added Constructors, access and status member functions to intrusive links.
2023-07-04 11:45:10 +01:00
John Wellbelove
c3c12da861 Initial updates and fixes 2023-07-04 11:45:10 +01:00
John Wellbelove
cfa39d9b4e Removed commented out line 2023-07-04 11:45:09 +01:00
John Wellbelove
5eec513d8a Added clear() to delegate 2023-07-04 11:45:09 +01:00
John Wellbelove
a0af0f9415 Modified the POD specialisation to accept objects that have deleted default constructors 2023-07-04 11:45:09 +01:00
John Wellbelove
8dad4e8efc Removed blank line 2023-07-04 11:41:01 +01:00
John Wellbelove
c9bb331f4c Added C++11 alignment matcher code 2023-07-04 11:41:01 +01:00
John Wellbelove
81cd2df218 Removed C++14 only feature from variant 2023-07-04 11:41:01 +01:00
Sencer Yazıcı
d5efffa96f fix missing class key with friend (#708) 2023-07-04 11:41:01 +01:00
John Wellbelove
177299977d Refactored visitor and variant to allow const variants and fix passing references to visitors 2023-07-04 11:41:00 +01:00
Chiraffollo
7f990d7a76
Fix #709 in intrusive_list operator-> (#721) 2023-07-01 12:40:07 +01:00
Daniel Jour
96092d841f
optional::operator=(nullopt_t) sets valid to false (#715)
* optional::operator=(nullopt_t) sets valid to false

Fixes https://github.com/ETLCPP/etl/issues/714

* Add test case for #714
2023-06-17 08:19:03 +01:00
Pasi Miettinen
f55fb92540
parameter_pack: Fix C++17 pedantic build (#707)
Co-authored-by: Pasi Miettinen <pasim@onenav.ai>
2023-06-09 18:15:03 +01:00
John Wellbelove
085d2c580a Fix flat map const placement new issue 2023-06-04 15:57:37 +01:00
John Wellbelove
5f9290b8d1 #698 Behaviour of bidirectional_link nodes 2023-05-31 11:32:46 +01:00
John Wellbelove
e0747bfd32 Merge branch 'development' of https://github.com/ETLCPP/etl into development 2023-05-31 10:30:12 +01:00
Manuel Seeböck
adfaf07874
optional(POD) explicit operator bool (#699) 2023-05-31 10:29:43 +01:00
John Wellbelove
76bb902034 Added missing header include. 2023-05-28 10:03:46 +01:00
Michael Morgan
5ddc11b57d Add rvalue accessors to expected and optional, and update constructors. (#690)
* Add rvalue methods to optional and expected.

* Fix constructors in expected.h.

* Fix sanity checks.

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2023-05-20 11:43:49 +01:00