2546 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
e1d563a32f Added etl::is_default_constructible 2024-03-06 19:02:45 +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
2e6ecf620b Updated initializer_list project file platform toolset 2024-03-04 12:56:14 +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
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
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
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
1d6a068e0a Merge branch 'hotfix/#803-etl-unordered_map-buffer-overflow' into development 2024-01-25 16:35:56 +00:00
John Wellbelove
749396669b Added -Wnull-dereference flags to GCC and Clang unit test configurations 2024-01-25 16:33: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
1a0036366d Added test for #819 2024-01-21 15:41:50 +00:00
John Wellbelove
51b10c498c Added to_ulong() and to_ullong() 2024-01-20 21:03:17 +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
0770e76d42 Merge branch 'pull-request/#812-Implement-SAE-J1850-CRC8' into development 2024-01-18 09:30:11 +00:00
John Wellbelove
279a59fa59 Added syntax checks for crc8_j1850 & crc8_j1850_zero 2024-01-18 08:57:50 +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
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
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
6d941298ea Improved display of CHECK_EQUAL_HEX in unittest++ 2023-12-18 15:15:09 +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
480363a4e7 Added etl::generate algorithm 2023-12-18 10:52:40 +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
489429bd7c Fixed operator == implementations 2023-12-13 09:58:44 +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
9492ca101c Corrected clang version name detection 2023-12-05 14:29:44 +00:00
John Wellbelove
0f7fa6ecdf Change for VS2022 C++14 2023-12-04 14:34:38 +00:00
John Wellbelove
f7845f8530 Updated help screen in CI script 2023-12-04 09:34:14 +00:00
John Wellbelove
92109bd779 Updated script text 2023-12-04 08:38:50 +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
31bf89a8da Refactored Github CI workflows 2023-11-25 13:07:00 +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
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
23f961eb88 Added Git branch to terminal prompt 2023-11-15 10:40:59 +00:00
John Wellbelove
9c16706835 Updated syntax checks 2023-11-14 18:34:08 +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
feb7c60609 Merge branch 'feature/Base64-codec' of https://github.com/ETLCPP/etl into feature/Base64-codec
# Conflicts:
#	test/test_base64_RFC4648_with_padding.cpp
2023-10-29 09:01:33 +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
f8d5c31f66 Refactored swap 2023-10-28 11:33:25 +02:00
John Wellbelove
b4ea535fc5 Refactored back_inserter support 2023-10-23 19:33:37 +01:00
John Wellbelove
804651f3eb Merge branch 'feature/Base64-codec' of https://github.com/ETLCPP/etl into feature/Base64-codec
# Conflicts:
#	include/etl/base64.h
#	include/etl/version.h
#	library.json
#	library.properties
#	test/test_base64_RFC4648_with_padding.cpp
#	version.txt
2023-10-23 10:05:27 +01:00
John Wellbelove
b99fa790c2 Refactor to support multiple RFCs 2023-10-23 10:01:33 +01:00
John Wellbelove
a92b28fdea Renamed test file 2023-10-23 10:01:33 +01:00
John Wellbelove
5dad4402c6 Added padding flag 2023-10-23 10:01:33 +01:00
John Wellbelove
702b0ef3a2 Removed static from encode and decode functions 2023-10-23 10:01:33 +01:00
John Wellbelove
5ad7fd2f90 Static version of Base64 - RFC-6848 - No optional padding 2023-10-23 10:01:32 +01:00
John Wellbelove
fd67662a8e Updates 2023-10-23 10:00:49 +01:00
John Wellbelove
d9e672d066 Renamed test file 2023-10-21 18:18:26 +01:00
John Wellbelove
ab1c3db7d9 Added padding flag 2023-10-21 11:41:35 +01:00
John Wellbelove
531cdbc872 Removed static from encode and decode functions 2023-10-21 10:41:06 +01:00
John Wellbelove
2ea76c99af Static version of Base64 - RFC-6848 - No optional padding 2023-10-21 10:27:42 +01:00
John Wellbelove
a1e5f1c7c9 Updates 2023-10-15 11:45:44 +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
d30026ec64 Fix maybe-uninitialized warning 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
6ee6177e82 Added -> operator test 2023-10-13 21:32:30 +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
fd920fcc7e Test name updates 2023-09-25 16:55:19 +01:00
John Wellbelove
61713b6ce4 Refactored storage for etl::optional 2023-09-24 18:54:24 +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
9a73f5e3a5 Enabled etl::overload for C++11 & C++14 2023-09-20 23:06:45 +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
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
b6e75065f4 Merge branch 'feature/#757-Add-time-date-classes' of https://github.com/ETLCPP/etl into feature/#757-Add-time-date-classes 2023-09-20 21:29:16 +01:00
John Wellbelove
c509333c1f Merge branch 'feature/#757-Add-time-date-classes' of https://github.com/ETLCPP/etl into feature/#757-Add-time-date-classes 2023-09-17 19:49:49 +01:00
John Wellbelove
f9d27d93ba Merge branch 'feature/#757-Add-time-date-classes' of https://github.com/ETLCPP/etl into feature/#757-Add-time-date-classes 2023-09-14 18:49:45 +01:00
John Wellbelove
8c78fdab04 Work in progress 2023-09-12 09:53:18 +01:00
John Wellbelove
929506760c MacOS clang span issue 2023-09-04 10:39:42 +01:00
John Wellbelove
fc63a51fc6 MacOS clang span issue 2023-09-04 09:42:53 +01:00
John Wellbelove
ec8dea9692 Re-enabled tests 2023-09-03 23:50:24 +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
94654689e8 Removed semicolon warnings 2023-08-29 09:25:58 +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
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
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
45fb06af3f Changes require for non-virtual messages 2023-08-18 20:51:36 +01:00
John Wellbelove
f927a1b639 Re-enabled tests for etl::string_ext 2023-08-15 12:45:04 +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
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
John Wellbelove
81d2ec0f8d Added etl::bit_v for C++17 2023-08-10 12:08:42 +01:00
John Wellbelove
0f185c3fea Made unit test suite names unique 2023-08-10 12:08:42 +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
f9da1cde9b Made unit test suite names unique 2023-08-09 08:57:50 +01:00
John Wellbelove
1225b42b06 Resolve all C++ -O2 warnings 2023-08-07 08:38:52 +01:00
John Wellbelove
012c2b2d34 Resolve all C++ -O2 warnings 2023-08-07 08:18:49 +01:00
John Wellbelove
d7fd06f795 Resolve all C++ -O2 warnings 2023-08-07 08:04:19 +01:00
John Wellbelove
a083479fcc Resolve all C++ -O2 warnings 2023-08-07 07:33:59 +01:00
John Wellbelove
8b5ff06e44 Resolve all C++ -O2 warnings 2023-08-06 23:39:11 +01:00
John Wellbelove
cf7ed3accb Add move to test message move constructor and assignment 2023-08-04 11:58:32 +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
1b70808386 Changed assignment from etl::unexpected to use variant::emplace instead of direct assignment 2023-08-03 09:54:31 +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
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
John Wellbelove
73c96a4c6c Added etl::forward_like 2023-07-15 09:51:08 +01:00
John Wellbelove
86b147d2a4 Updated version and release notes 2023-07-10 21:10:07 +01:00
John Wellbelove
f9e9ff8395 Merge branch 'development' of https://github.com/ETLCPP/etl into development 2023-07-05 20:19:26 +01:00
John Wellbelove
cb99d47f81 Refactored parallel build methods 2023-07-04 18:20:20 +01:00
John Wellbelove
dda6ae53c8 Refactored parallel build methods 2023-07-04 11:46:00 +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
John Wellbelove
e034a92412 Changed test order 2023-07-04 11:45:59 +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
3cb1c956b0 Fix tests after addition of ETL_NODISCARD 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
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
177299977d Refactored visitor and variant to allow const variants and fix passing references to visitors 2023-07-04 11:41:00 +01:00
John Wellbelove
83f439628b Added missing colour change 2023-07-04 11:41:00 +01:00
John Wellbelove
c7b4e349ea Fix mem_cast_tests 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
John Wellbelove
085d2c580a Fix flat map const placement new issue 2023-06-04 15:57:37 +01:00
John Wellbelove
d95c1cbc6d Disabled address sanitizer (temporarily) 2023-06-04 15:44:48 +01:00
John Wellbelove
1315404ed8 Re-enable memcast tests 2023-06-04 15:41:29 +01:00
John Wellbelove
5f9290b8d1 #698 Behaviour of bidirectional_link nodes 2023-05-31 11:32:46 +01:00
John Wellbelove
76bb902034 Added missing header include. 2023-05-28 10:03:46 +01:00
John Wellbelove
ad29aaff10 Clean-up of VS2022 project configurations 2023-05-22 18:27:35 +01:00
John Wellbelove
f78f068e40 Removed unused declaration 2023-05-19 19:33:50 +01:00
John Wellbelove
e9a5f4bc10 Merge branch 'development' of https://github.com/ETLCPP/etl into development
# Conflicts:
#	include/etl/private/variant_variadic.h
#	test/test_variant_variadic.cpp
2023-05-16 10:24:41 +01:00
John Wellbelove
a2af90b155 Removed Intel configurations 2023-05-16 10:17:17 +01:00
John Wellbelove
7e1a59d939 etl::variant updates and refactor 2023-05-16 10:16:53 +01:00
John Wellbelove
e21426112e etl::overload in C++17 only 2023-05-16 10:15:01 +01:00
John Wellbelove
b7a1b65276 Added const overloads of accept_visitor & accept_functor.
Marked all overloads od accept_visitor & accept_functor as deprecated.
Added new universal accept member function.
2023-05-15 17:22:07 +01:00
John Wellbelove
e127ef73f5 Added const overloads of accept_visitor & accept_functor.
Marked all overloads od accept_visitor & accept_functor as deprecated.
Added new universal accept member function.
2023-05-15 17:03:03 +01:00
John Wellbelove
868b3f31f9 #695 Visiting a const variant (variadic) 2023-05-13 20:58:48 +01:00
John Wellbelove
3425c6fe42 Updated release notes and msvc project 2023-05-11 20:50:31 +01:00
John Wellbelove
688ac131bb Removed [] operator 2023-05-11 09:50:05 +01:00
John Wellbelove
1c333bbe07 #691 etl::span copy constructor doesn't compile when types are not the same 2023-05-08 19:00:06 +01:00
John Wellbelove
f4b8fd73c6 Updated Github actions yml files 2023-05-08 17:19:01 +01:00
John Wellbelove
b69e284978 Updated Github actions yml files 2023-05-08 11:55:19 +01:00
John Wellbelove
3aa4a8af03 Sanity check CI test 2023-05-07 10:20:26 +01:00
John Wellbelove
10ea982ac9 Sanity check CI test 2023-05-07 08:37:31 +01:00
John Wellbelove
78afa95ca1 Sanity check CI test 2023-05-07 08:25:23 +01:00
John Wellbelove
b431afec9c Sanity check CI test 2023-05-07 08:19:32 +01:00
John Wellbelove
fbe703bb1c Merge branch 'feature/sanity-checks-for-github-ci' of https://github.com/ETLCPP/etl into feature/sanity-checks-for-github-ci
# Conflicts:
#	.github/workflows/sanity-checks.yml
2023-05-06 20:09:52 +01:00
John Wellbelove
97b6bb0925 Sanity check CI test 2023-05-06 19:07:38 +01:00
John Wellbelove
33be61e523 Sanity check CI test 2023-05-06 19:06:01 +01:00
John Wellbelove
ef4b47d93c Fixed selection of std/etl size() 2023-05-05 12:43:54 +01:00
John Wellbelove
47398cb824 Enhanced C++03 & C++14 compatibility 2023-05-02 09:04:48 +01:00
John Wellbelove
b7aa13ad19 Enhanced C++03 compatibility 2023-05-02 08:09:06 +01:00
devjoa
40c4fc7c10
feat(span): Add 'as_bytes' and 'as_writable_bytes' (#689)
These functions emulates the std C++20 functions std::as_bytes and
std::as_writable_bytes.
2023-05-01 23:39:55 +01:00
John Wellbelove
8a46297486 Added include to delegate tests 2023-05-01 23:38:19 +01:00
John Wellbelove
d447ca5ba8 Merge branch 'hotfix/#682-hfsm-start()-does-not-update-state-for-call_on_enter_state-=-true' into development
# Conflicts:
#	include/etl/hfsm.h
2023-05-01 17:14:35 +01:00
John Wellbelove
e0361f05ab Added recursive enter for child states. 2023-05-01 17:12:26 +01:00
John Wellbelove
7a131acc54 New tests for delegate 2023-05-01 15:22:00 +01:00
John Wellbelove
9f4c5bbb94 C++11 unit tests - Work in progress 2023-04-30 11:06:23 +01:00
John Wellbelove
cb91c3d4d3 Added help for script 2023-04-29 11:17:25 +01:00
John Wellbelove
223a2857a1 Tabs for spaces 2023-04-29 11:16:59 +01:00
John Wellbelove
f692c67b4f Merge branch 'feature/c++14-tests' into development
# Conflicts:
#	include/etl/generators/type_traits_generator.h
#	test/vs2022/etl.vcxproj.filters
2023-04-28 11:52:09 +01:00
John Wellbelove
4a36990cb1 Merge branch 'master' of https://github.com/ETLCPP/etl 2023-04-28 11:41:47 +01:00
John Wellbelove
801c6735cf Fixed Address Sanitizer issues 2023-04-28 10:32:58 +01:00
John Wellbelove
aa1d7f0f7f Conversion of static to C++14 compatinility 2023-04-27 09:28:37 +01:00
John Wellbelove
b609548f38 Added ETL_OR_STD17 macro for the namespace for size() 2023-04-23 18:58:30 +01:00
David Ockey
49f63cd789
Added sanitization fix for MinGW (#684) 2023-04-08 10:52:39 +01:00
John Wellbelove
7b38e5dbe7 Removed test scripts 2023-04-02 11:27:06 +01:00
John Wellbelove
d30992852e Merge branch 'development'
# Conflicts:
#	.github/workflows/msvc.yml
#	test/UnitTest++/Checks.h
#	test/runtests-01.sh
#	test/runtests-O1.sh
#	test/runtests-O2.sh
#	test/runtests-O3.sh
#	test/runtests-c++14.sh
2023-04-02 11:26:37 +01:00
John Wellbelove
1d8d37d22b Removed test scripts 2023-04-02 11:16:47 +01:00
John Wellbelove
363a3e2dab Fix test array sizes
C++14 compiler compatibility

Updated test run scripts

Changed some ETL_ASSERT macros to ETL_ASSERT_OR_RETURN

Changed unit test macros for C++20 compaibility

Updated test run scripts

Updated CMake files to allow C++ standard selection

Replaced ETL_ASSERT_AND_RETURN with ETL_ASSERT_OR_RETURN

Updated C++14 & C++20 unit test compatibility

Changed native char8_t check

Added optional optimisation argument to bash script
2023-04-02 11:06:43 +01:00
John Wellbelove
578aea502b Work in progress 2023-04-02 11:06:42 +01:00
John Wellbelove
3c6c1ed527 Work in progress 2023-04-02 11:06:42 +01:00
John Wellbelove
4e79554dee #675 Compilation error in optional.h line 405
Changes for compatibility with C++20

Restore C++17 unit test compatibility
2023-04-02 11:06:42 +01:00
John Wellbelove
4ebd1da37d Renamed visual-studio.yml to msvc.yml 2023-04-02 11:06:42 +01:00
John Wellbelove
c74b2cdf90 Renamed Github vs2022.yml to visual-studio.yml 2023-04-02 11:06:41 +01:00
John Wellbelove
b85d3342f7 Run Github CI with GCC 12 2023-04-02 11:06:41 +01:00
John Wellbelove
d3d5b9cf57 Updated Github CI to use checkout@v3 2023-04-02 11:06:41 +01:00
John Wellbelove
16b72f62d1 Modified CI for Github 2023-03-30 13:07:34 +01:00
John Wellbelove
1ab6eb7278 Modified CI for Github 2023-03-30 13:01:23 +01:00
John Wellbelove
db6cf143f2 Update Unittest++ checks 2023-03-29 10:03:14 +01:00
John Wellbelove
8eabe5fb26 Fix test array sizes
C++14 compiler compatibility

Updated test run scripts

Changed some ETL_ASSERT macros to ETL_ASSERT_OR_RETURN

Changed unit test macros for C++20 compaibility

Updated test run scripts

Updated CMake files to allow C++ standard selection

Replaced ETL_ASSERT_AND_RETURN with ETL_ASSERT_OR_RETURN

Updated C++14 & C++20 unit test compatibility

Changed native char8_t check

Added optional optimisation argument to bash script
2023-03-25 12:16:59 +00:00
John Wellbelove
bb3faea614 Merge branch 'development' into feature/c++14-tests
# Conflicts:
#	.gitignore
#	test/vs2019/etl.vcxproj
2023-03-15 12:49:11 +00:00
John Wellbelove
574e041485 #675 Compilation error in optional.h line 405
Changes for compatibility with C++20

Restore C++17 unit test compatibility
2023-03-15 10:28:55 +00:00
John Wellbelove
057c162c07 Renamed visual-studio.yml to msvc.yml 2023-03-10 10:56:36 +00:00
John Wellbelove
6a982b8053 Renamed Github vs2022.yml to visual-studio.yml 2023-03-09 11:34:02 +00:00
John Wellbelove
a6981d2264 Run Github CI with GCC 12 2023-03-09 10:26:01 +00:00
John Wellbelove
b6460a9689 Updated Github CI to use checkout@v3 2023-03-08 17:09:04 +00:00
John Wellbelove
0676ded8cf Converted Visual Studio project to VS2022 2023-03-08 14:03:24 +00:00
John Wellbelove
405bdd8b8c Convert the Visual Studio project to VS2022 2023-03-07 20:24:01 +00:00
John Wellbelove
bcad53ebb2 Array bounds and maybe-uninitialized warning fixes
Array bounds and maybe-uninitialized warning fixes

Added GCC/clang diagnostic disable for array bounds

Fixed false positive array bounds failure in unit tests

Added -01 & -03 quick tests

Fixed constexpr for exception constructor

Made virtual functions protected

Updated project files

Updated generated file

Updated versions and release notes
2023-03-02 13:15:42 +00:00
John Wellbelove
7bfa2d9429 Merge branch 'development' into hotfix/#649-intrusive_list-array-bounds-test-failure
# Conflicts:
#	include/etl/intrusive_forward_list.h
#	include/etl/intrusive_list.h
#	include/etl/optional.h
#	test/test_optional.cpp
#	test/vs2019/etl.vcxproj.filters
2023-02-28 19:31:33 +00:00
John Wellbelove
8ddf0935d3 Array bounds and maybe-uninitialized warning fixes 2023-02-28 18:33:49 +00:00
John Wellbelove
4844b54c91 #668 byte_stream changes that add error exceptions have changed previous behaviour 2023-02-22 09:36:53 +00:00
John Wellbelove
79d72a1616 Fix alignas syntax 2023-02-20 11:39:03 +00:00
John Wellbelove
c5432e42ff Merge branch 'pull-request/#672-Added-HFSM-specific-start()-and-reset()' into development 2023-02-19 13:56:10 +00:00
John Wellbelove
80b397380d Merge branch 'pull-request/#670-span-equality-operators' into development 2023-02-19 12:13:45 +00:00
John Wellbelove
f66a29589e Updated sanity check make files 2023-02-19 12:13:00 +00:00
John Wellbelove
1c01f98518 Merge branch 'feature/add-repair-to-circular_buffer' into development
# Conflicts:
#	include/etl/file_error_numbers.h
2023-02-19 10:46:07 +00:00
John Wellbelove
db9d93d5e2 Added repair() to etl::circular_buffer 2023-02-19 10:45:19 +00:00
John Wellbelove
7316c07045 Added etl::contruct_object_at, etl::get_object_at and etl::destroy_object_at 2023-02-19 10:43:43 +00:00
John Wellbelove
2c15062c1b Added etl::is_aligned, etl::alignment_exception and etl::alignment_error 2023-02-19 10:41:43 +00:00
David Ockey
055ce0d442
Added HFSM-specific start() and reset() (#672)
* Added HFSM specific Start and Reset

* Added unit tests for HFSM start() and reset()

* Updated FSM generator
2023-02-16 08:53:17 +00:00
John Wellbelove
eb3593d2ef Added ""_sv string view operators 2023-02-13 11:40:36 +01:00
John Wellbelove
2b96628850 Merge branch 'add-m17-crc' into development
# Conflicts:
#	test/vs2019/etl.vcxproj.filters
2023-02-12 11:46:39 +01:00
John Wellbelove
26caa70981 Added M17 CRC 2023-02-12 11:44:59 +01:00
John Wellbelove
8491133351 Work in progress 2023-02-12 11:26:03 +01:00
John Wellbelove
f93ce1f6c7 Merge branch 'pull-request/#670-span-equality-operators' into development 2023-02-09 18:25:45 +01:00
KurtisT
36a9d70d7c
Feature/span equality operators (#670)
* feat: implement equality operator

* test: test equality operator

* feat: implement not equal operator

* test: test not equal operator

---------

Co-authored-by: Kurtis Thrush <kthrush@jlg.com>
2023-02-09 18:13:14 +01:00
John Wellbelove
24e871cca2 Merge branch 'feature/#615-addition-of-etl--expected' into development 2023-02-09 14:22:48 +01:00
John Wellbelove
a1ce449d83 C++03 compatibility changes 2023-02-09 14:22:14 +01:00
John Wellbelove
4fce31b742 Merge branch 'feature/#615-addition-of-etl--expected' into development 2023-02-08 20:34:21 +01:00
John Wellbelove
1d12a86114 Work in progress 2023-02-08 16:40:15 +01:00
John Wellbelove
4c92670a6d Work-In-Progress for full implementation of etl::expected
fix set of ETL_NO_STL flag (#628)

Co-authored-by: Sergey Skorokhod <s.skorokhod@1440.space>

Removed duplicate include

unique_ptr updates - Work in progress

Updated versions & memory.h

Fix duplicate function

Fixed incorrect 'valid' flag in assignment operator for arithmetic specialisation

Updated version and release notes

Fix bug #636 in optional emplace for pod types (#638)

Updated version info

Updated generator test script

Only build tests if top level project (#639)

Removed trailing spaces

Updated version info

Incorrect C++03 enable_if syntax

Updated version info

Don't use `push_macro` and `pull_macro` with Tasking compiler (#643)

* Autodetect Tasking compiler

#642

* Don't use `push_macro` and `pop_macro` for Tasking compiler

#642

Co-authored-by: Todd Snider <tsnider@jlg.com>

#643 Don't use push_macro and pull_macro with Tasking compiler

Updated etl::delgate to handle const functors correctly

Updated version info

Fixed functor delegate enable_if

Updated release notes

Avoid 'missing return statement at end of non-void function' in `etl::visit<>()`. (#645)

* Avoid 'missing return statement at end of non-void function' in `etl::visit<>()`.

For some definitions of `ETL_ASSERT()` there may be no return statement in case of an invalid type.
This results in undefined behavior.

Warning[Pe940]: missing return statement at end of non-void function "etl::visit<TReturn,TVisitor,TVariant>(TVisitor &, TVariant const &) include\etl\private\variant_legacy.h 976

* Use more self-explaining code.

Substitute ET_ASSERT() and return by dedicated macro.
This moves the responsibility of how to handle errors to the dedicated place.

improve is_constructible, is_copy_constructible, is_move_constructible for type traits with default definitions (#648)

Removed unused ETL_USE_MEM_BUILTINS option

Updated version info

Updated release notes

Added etl::result<TValue, void> specialisation

Reverted code for etl::result<void, TError> specialisation

Added etl::result<TValue, void> specialisation

Reverted code for etl::result<void, TError> specialisation

Fixed perfect forwarding for make_xxx helper functions

Don't warn on tag missing when subproject (#653) (#655)

Different solution than proposed in the issue, since that proposed
solution would given unexpected results when an intermediate
(untagged) commit is checked out.

This change simply skips warning about a missing git version when this
is a subproject, and uses the original version calculation logic.

I've also renamed `determine_version` to `determine_version_with_file`.
I'd originally done this in an intermediate version of this PR, but I
think that keeping the renaming is clearer code.

Removed superfluous semicolons

Updated version and release notes

Removed testing for 18.04

Added testing for 22.04

Updated Github Actions for Clang

Updated version and release notes

clang updates for Github Actions

Added missing notes

emplace member functions return reference to emplaced value (#659)

emplace_front, emplace_back updates

Updated version and release info

Improved emplace testing

Changed unit test macro CHECK_FALSE_EQUAL to CHECK_NOT_EQUAL

Improved emplace testing

Changed unit test macro CHECK_FALSE_EQUAL to CHECK_NOT_EQUAL

Improved emplace testing

Work-In-Progress

Work-In-Progress

Added indexed emplace

More typedefs for etl::result

Work in progress

Work in progress

Work in progress

Changed default constructor

Added function comments
2023-02-06 20:01:34 +01:00
John Wellbelove
354f2042e6 Work-In-Progress 2023-02-06 19:59:03 +01:00
John Wellbelove
f858b36e82 Work-In-Progress 2023-02-06 19:48:51 +01:00
John Wellbelove
3c8f694024 Updated comment 2023-02-02 19:37:33 +01:00
John Wellbelove
df6f6d9d96 Added destination_router_id parameter overrides to receive() virtuaL functions 2023-01-29 20:46:41 +01:00
John Wellbelove
f1a9705d88 Work in progress 2023-01-26 19:24:58 +00:00
John Wellbelove
e67811065d Change iterator constructor parameter from reference to pointer
Updated release notes

Update README.md

Added link to documentation

Additional constructors for an initial value
2023-01-26 13:30:22 +00:00
John Wellbelove
f4dd3c3363 Work in progress 2023-01-25 19:51:19 +00:00
John Wellbelove
3beff56587 Fixed byte_stream_reader skip()
Change '<' to '<='
2023-01-19 10:31:39 +00:00
John Wellbelove
e255b34ecd Added emplace by index to variant (variadic) 2023-01-19 09:57:03 +00:00
John Wellbelove
8b0c2325af Improved emplace testing 2023-01-07 19:02:56 +00:00
John Wellbelove
044fc1b2ff Improved emplace testing
Changed unit test macro CHECK_FALSE_EQUAL to CHECK_NOT_EQUAL
2023-01-07 18:46:59 +00:00
John Wellbelove
a398207e3d emplace_front, emplace_back updates 2023-01-07 15:20:25 +00:00
Alex Hirsch
a507f8f2a6
emplace member functions return reference to emplaced value (#659) 2023-01-07 12:18:55 +00:00
John Wellbelove
a01e974d7d Added etl::result<TValue, void> specialisation
Reverted code for etl::result<void, TError> specialisation
2022-12-28 17:57:09 +00:00
John Wellbelove
22fce72e74 Removed unused ETL_USE_MEM_BUILTINS option 2022-12-22 19:00:10 +00:00
Eyal Abramovitch
688c404d37
improve is_constructible, is_copy_constructible, is_move_constructible for type traits with default definitions (#648) 2022-12-22 16:20:45 +00:00
John Wellbelove
c9565d1fd9 Updated etl::delgate to handle const functors correctly
Updated version info

Fixed functor delegate enable_if
2022-12-17 13:33:30 +00:00
Chiraffollo
82c2f8a26d
Fix bug #636 in optional emplace for pod types (#638) 2022-11-23 09:25:24 +00:00
John Wellbelove
54fe9e2554 Fixed incorrect 'valid' flag in assignment operator for arithmetic specialisation 2022-11-16 18:21:46 +01:00
John Wellbelove
02a3083015 unique_ptr updates - Work in progress 2022-11-07 20:53:10 +00:00
John Wellbelove
85d40b9dda Remove pointer only etl::to_arithmetic API 2022-10-31 17:04:53 +00:00
John Wellbelove
ae649322c1 Fixed macro names in sanity check profiles 2022-10-31 10:49:43 +00:00
John Wellbelove
d93c330b76 Finalised etl::to_arithmetic 2022-10-29 21:37:46 +01:00
John Wellbelove
743d4e32ca Finished floating point conversions and tests 2022-10-24 14:24:28 +01:00
John Wellbelove
7b9c1f97ad Added etl::to_arithmetic tests 2022-10-23 19:51:14 +01:00
John Wellbelove
8e1ec778a3 Updated sanity checks to include etl::to_arithmetic 2022-10-23 19:50:09 +01:00
John Wellbelove
5cae6659ba Added float error handling 2022-10-21 15:05:33 +01:00
John Wellbelove
9aea4bf1cc Work-In-Progress 2022-10-20 14:36:44 +01:00
John Wellbelove
f4357899ed Work-In-Progress
Integral functions
2022-10-19 19:33:20 +01:00
John Wellbelove
17edf62869 Work-In-Progress 2022-10-19 19:33:20 +01:00
John Wellbelove
e1aac23b71 Work-In-Progress 2022-10-19 19:33:20 +01:00
John Wellbelove
9da73f474a Work-In-Progress 2022-10-19 19:33:20 +01:00
John Wellbelove
dd89aa10fd Work-In-Progress 2022-10-19 19:33:19 +01:00
John Wellbelove
552b6360a5 Work-In-Progress
Alternate decoding
2022-10-19 19:33:19 +01:00
John Wellbelove
7e33c6a96b Work-In-Progress
Function parameter radix implementation
2022-10-19 19:33:19 +01:00
John Wellbelove
8f90d117c1 Refactored to_arithmetic 2022-10-19 19:33:19 +01:00
John Wellbelove
e122a62680 First implementation ideas 2022-10-19 19:33:18 +01:00
John Wellbelove
103c443386 Work-In-Progress
Alternate decoding
2022-10-19 19:30:52 +01:00
John Wellbelove
6746c4244f Work-In-Progress
Function parameter radix implementation
2022-10-19 19:30:52 +01:00
John Wellbelove
ee7f9469dc Refactored to_arithmetic 2022-10-19 19:30:52 +01:00
John Wellbelove
3d412e6e7d First implementation ideas 2022-10-19 19:30:51 +01:00
John Wellbelove
ce2a8ba0fc Updated string_view and char traits 2022-10-19 19:14:51 +01:00
John Wellbelove
b619ed22f4 Remove unused C compiler setup 2022-10-19 19:13:52 +01:00
John Wellbelove
1d6886ab6e Disable 'unititialized' warning for classes that use uninitialized buffers 2022-10-19 19:12:37 +01:00
John Wellbelove
c5257e6441 Updated VS2019 files 2022-10-19 12:22:52 +01:00
John Wellbelove
e81ffd0b3e Copied test file list from CMakeLists.txt 2022-10-19 12:22:52 +01:00
Eric Vantillard
ccdd5c2033 Update test sources in meson build (#604)
- Update list of tests according to CMakeLists.txt content.
- Update compiler args :
	- Add same arguments as in CMakeLists.txt.
	- Remove non-vitual-dtor warnings (code need to be fixed before enabling this warning).
	- Enable sanatizer.
- Add unittest-cpp subproject as a wrap dependency.
- Add `meson test`target to start the `etl_unit_tests` program.
2022-10-19 12:22:52 +01:00
John Wellbelove
0097f18746 VS2022 sln 2022-10-19 12:22:52 +01:00
John Wellbelove
b76e9ba553 Remove redundant functions 2022-10-19 12:22:52 +01:00
Joris Putcuyps
b88c088bd6 Provide cmake library for UnitTest++. (#616)
* Provide cmake library for UnitTest++.
Prefer cmake target_* commands.

* Replace wrong cmake link options with compile

* We need the sanitize flags also in linker
2022-10-19 12:22:52 +01:00
Chiraffollo
e1099814b9 fix bug in find_next of (new) bitset class (#618) 2022-10-19 12:22:51 +01:00
John Wellbelove
a5c57521cb Fix small issues
Move tests to test_iterator
2022-10-19 12:22:51 +01:00
Eric Vantillard
445f950a82 Feature/add back insert iterator (#603)
* Add back_inserter implementation

- Mainly a copy of the STL implementation found in LLVM.
- Add test_back_insert_iterator unit test.

* Add documentation and use ETL_OR_STD macro

* Add MIT License in header

* Move back_insert_iterator into iterator.h

* Remove unused code

* Strictly follow the C++ STL naming

https://en.cppreference.com/w/cpp/iterator/back_insert_iterator
Strictly following the C++ STL would have container_ be container.

* Make the check for C++11 clearer

* Run the unit test only for C++11

* Add front_insert_iterator

- Make back_insert_iterator available to C++03
- Add ETL_CONSTEXPR17,ETL_NODISCARD and ETL_USING_CPP11
- Replace std:move usage by etl::move
- Update doc

* Use explicit namespace for adressof() and move().
2022-10-19 12:22:51 +01:00
Jesse Li
1b3d226547 Fix non-usage of key equal function (#606)
Co-authored-by: Jesse <jli@planarmotor.com>
2022-10-19 12:22:51 +01:00
Jesse Li
2beceddfd6 [bug] Special case check for hashing -0.0 (#605)
* Special case check for hashing 0 floating point numbers

* Update test_hash.cpp

Co-authored-by: Jesse <jli@planarmotor.com>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2022-10-19 12:22:51 +01:00
John Wellbelove
7a1f9f961e Storage type to unsigned char 2022-10-19 12:20:43 +01:00
John Wellbelove
edb6c87a2d Added select1st and select2nd 2022-10-19 12:20:42 +01:00
Eric Vantillard
b5182dd83e Feature/add pair functors (#610)
* Move __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS before `#include <stdint.h>`. (#601)

Macros must be defined before first include of stdint.h. Else they have no effect.

* Replace ETL_COMPILER_ICCAVR by ETL_COMPILER_IAR. (#602)

The current definition mechanism for ETL_COMPILER_ICCAVR does not work. Both IAR compilers, for ARM and AVR define `__IAR_SYSTEMS_ICC__`. Thus `ETL_COMPILER_TYPE_DETECTED` will be defined in line before ETL_COMPILER_ICCAVR is defined. This switch will never be entered.

Currently I see no reason for differentiating both compilers (`__ICCARM__` and `__ICCAVR__`). The condition for the IAR compiler platform (`__IAR_SYSTEMS_ICC__`) is sufficient (combined with <C++11 detection).

At the moment ETL_COMPILER_ICCAVR is used as a switch condition for using `#pragma push_macro`. But actually IAR ARM and IAR AVR have no such macro defined. ETL_COMPILER_IAR is defined for both compilers. Thus the switch condition is replaced with ETL_COMPILER_IAR.

* Fix 'maybe-uninitialized' g++ error on macos (#600)

* Add documentation to the pair class

* Add test directory to the EXAMPLE_PATH

* Update .gitignore

- Remove duplicate entries
- Add doxygen output directories

* Add Select1st and Select2nd functors

* Merge select1st and select2nd into utility.h

Co-authored-by: David Hebbeker <dhebbeker@users.noreply.github.com>
2022-10-19 12:20:42 +01:00
Eric Vantillard
6ac2087368 Fix 'maybe-uninitialized' g++ error on macos (#600) 2022-10-19 12:20:42 +01:00
John Wellbelove
d63be881a4 Fix warnings 2022-09-12 12:21:37 +01:00
John Wellbelove
c39ed5af80 Attempt to fix clang CI error 2022-09-12 00:00:06 +01:00
John Wellbelove
cc17c93ef2 Attempt to fix clang CI error 2022-09-11 23:48:02 +01:00
John Wellbelove
31edd14a8c Attempt to fix clang CI error 2022-09-11 23:31:17 +01:00
John Wellbelove
b4e4bcc6b3 Attempt to fix clang CI error 2022-09-11 22:50:01 +01:00
John Wellbelove
d7609360e8 Attempt to fix clang CI error 2022-09-11 21:11:27 +01:00
John Wellbelove
89d17dd773 Attempt to fix clang CI error 2022-09-11 20:50:56 +01:00
John Wellbelove
d62f2bc666 Attempt to fix clang CI error 2022-09-11 20:32:09 +01:00
John Wellbelove
8d99194528 Attempt to fix clang CI error 2022-09-11 20:10:26 +01:00
John Wellbelove
e99a1a5845 Attempt to fix clang CI error 2022-09-11 19:50:09 +01:00
John Wellbelove
11c520fbaf Attempt to fix clang CI error 2022-09-11 19:20:11 +01:00
John Wellbelove
93aa08682c Attempt to fix clang CI error 2022-09-11 18:34:06 +01:00
John Wellbelove
f8d9eb0f46 Attempt to fix clang CI error 2022-09-11 18:02:27 +01:00
John Wellbelove
471c86828b Attempt to fix clang CI error 2022-09-11 17:09:29 +01:00
John Wellbelove
4645b7bf23 Attempt to fix clang CI error 2022-09-11 16:28:12 +01:00
John Wellbelove
92327d55f8 Reduce number of threads used to compilation 2022-09-11 00:59:04 +01:00
John Wellbelove
7b733f73ad Minor updates to bitset
Added bitset_ext tests to cmake
2022-09-11 00:57:00 +01:00
John Wellbelove
e78e7b474a Added etl:lsb_mask, etl::make_lsb_mask, etl::msb_mask and etl::make_msb_mask 2022-09-11 00:55:55 +01:00
John Wellbelove
2d0d744c74 Updated etl::bitset and added etl::bitset_ext 2022-09-08 20:11:20 +01:00
John Wellbelove
e8cc472ac9 Finished etl::circular_iterator an circular extensions to etl::span 2022-09-06 19:43:01 +01:00
John Wellbelove
dc0ab72e09 circular_span first draft 2022-09-06 10:59:49 +01:00
John Wellbelove
25adb3c68c Almost finalised circular_iterator and tests 2022-09-04 23:44:51 +01:00
John Wellbelove
2c0f56841e Almost finalised circular_iterator and tests 2022-09-04 21:05:22 +01:00
John Wellbelove
13a1ce6f8e Merge branch 'feature/circular_iterator' of https://github.com/ETLCPP/etl into feature/circular_iterator 2022-09-03 13:24:46 +01:00
John Wellbelove
15fd907549 Merge branch 'hotfix/#582-unordered_set-equality-comparison-fails-when-hash-collisions-occur' into development 2022-09-03 11:57:11 +01:00
John Wellbelove
eceaa23f47 #584 unordered_set::const_iterator has incorrect value_type 2022-09-03 11:56:24 +01:00
John Wellbelove
7c5a6e49a1 Fixed unordered container equality tests to match STL 2022-09-02 20:40:17 +01:00
John Wellbelove
60204d95b6 Initial test for unordered_set 2022-09-02 15:59:21 +01:00
John Wellbelove
201c1fb918 Merge branch 'hotfix/#583-permit-non-default-constructable-hashes-and-key-equals-in-unordered_map' into development 2022-09-02 13:32:23 +01:00
John Wellbelove
4f5847e189 Updates for unordered maps and sets for an API that better matches the STL 2022-09-02 13:32:00 +01:00
Jesse Li
aab900f002
Permit non-default-constructable hashes and key-equals (#583)
Co-authored-by: Jesse <jli@planarmotor.com>
2022-09-01 19:41:09 +01:00
John Wellbelove
b00929ef09 Merge branch 'feature/#581-hash-functions-for-enum' into development 2022-09-01 19:26:35 +01:00
Jesse Li
a38a8fc33c
#227 Hash function for enums (#581)
* #227 Hash function for enums

* Move enum hash definition to bottom, so gcc doesn't complain about it

* Explicitly specify etl hash

Co-authored-by: Jesse <jli@planarmotor.com>
2022-09-01 19:10:35 +01:00
John Wellbelove
f0862971c1 Merge branch 'hotfix/#585-etl-result-void-being-unusable-due-to-deleted-default-constructor' into development 2022-09-01 18:56:46 +01:00
Eyal Abramovitch
927491c763
Fix etl::result<void> being unusable due to deleted default constructor (#585) 2022-08-31 12:43:56 +01:00
John Wellbelove
59ffb54fa4 Changed explicit message constructor for unsupported message types. 2022-08-31 11:54:08 +01:00
John Wellbelove
64fa058f6b Work in progress 2022-08-26 09:49:13 +01:00
John Wellbelove
5aa14f85aa Revert "Work in progress"
This reverts commit b3a77d6f83088a01969a3164373166d14ce36639.
2022-08-26 09:47:05 +01:00
John Wellbelove
b3a77d6f83 Work in progress 2022-08-26 09:40:54 +01:00
John Wellbelove
4ad7544c7f Modified scripts for latest CMake 2022-08-23 18:05:18 +01:00
John Wellbelove
2e7b635bfd Add asserts in to_string 2022-08-19 22:19:48 +01:00
John Wellbelove
ec4fb59b89 More to_string tests
Removed asserts so all functions are noexcept
2022-08-19 10:22:57 +01:00
John Wellbelove
e1bd545391 Major changes complete 2022-08-18 22:02:34 +01:00
John Wellbelove
7868445166 Work in progress
Modify specialisations for bitset element types
2022-08-17 20:35:44 +01:00
John Wellbelove
72263a9ced Work in progress
More tests
2022-08-16 18:10:05 +01:00
John Wellbelove
2d9c8ccd2a Work in progress
Start single element optimisations
2022-08-15 16:33:35 +01:00
John Wellbelove
42d272cae4 Work in progress
All tests for implicit bitset element type enabled
2022-08-15 14:57:42 +01:00
John Wellbelove
3a4af24ab7 Work in progress
Added more CHECK macros
Added bitset_fast class for bitsets that are the same size as an integral type
2022-08-13 12:15:41 +01:00
John Wellbelove
3ee5abf74b Work in progress 2022-08-12 13:39:24 +01:00
John Wellbelove
2df71e4384 Optimised bitset shift operations 2022-08-09 12:45:29 +01:00
John Wellbelove
17bb22992e Changed etl::size to std::size in the tests 2022-08-09 12:45:29 +01:00
John Wellbelove
648d5bf527 Added check macro that outputs hex digits 2022-08-09 12:45:29 +01:00
John Wellbelove
ccfce560ae Optimised shifts 2022-08-09 12:45:29 +01:00
John Wellbelove
9d33f9bf28 Added ability to set the bitset from wchar_t, char16_t and char32_t 2022-08-05 09:46:09 +01:00
John Wellbelove
e4966b1b20 Added missing char_traits unit tests and char_traits bug fixes 2022-08-04 15:36:10 +01:00
John Wellbelove
2da99e81e6 Added missing char_traits unit tests and char_traits bug fixes 2022-08-04 15:31:09 +01:00
John Wellbelove
fda4d704c3 Minor changes 2022-08-02 11:42:57 +01:00
John Wellbelove
b80835108e Merge branch 'feature/message-broker' into development 2022-08-01 16:13:05 +01:00
John Wellbelove
3ad60c1e6c Finished message_broker code 2022-08-01 16:12:33 +01:00
John Wellbelove
18f78348d2 Added CMake updates 2022-08-01 13:05:56 +01:00
John Wellbelove
838cdc24af Finished message_broker code 2022-08-01 13:00:20 +01:00
John Wellbelove
40290c4fa2 Partial implementation 2022-07-31 13:55:23 +01:00
John Wellbelove
e5fea50fab Standardise conditional compilation macros for ETL_USING_CPP11 and ETL_USING_STL 2022-07-31 09:53:34 +01:00
John Wellbelove
1fa2116bd1 #573 more comfortable circular_buffer_ext construction 2022-07-28 15:55:38 +01:00
John Wellbelove
a89db201c5 Merge branch 'development' of https://github.com/ETLCPP/etl into development 2022-07-28 08:23:55 +01:00
benedekkupper
747867f1fa
Bip buffer improvements (#575)
* bip-buffer-spsc-atomic: read reserve default size is all available data

* bip-buffer-spsc-atomic: add API to write reserve in buffer space optimal way
2022-07-28 08:18:47 +01:00
John Wellbelove
cd18cc6af0 Eradicated all GCC and clang warnings 2022-07-27 10:42:03 +01:00
John Wellbelove
b2e1c35540 Fixed swap function for circular_buffer_ext
Fixed circular_buffer iterator -> operators
Added functions and macros to etl::debug_count
2022-07-24 12:56:44 +01:00
John Wellbelove
4316a4d7af Added tests for error handler macros
Fixed missing value parameter for exception + log configuration
2022-07-24 12:52:58 +01:00
John Wellbelove
a2e02d8dfa Added Log Errors event handler tests 2022-07-20 16:07:32 +01:00
John Wellbelove
4b465f64c4 Merge branch 'development' of https://github.com/ETLCPP/etl into development
# Conflicts:
#	test/vs2019/etl.vcxproj
2022-07-20 14:33:38 +01:00
John Wellbelove
adf9d690e1 Updated version and release notes 2022-07-20 14:32:43 +01:00
John Wellbelove
17b2a12482 Updated version and release notes 2022-07-20 14:10:40 +01:00
John Wellbelove
67c2efb85c Added is_enum 2022-07-14 17:31:20 +01:00
Jesse Li
4d4a3c8ab9
is_enum (#561) 2022-07-14 15:38:49 +01:00
John Wellbelove
bcf147f096 Added etl::poly_span
Refacted parts of etl::span
2022-07-14 12:19:08 +01:00
John Wellbelove
f05f74fbd1 Work in progress 2022-07-12 13:16:11 +01:00
John Wellbelove
adf9bd5c20 Work in progress 2022-07-10 14:09:46 +01:00
John Wellbelove
9dca59bf40 etl::poly_span without etl::dynamic_extent 2022-07-04 20:24:39 +01:00
John Wellbelove
e6fdd324b9 Null pointer check fix for GCC 2022-07-04 19:51:35 +01:00
John Wellbelove
50f5319382 Legacy variant is in namespace etl::legacy if ETL_IN_UNIT_TEST is not defined 2022-07-04 10:46:08 +01:00
John Wellbelove
638de5bd40 Merge branch 'hotfix/#560-unable-to-upcast-legacy-variant' into development 2022-07-02 21:19:47 +01:00
John Wellbelove
3c07f46158 #560-unable-to-upcast-legacy-variant
Refactor of upcast to eliminate upcast_functor
Added is_base_of member function
2022-07-02 21:19:15 +01:00
John Wellbelove
a074b42b91 Added non-member etl::send_message for etl::shared_message 2022-06-27 11:03:23 +01:00
John Wellbelove
c0923e1d6a Fix to message_packet
Fix tests for atomic under GCC
2022-06-24 15:59:25 +01:00
John Wellbelove
1b3445d11a Fixed etl::message_packet issues 2022-06-24 14:58:53 +01:00
John Wellbelove
3c26ffea4e dded etl::byte_stream_overflow assert to byte_stream_reader 'skip'. 2022-06-23 19:49:20 +01:00
John Wellbelove
aedb151b89 Renamed cumulative_moving_average to pseudo_moving_average 2022-06-23 13:47:49 +01:00
John Wellbelove
829d9fa220 Renamed cumulative_moving _average to pseudo_moving_average
Modified etl::debounce internal enumeration names to avoid clashes with Arduino
2022-06-22 17:37:59 +01:00
John Wellbelove
22060623fc Added skip functions 2022-06-22 10:05:14 +01:00
John Wellbelove
5a460f7fec Latest refactoring
Added little endian bit stream reader tests
2022-06-19 18:37:20 +01:00
John Wellbelove
d1a522eb68 Updated CMakeLists.txt with new bit_stream tests 2022-06-18 21:20:06 +01:00
John Wellbelove
fefe6d3975 Added endianness to bit_stream_writer 2022-06-18 20:57:26 +01:00
John Wellbelove
c83b222690 Merge branch 'feature/bit_stream-reader-and-writer-like-byte_stream' of https://github.com/ETLCPP/etl into feature/bit_stream-reader-and-writer-like-byte_stream
# Conflicts:
#	test/test_atomic.cpp
#	test/vs2019/etl.vcxproj.filters
2022-06-15 11:46:48 +01:00
John Wellbelove
bf49fe60e6 Finished bit_stream_reader tests 2022-06-15 11:43:55 +01:00
John Wellbelove
f88999bb12 Latest updates to bit_stream_reader 2022-06-15 11:43:54 +01:00
John Wellbelove
11b97359fb Changed 'expected_data' to 'expected' 2022-06-15 11:43:54 +01:00
John Wellbelove
6a8cdf6892 Added error exceptions to byte_stream_writer 2022-06-15 11:43:54 +01:00
John Wellbelove
0e6dff2767 Added callback functionality to bit_stream_writer 2022-06-15 11:43:54 +01:00
John Wellbelove
3a2f71456a Added optional byte_stream callback 2022-06-15 11:43:13 +01:00
John Wellbelove
c0fb8761df Added write_byte_stream_iterative_output 2022-06-15 11:43:13 +01:00
John Wellbelove
9e0ff809fd Initial bit_stream_writer code 2022-06-15 11:43:12 +01:00
John Wellbelove
314cb452f7 Merge branch 'feature/variant-visit' into development
# Conflicts:
#	include/etl/private/variant_legacy.h
#	include/etl/private/variant_variadic.h
#	test/vs2019/etl.vcxproj.filters
2022-06-14 11:47:30 +01:00
John Wellbelove
c6e31f381f Added tests 2022-06-14 09:54:17 +01:00
John Wellbelove
baa47d1c33 Updated copyright notice 2022-06-10 21:45:37 +01:00
John Wellbelove
cf24398209 Refactor etl::atomic implementations to allow non-(integrals/pointers/bool)
Changed etl::atomic and etl::mutex, with STL enabled, to be template aliases
2022-06-10 21:45:34 +01:00
John Wellbelove
047fc3eb90 Refactor C++17 message_packet 2022-06-10 21:45:34 +01:00
John Wellbelove
e864fe62d5 Added optional byte_stream callback 2022-06-10 21:45:33 +01:00
John Wellbelove
4306350da0 Added write_byte_stream_iterative_output 2022-06-10 21:45:33 +01:00
Robin Söderholm
0ace9654da
Feature/variant visit (#554)
* add variant visit to c++11 and above

* visit legacy added

* update with multiple variants visit for variadic

* make it build on gcc and clang ubuntu
remove declval from utility.h due to ambiguity against type_traits.h version when using STL
2022-06-10 18:56:18 +01:00
John Wellbelove
259efe1e7d Finished bit_stream_reader tests 2022-06-10 18:16:30 +01:00
John Wellbelove
dd89f1c748 Interim changes after PR 2022-06-10 11:18:48 +01:00
John Wellbelove
d1a6735872 Latest updates to bit_stream_reader 2022-06-09 15:05:08 +01:00
John Wellbelove
06373fda63 Changed 'expected_data' to 'expected' 2022-06-09 15:04:03 +01:00
John Wellbelove
238d3469e9 Added error exceptions to byte_stream_writer 2022-06-09 15:03:17 +01:00
Robin Söderholm
89be7e62cf
Feature/variant visit (#552)
* add variant visit to c++11 and above

* visit legacy added

* update with multiple variants visit for variadic
2022-06-09 08:56:55 +01:00
John Wellbelove
0ae71fb797 Added callback functionality to bit_stream_writer 2022-06-06 11:01:36 +01:00
John Wellbelove
bccea7d0da Refactor etl::atomic implementations to allow non-(integrals/pointers/bool)
Changed etl::atomic and etl::mutex, with STL enabled, to be template aliases
2022-06-05 10:56:26 +01:00
John Wellbelove
55b4fb6587 Added optional byte_stream callback 2022-06-05 10:55:58 +01:00
John Wellbelove
8d6f73cd25 Added write_byte_stream_iterative_output 2022-06-05 10:55:10 +01:00
John Wellbelove
cace71c3f7 Initial bit_stream_writer code 2022-05-29 14:04:26 +01:00
John Wellbelove
2695cd8fb8 Refactor C++17 message_packet 2022-05-25 12:24:08 +01:00
John Wellbelove
6a979fb7c9 Added optional byte_stream callback 2022-05-22 10:52:24 +01:00
John Wellbelove
9c9bd93549 Added write_byte_stream_iterative_output 2022-05-20 12:36:11 +01:00
John Wellbelove
752d9adb5c Fixed final sanitizer issues 2022-05-19 11:10:00 +01:00
John Wellbelove
aaf1f84935 Updates to etl::successor 2022-05-18 16:49:42 +01:00
John Wellbelove
7bb39b56bf Added skip() to byte_stream_writer. 2022-05-17 17:04:47 +01:00
John Wellbelove
c09a1885b5 Merge branch 'hot-fix/#536-undefined-behaviour-and-memory-issues' into development
# Conflicts:
#	test/CMakeLists.txt
2022-05-17 15:03:05 +01:00
John Wellbelove
9224df106e Fixed data alignment issues raised by sanitizer 2022-05-16 20:58:07 +01:00
John Wellbelove
232f329867 Fix header file includes 2022-05-16 20:57:04 +01:00
John Wellbelove
7bfea414cb Updated array_wrapper test to remove sanitizer issues 2022-05-15 18:55:30 +01:00
John Wellbelove
7b3bb5fa6d Fixed incorrect returned span length for byte stream read 2022-05-15 18:01:44 +01:00
John Wellbelove
2d743082ec Updated runtests.sh 2022-05-13 16:45:14 +01:00
John Wellbelove
7c3d8490c4 indirect_vector updates from sanitizer results 2022-05-13 14:43:36 +01:00
John Wellbelove
7d7a9cf15b Updated CMakeLists.txt 2022-05-11 21:06:35 +01:00
John Wellbelove
87f40fe813 Updates to etl::successor and derived classes. 2022-05-11 16:04:25 +01:00
John Wellbelove
898c8c6587 Multiple sanitizer fixes. 2022-05-08 11:13:13 +01:00
John Wellbelove
44db411d0d Multiple sanitizer fixes. 2022-05-08 11:10:42 +01:00
John Wellbelove
882bbab022 Minor updates
Revert some #536 code
2022-04-29 10:29:22 +01:00
Jeremy Overesch
8ac2db0dbe
Feature/pass partial handled events to parent (#541)
* Pass partial handled events to parent.

* Fix the generator file for C++17.
2022-04-28 15:29:11 +01:00
John Wellbelove
90e4316f8f Interim fixes 2022-04-25 10:30:54 +02:00
John Wellbelove
36d126c93e Squashed commit of the following:
commit c217b3ec12b26104e8f1027c1766cc9d49b93a29
Author: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Date:   Thu Apr 21 11:57:55 2022 +0200

    Added mutex traits

    Added transparent comparator test to multimap

commit b6487b869e5599ea067d45af1778d5c0f90c6a52
Author: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Date:   Thu Apr 21 10:42:06 2022 +0200

    Modified char8_t, char16_t and char32_t macros.

    Added conditional compilation on the presense of native char8_t, char16_t and char32_t types.

commit 2c2bd86ce3d5d5d698e922518421a93f70a9cc1e
Author: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Date:   Thu Apr 21 10:29:04 2022 +0200

    Modified char8_t, char16_t and char32_t macros.

    Added conditional compilation on the presense of native char8_t, char16_t and char32_t types.

commit d16242d20e9b6df6752a926d862d0016a452bada
Author: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Date:   Wed Apr 20 13:53:37 2022 +0200

    Expanded constexpr test

commit fad097e6656cd4639c2d81bc8cad2467cae4b4ce
Author: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Date:   Wed Apr 20 13:53:05 2022 +0200

    Added ETL_OVERRIDE to state chart process_event()

commit 25403c2225f3aff0b99105a54cfc44f1cf88d527
Author: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Date:   Wed Apr 20 13:41:00 2022 +0200

    Added test_etl_traits

commit e42c778cf645cb8fc06e5930336e7f1183004dfe
Author: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Date:   Wed Apr 20 13:38:22 2022 +0200

    Removed unused code.

commit 5a25c0c1973f7094ef3aa5b6f29529e96450451c
Author: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Date:   Sun Apr 17 13:17:29 2022 +0200

    Large and small character support macros

commit 6a463fb65ef655b700a8dea381265a3c1b622658
Author: Melg Eight <public.melg8@gmail.com>
Date:   Sun Apr 17 13:54:34 2022 +0300

    Fix spelling (#535)

    Signed-off-by: Melg Eight <public.melg8@gmail.com>

commit 5468eb659c8b4ecdb3d08e8b8f0442c5a2549a48
Author: Gabriel Arjones <arjones@arjones.com>
Date:   Thu Apr 14 17:55:27 2022 -0300

    cmake: write an arch independent version file (#534)
2022-04-21 12:11:26 +02:00
John Wellbelove
05e85b9e90 Added mutex traits
Added transparent comparator test to multimap
2022-04-21 11:57:55 +02:00
John Wellbelove
cd9d199dde Modified char8_t, char16_t and char32_t macros.
Added conditional compilation on the presense of native char8_t, char16_t and char32_t types.
2022-04-21 10:29:04 +02:00
John Wellbelove
6279840973 Expanded constexpr test 2022-04-20 13:53:37 +02:00
John Wellbelove
2b158f4fb4 Added test_etl_traits 2022-04-20 13:41:00 +02:00
John Wellbelove
e1fa7d198e Removed unused code. 2022-04-20 13:38:22 +02:00
John Wellbelove
63c05fb6b9 Large and small character support macros 2022-04-17 13:17:29 +02:00
John Wellbelove
e59f995289 #531 Fixed: Compilation of etl::reference_counted_message_pool with ETL_LOG_ERROR enabled due to non-public inheritance. 2022-04-11 14:54:55 +02:00
John Wellbelove
f68b3d7796 Lastest release script version 2022-04-09 21:38:35 +02:00
John Wellbelove
3b66ced782 #530 etl::nth_type not implemented correctly 2022-04-08 18:08:53 +02:00
John Wellbelove
ce93358e95 Lastest release script version 2022-04-08 09:37:21 +02:00
Robin Mueller
fbffca3b4c Update cmake & meson version handling (#522)
* updated the version handling

- Introduces a new version.txt file
- This file is parsed by CMake to determine the current version

* assign version in project call

* use version variable

* Meson update

1. Minor fix for GCC build
2. Use external version file which can be used by CMake as well

* get version from git tag now

* ci/cd broke..

* maybe this solves the error

* updated workflow files

* one last test

* remove git describe call
2022-04-08 09:37:21 +02:00
John Wellbelove
1399c0d0d9 Work in progress
Updates version.h
2022-04-08 09:37:20 +02:00
John Wellbelove
fa7f6dc9d7 Fixed move parameter in notify_observers 2022-03-23 19:59:30 +00:00
John Wellbelove
e0c2ba2ab7 Simplified test 2022-03-23 11:16:02 +00:00
John Wellbelove
aad0dabebe Re-initroduced etl::functor
Added constexpr to etl::member_function_wrapper and etl:;functor_wrapper
2022-03-22 15:16:51 +00:00
John Wellbelove
1be86f8566 Added etl::member_function_wrapper and etl::functor_wrapper to utility.h 2022-03-22 13:51:02 +00:00
John Wellbelove
426f7f48a4 Updated CMakeLists.txt to embed the unit test code. 2022-03-21 16:08:49 +00:00
John Wellbelove
64a03b2aa4 Changed random log output to single list of values. 2022-03-21 16:05:49 +00:00
John Wellbelove
dcf06809ae Embedded copy of UnitTest++ 2022-03-20 22:41:59 +00:00
John Wellbelove
245d84b231 Modified VS2019 Github Actions 2022-03-20 18:12:56 +00:00
John Wellbelove
7f2525a48f Modified VS2019 Github Actions 2022-03-20 16:45:53 +00:00
John Wellbelove
6f99c2b3a9 Added template wrappers around memcpy, memmove, memcmp, memset& memchr.
Added C++23 macro
Updated version numbers
2022-03-19 21:29:29 +00:00
John Wellbelove
87080285e6 Merge branch 'feature/#515-make-unaligned-types-fully-constexpr' into development
# Conflicts:
#	include/etl/algorithm.h
#	include/etl/endianness.h
2022-03-18 15:19:54 +00:00
John Wellbelove
1c03e57aba Made etl::unaligned_type constexpr 2022-03-18 15:14:23 +00:00
John Wellbelove
b4e67d9a96 Removed forced constexpr algorithms 2022-03-18 15:13:17 +00:00
John Wellbelove
2423745786 Fixed missing lines for cplusplus trait 2022-03-12 10:15:19 +00:00
John Wellbelove
740e490aed Tested ETL traits code. 2022-03-11 20:28:26 +00:00
John Wellbelove
43100b2cf4 Initial code 2022-03-07 13:11:28 +00:00
John Wellbelove
9a1705ed4c Added CMakeFiles.txt for initializer_list tests 2022-03-07 12:07:54 +00:00
John Wellbelove
3753b8e8e0 Moved sanity check files to the correct filter. 2022-03-05 18:03:55 +00:00
John Wellbelove
b58dad3e2e Moved sanity check files to the correct filter. 2022-03-05 18:03:28 +00:00
John Wellbelove
4262c4e0d3 Added optional counter type to instance_count. 2022-03-05 18:02:00 +00:00
John Wellbelove
574556b8e2 Updated the initializer_list unit test project. 2022-03-05 18:01:48 +00:00
John Wellbelove
e9ec00b346 Move initializer_list test project out of main ETL unit tests project 2022-03-04 20:55:30 +00:00
John Wellbelove
292f5d9176 Modified logic for enabling the use of initializer lists 2022-03-04 20:54:38 +00:00
John Wellbelove
b5b09274ce Added extra sanity checks for new classes 2022-03-03 18:39:23 +00:00
John Wellbelove
c34ac53a4e Changes the order of callback and re-insertion of the timer in the active list. 2022-03-03 14:34:01 +00:00
John Wellbelove
0a163463c2 Added callback and message timers for interrupts. 2022-03-03 14:31:24 +00:00
John Wellbelove
290f7a86ac Changed atomic timers to use a user supplied atomic semaphore counter. 2022-03-02 19:26:19 +00:00
John Wellbelove
2f91d707cd Renamed Arduino files to stop PlatformIO getting confused (possibly).
Updated Arduino Python script to rename files on copy.
Removed old file.
2022-02-26 11:27:50 +00:00
John Wellbelove
60757a44ab callback and message timers now uses etl::timer_semaphore_t 2022-02-20 18:49:43 +00:00
John Wellbelove
11b4f669d3 Fixed force C++03 implementation flags 2022-02-15 20:58:06 +00:00
John Wellbelove
e5fd40d82b Added etl::byte 2022-02-15 16:41:47 +00:00
John Wellbelove
86c0813d93 Added fill() member functions to array_view, circular_buffer, deque, indirect_vector and vector 2022-02-15 10:54:44 +00:00
John Wellbelove
1cdb4c69b6 Final initializer_list updates
Added a separate project to test initializer_list
2022-02-14 11:06:09 +00:00
John Wellbelove
117902e39a Updates to sanity check
Added Intel compiler support to MSVC
2022-02-11 21:21:57 +00:00
John Wellbelove
8c45d2cc2a Added sanity checks for initializer_list 2022-02-11 15:00:35 +00:00
John Wellbelove
64edec227d Initial code for MSVC, GCC, Clang and ARM6 compilers 2022-02-11 13:40:03 +00:00
John Wellbelove
d0150696a5 Changes for controlling the availability of constexpr algorithms 2022-02-11 09:57:55 +00:00
John Wellbelove
64efb84ec3 Singleton class 2022-02-10 18:40:52 +00:00
John Wellbelove
5da17885be Sanity check updates 2022-02-10 18:40:27 +00:00
John Wellbelove
c65da15063 Tweak built-in tests 2022-02-06 17:58:22 +00:00
John Wellbelove
87fe3eec2d Replaced post increment with pre increment 2022-02-03 17:16:26 +00:00
John Wellbelove
791aa97885 Work in progress 2022-02-03 12:40:29 +00:00
John Wellbelove
4b1b6004c6 Final(?) changes 2022-01-29 14:16:26 +00:00
John Wellbelove
68d5f39c7c Merge branch 'master' into feature/constexpr-for-string_view 2022-01-25 10:49:56 +00:00
John Wellbelove
734e4e654a Minor changes
Modified MSVC compiler C++11 check
2022-01-24 20:15:17 +00:00
John Wellbelove
64b6c20d19 Merge branch 'master' into feature/constexpr-for-string_view
# Conflicts:
#	include/etl/iterator.h
#	include/etl/platform.h
#	test/vs2019/etl.vcxproj
#	test/vs2019/etl.vcxproj.filters
2022-01-23 18:26:52 +00:00
John Wellbelove
47210b5815 Merge branch 'development'
# Conflicts:
#	test/vs2019/etl.vcxproj
#	test/vs2019/etl.vcxproj.filters
2022-01-23 15:25:37 +00:00
John Wellbelove
13b28387c5 Merge branch 'feature/reduce-size-of-state_chart' into development 2022-01-23 14:23:44 +00:00
John Wellbelove
9dafa0bb70 Merge branch 'feature/reduce-size-of-state_chart' into development 2022-01-23 13:50:31 +00:00
John Wellbelove
2353672b64 Renamed compile time state machine classes 2022-01-23 10:46:35 +00:00
John Wellbelove
4d0682e196 Merge branch 'hotfix/bitset' into development 2022-01-22 16:17:09 +00:00
John Wellbelove
e98270ca60 Bitset updates 2022-01-22 16:16:44 +00:00
John Wellbelove
fc59b4e34e Latest state chart code
Reinstated virtual process_event()
2022-01-20 11:05:37 +00:00
John Wellbelove
9a03489c4c Fixed casting 2022-01-20 11:05:21 +00:00
John Wellbelove
f3973e4935 Latest state chart code
Reinstated virtual process_event()
2022-01-18 20:15:56 +00:00
John Wellbelove
8337c87f16 Initial state_chart changes 2022-01-17 11:19:19 +00:00
John Wellbelove
0a6e22ae2a Initial state_chart changes 2022-01-15 19:06:20 +00:00
John Wellbelove
c3b603be32 Fixed IAR warnings in binary.h
Fixe unaligned type_comment
platform.h comments
Fixed etl_profile.h to native little endian for !C++20 or !STL
2022-01-14 10:08:46 +00:00
John Wellbelove
f58a20294a Added index operators
Split code into type and non-type dependent classes
2022-01-12 18:36:34 +00:00
John Wellbelove
07bda38893 Removed unused code 2022-01-12 18:32:12 +00:00
John Wellbelove
5ceae606dc Updated project files 2022-01-11 17:45:33 +00:00
John Wellbelove
e09742bf57 Added bit_cast and 8bit byteswap tests 2022-01-11 17:45:14 +00:00
John Wellbelove
17c287af9d Completed unaligned_type 2022-01-11 17:44:40 +00:00
John Wellbelove
973e0f8ea6 Renamed 8bit check macro 2022-01-10 00:35:02 +00:00
John Wellbelove
6b123e1bdb Merge branch 'feature/bit_cast-midpoint-lerp' into feature/unaligned-types
# Conflicts:
#	include/etl/endianness.h
#	test/vs2019/etl.vcxproj.filters
2022-01-08 18:53:17 +00:00
John Wellbelove
e6736404ed Final code after local CI tests 2022-01-08 18:51:35 +00:00
John Wellbelove
a0023aa9aa Updated tests to support C++20 STL 2022-01-08 12:25:18 +00:00
John Wellbelove
c99d984453 Updates to bin.h, binary.h and endian.h 2022-01-08 11:38:04 +00:00
John Wellbelove
79c659b0bb unaligned and endianess experiments 2022-01-06 10:18:58 +00:00
John Wellbelove
fdf3ee164f Disabled C++20 for test 2022-01-03 18:26:48 +00:00
John Wellbelove
4a6d6220e4 Added bit.h and test files 2022-01-03 18:24:05 +00:00
John Wellbelove
dc2ad30294 Iterator is more SFINAE compatible 2022-01-03 18:23:04 +00:00
John Wellbelove
b8579f0151 Initial bit tests 2022-01-03 18:21:45 +00:00
John Wellbelove
dc563239e5 Added all permutations of leading/trailing bit tests 2022-01-03 18:21:19 +00:00
John Wellbelove
7ad3b51308 Added etl::lerp & initial reverse engineered <bit> header 2021-12-31 09:52:02 +00:00
John Wellbelove
4f05600900 Added delegate test from std::function 2021-12-30 09:36:36 +00:00
John Wellbelove
2643f8ef4b Added etl::midpoint 2021-12-28 18:42:17 +00:00
John Wellbelove
064c7dc16b GCC fixes for unit tests 2021-12-24 09:25:24 +00:00
John Wellbelove
b98fd16e36 array_view updates 2021-12-22 18:58:15 +00:00
John Wellbelove
de5a90a91c Added Green Hills compiler to minmax push and pop
message_packet updates

message_packet updates

span updates

message_packet updates

message_packet updates

Remove superfluous line

Fixe undefined behaviour in test
2021-12-21 12:04:51 +00:00
John Wellbelove
d5128bed7d Merge branch 'hotfix/#480-fix-for-double-formatting-with-precision-greater-than-9' of https://github.com/ETLCPP/etl into hotfix/#480-fix-for-double-formatting-with-precision-greater-than-9
# Conflicts:
#	test/test_to_string.cpp
2021-12-15 19:29:11 +00:00
John Wellbelove
6f6ebe456b Fix for double formatting with precision > 9 (#480)
* Add a test that reproduces the double formatting failure

* Fix root cause, restrict precision to 9 on 32 bit platforms, unrestricted on 64 bit
2021-12-15 19:26:17 +00:00
Noah Luskey
36782f77c0 Fix for double formatting with precision > 9 (#480)
* Add a test that reproduces the double formatting failure

* Fix root cause, restrict precision to 9 on 32 bit platforms, unrestricted on 64 bit
2021-12-15 17:27:57 +00:00
John Wellbelove
4fff144cb8 #482 2021-12-15 12:21:30 +00:00
John Wellbelove
67474499c2 Disable span TContainer constructor for arrays 2021-12-15 12:21:10 +00:00
John Wellbelove
6827a73ff8 Disable span TContainer constructor for arrays 2021-12-14 17:23:26 +00:00
John Wellbelove
d2ba5e9956 Multiple code changes, delegates & timers 2021-12-14 10:52:49 +00:00
John Wellbelove
331e07b272 Multiple code changes, delegates & timers 2021-12-13 17:16:21 +00:00
Noah Luskey
2932af8f93
Fix for double formatting with precision > 9 (#480)
* Add a test that reproduces the double formatting failure

* Fix root cause, restrict precision to 9 on 32 bit platforms, unrestricted on 64 bit
2021-12-10 08:49:08 +00:00
John Wellbelove
e1e3e7a194 #475 When ETL_NO_ATOMICS is defined the timer.h file should not define timer_semaphore_t
#471 Add contains() method to etl::map and etl::set
#477 deque::resize should throw deque_full if requested size is too large
2021-12-05 19:00:20 +00:00
John Wellbelove
06e8aaf8d4 #475 When ETL_NO_ATOMICS is defined the timer.h file should not define timer_semaphore_t
#471 Add contains() method to etl::map and etl::set
#477 deque::resize should throw deque_full if requested size is too large
2021-12-05 15:39:11 +00:00
John Wellbelove
6e1e75094f Re-enable multi_vector 2021-12-04 11:00:51 +00:00
John Wellbelove
c6ff32e901 contains() & transparent comparator 2021-12-04 10:24:04 +00:00
John Wellbelove
4d48082f4f contains() & transparent comparator for map, multimap, set and multiset 2021-12-01 18:42:22 +00:00
John Wellbelove
85fb83f0be contains() & transparent comparator for reference set and multiset 2021-12-01 13:19:31 +00:00
John Wellbelove
042da035fa contains() & transparent comparator for map and multimap 2021-11-27 17:57:51 +00:00
John Wellbelove
015003fa03 contains() for etl::map 2021-11-26 19:35:18 +00:00
John Wellbelove
5fa7ee22ab Merge branch 'master' into feature/constexpr-for-string_view
# Conflicts:
#	include/etl/array.h
#	include/etl/deque.h
#	include/etl/forward_list.h
#	include/etl/generators/type_traits_generator.h
#	include/etl/list.h
#	include/etl/platform.h
#	include/etl/vector.h
#	meson.build
#	test/test_array.cpp
#	test/test_deque.cpp
#	test/test_flat_map.cpp
#	test/test_flat_multimap.cpp
#	test/test_flat_multiset.cpp
#	test/test_flat_set.cpp
#	test/test_forward_list.cpp
#	test/test_list.cpp
#	test/test_map.cpp
#	test/test_multimap.cpp
#	test/test_multiset.cpp
#	test/test_set.cpp
#	test/vs2019/etl.vcxproj.filters
2021-11-26 18:10:57 +00:00
John Wellbelove
9931339605 Fixes for < GCC 8 2021-11-21 18:31:39 +00:00
John Wellbelove
33490aeaef Fixes for < GCC 8 2021-11-21 18:09:01 +00:00
John Wellbelove
e8b954127a Fixes for < GCC 8 2021-11-21 17:34:47 +00:00
John Wellbelove
343dabe7e2 Fixes for < GCC 8 2021-11-21 17:29:56 +00:00
John Wellbelove
94575a1ac1 Fixes for Ubuntu 18 2021-11-21 17:09:16 +00:00
John Wellbelove
29c3055310 Fixes for Ubuntu 18 2021-11-21 16:52:33 +00:00
John Wellbelove
3e98f4c537 Fixes for Ubuntu 18 2021-11-21 16:45:37 +00:00
John Wellbelove
4d43d4e8c4 Fixes for Ubuntu 18 2021-11-21 16:32:12 +00:00
John Wellbelove
02cee8c2a3 Fixes for Ubuntu 18 2021-11-21 16:17:23 +00:00
John Wellbelove
2ecc0aa287 Fixes for Ubuntu 18 2021-11-21 14:47:16 +00:00
John Wellbelove
8872b9a0ae const_iterator parameters for containers 2021-11-20 19:04:39 +00:00
John Wellbelove
11fa2e4e38 Merge branch 'hotfix/remove-template-overload-abiguity' into development
# Conflicts:
#	include/etl/forward_list.h
#	include/etl/list.h
#	include/etl/vector.h
#	test/test_forward_list.cpp
#	test/test_list.cpp
2021-11-19 11:23:50 +00:00
Bo Rydberg
a41418ed91
Fix compile error for vector assign and insert with same type non-iterator (#466) 2021-11-19 11:05:04 +00:00
Bo Rydberg
e4431d3940
Fix compile error insert/assign two same types non-iterator (#467)
Assignent and insert_after of count and values of same types has to work
2021-11-19 11:04:41 +00:00
Bo Rydberg
94507ad1c6
Fix list insert and assign errors (#468)
Also fixing some test asserts related to etl::list.
2021-11-19 11:04:10 +00:00
John Wellbelove
642e36a9c4 Modified deque const_iterator to iterator 2021-11-18 12:58:33 +00:00
John Wellbelove
5baa1af862 Make functions for containers 2021-11-18 12:26:15 +00:00
John Wellbelove
0579ceac76 Array test with movable type 2021-11-18 12:26:15 +00:00
John Wellbelove
52586af2de Latest implementations 2021-11-18 12:26:15 +00:00
John Wellbelove
8fc7e0208a Added 'make' functions to construct containers
Added tests for 'make' and 'template deduction'
2021-11-18 12:26:13 +00:00
John Wellbelove
d93834ed83 constexpr for enum_type 2021-11-18 12:25:31 +00:00
John Wellbelove
58013e8257 changed iterator parameters to const_iterator 2021-11-17 17:59:57 +00:00
Steffen Zimmermann
d05bf1b4fd
let map/multimap/set/multiset return iterator on erase (#463)
Beginning with C++11, erase(iterator) and erase(const_iterator) returns
an iterator following the removed element.
2021-11-15 10:26:23 +00:00
John Wellbelove
8f02e90735 Experimental automatic builtins for algorithms 2021-11-15 09:37:21 +00:00
John Wellbelove
e296bd24f7 Make functions for containers 2021-11-15 09:32:50 +00:00
John Wellbelove
792cc0b57d Array test with movable type 2021-11-15 09:32:12 +00:00
John Wellbelove
d03e6f5587 Latest implementations 2021-11-15 09:32:12 +00:00
John Wellbelove
84974acbfa Added 'make' functions to construct containers
Added tests for 'make' and 'template deduction'
2021-11-15 09:32:11 +00:00
John Wellbelove
bb72ded2e2 constexpr for enum_type 2021-11-15 09:31:30 +00:00
John Wellbelove
29d711003f Added non-const string pointer overload 2021-11-15 09:31:30 +00:00
John Wellbelove
f459c3e190 First experiments 2021-11-15 09:31:30 +00:00
John Wellbelove
1b7a59be92 Added non-const string pointer overload 2021-11-06 16:45:06 +00:00
John Wellbelove
dd77b4ec70 First experiments 2021-11-04 12:15:14 +01:00
Sergey Skorokhod
43b041cbfb Meson tests & style fix (#447)
* meson tests fix

* missed unit-tests added into meson.build

* fix use_stl option

* meson style fix

* test

* bugfix

Co-authored-by: Sergey Skorokhod <s.skorokhod@1440.space>
2021-10-25 10:36:11 +01:00
John Wellbelove
03bf749654 Merge branch 'hotfix/skorokhod-meson_tests_fix' into development
# Conflicts:
#	meson.build
2021-10-25 10:11:57 +01:00
John Wellbelove
76f2a97d87 Experimental automatic builtins for algorithms 2021-10-25 09:56:40 +01:00
Sergey Skorokhod
16045432b7
Meson tests & style fix (#447)
* meson tests fix

* missed unit-tests added into meson.build

* fix use_stl option

* meson style fix

* test

* bugfix

Co-authored-by: Sergey Skorokhod <s.skorokhod@1440.space>
2021-10-22 18:39:26 +01:00
John Wellbelove
690044e7ff constexpr for etl::string_view 2021-10-21 09:31:49 +01:00
John Wellbelove
998322d02c Add available_bytes to byte_stream_reader & byte_stream_writer 2021-10-21 09:26:20 +01:00
John Wellbelove
7124b86b88 Merge branch 'hotfix/disable-begin-end-size-for-no-stl' into development 2021-10-20 13:35:08 +01:00
John Wellbelove
f3bf0dc7fe Disable etl::begin(), etl::end() and etl::size() for ETL_NO_STL 2021-10-20 13:34:44 +01:00
John Wellbelove
4bedc041d4 Various updates 2021-10-12 17:52:51 +01:00
John Wellbelove
6af5a0bbd2 Added missing explicit initialisation from in_place structures. 2021-10-12 14:56:01 +01:00
John Wellbelove
dc34be793e Added missing explicit initialisation from in_place structures. 2021-10-12 14:51:39 +01:00
John Wellbelove
67067605a8 Updates to delegate 2021-10-11 12:32:17 +01:00
John Wellbelove
db46cc5dec Added set() member functions 2021-10-09 14:28:37 +01:00
John Wellbelove
0d612f1317 Added missing read() member functions in byte_stream_reader
Updated version numbers
2021-10-07 15:11:43 +01:00
John Wellbelove
c1c5fbb7f1 Updated sanity checks 2021-10-05 17:00:22 +01:00
John Wellbelove
2d64b77e4a Modified read_unchecked & write_unchecked
Added start/length read/write implementations
2021-10-05 14:24:46 +01:00
John Wellbelove
4e4c781e18 Updated versions 2021-10-04 20:00:45 +01:00
John Wellbelove
609c0c1ebc Merge branch 'feature/#430-add-peek-to-queue_spsc_atomic' into development
# Conflicts:
#	.gitignore
2021-10-04 17:30:55 +01:00
John Wellbelove
4b67f54f1f Added read_unchecked & write_unchecked 2021-10-04 16:59:42 +01:00
John Wellbelove
71f42a7563 Merge branch 'feature/#429-scatter-gather-span-based-class' into development
# Conflicts:
#	.gitignore
#	include/etl/byte_stream.h
#	test/vs2019/etl.vcxproj.filters
2021-10-03 20:26:20 +01:00
John Wellbelove
605655d58b Added multi_span iterator and tests 2021-10-03 20:19:15 +01:00
John Wellbelove
08e08b9165 Merge branch 'feature/#433-pool-ext-variant-pool-ext' into development
# Conflicts:
#	.gitignore
2021-10-03 16:10:28 +01:00
John Wellbelove
ec64141598 #438 void* reader writer API 2021-10-03 15:38:50 +01:00
John Wellbelove
aaa00ca610 Added pool_ext & generic_pool_ext 2021-10-03 11:50:40 +01:00
John Wellbelove
21dc9276b1 Merge branch 'feature/#436-clang-format-file' into development
# Conflicts:
#	test/vs2019/etl.vcxproj.filters
2021-10-02 18:31:06 +01:00
John Wellbelove
4a972db089 Updated to closely match ETL formatting 2021-10-02 17:54:20 +01:00
John Wellbelove
3f79e61f97 Add front() to locked queues 2021-10-02 14:27:23 +01:00
Daniel B
494059fd6b
Feature/pool ext variant pool ext (#433)
* added threads dependency to meson build because of pthread linkage problems (gcc version Debian 8.3.0-6)

* initial version of generic_pool_ext, pool_ext and variant_pool_ext (extended unit tests)

* format code

* fix test_call_if_and_not_valid_returning_void by moving SetupFixture into namespace (to ensure correct test setup)

Co-authored-by: Daniel B <daniel-brosche@users.noreply.github.com>
2021-10-01 18:46:52 +01:00
John Wellbelove
c691991538 Removed warning from compilation 2021-10-01 18:41:35 +01:00
John Wellbelove
05f17e1d74 #428 byte_stream_reader can't be used to read a span of const data 2021-10-01 18:41:35 +01:00
John Wellbelove
579527a932 Fixes to byte_stream_reader for const data 2021-10-01 18:41:35 +01:00
fractalembedded
71c8544f35
Add peek to queue_spsc_atomic (#430) 2021-10-01 18:41:16 +01:00
John Wellbelove
817ae15c7a Work in progress 2021-10-01 14:10:14 +01:00
John Wellbelove
b47e58a8fe Merge branch 'hotfix/byte_stream_reader-with-const-char-data' into development 2021-09-29 18:50:01 +01:00
John Wellbelove
b9b7b9cd7a #431 CMSIS-RTOS2 support 2021-09-28 18:06:30 +01:00
John Wellbelove
9f976d98b9 #428 byte_stream_reader can't be used to read a span of const data 2021-09-24 09:44:49 +01:00
John Wellbelove
49c9393537 Fixes to byte_stream_reader for const data 2021-09-23 11:49:16 +01:00
John Wellbelove
f2b4eef277 Temporarily disable multi_vector 2021-09-21 11:06:44 +01:00
John Wellbelove
bdf1451655 Added multi_vector 2021-09-10 12:12:18 +01:00
John Wellbelove
7f6548e02b Added successor handling for accepts
Added successor handling for pre-C++17 message router
2021-09-09 16:07:51 +01:00
John Wellbelove
e6c13c75e7 Added result type 2021-09-05 17:39:56 +01:00
John Wellbelove
d55b84212f Updated version
Modified etl::result test
2021-09-05 15:05:47 +01:00
John Wellbelove
aaac4ba97c Updated version
Modified etl::result test
2021-09-05 14:59:17 +01:00
John Wellbelove
81807b2fd2 Added result type 2021-09-04 13:34:02 +01:00
John Wellbelove
ee46d76548 Additional member functions 2021-09-02 16:07:09 +01:00
John Wellbelove
3b112da068 Added call_if and call_or member functions. 2021-09-02 13:04:28 +01:00
John Wellbelove
348015c40d Modified constant definitions 2021-09-02 13:04:27 +01:00
John Wellbelove
dd19cb2e47 Working code including 64 bit 2021-09-02 13:04:27 +01:00
John Wellbelove
72468bace8 Pre-release code 2021-09-02 13:04:27 +01:00
John Wellbelove
07070085e8 Working code 2021-09-02 13:03:39 +01:00
John Wellbelove
442a76ec46 Fixed incomplete template specialisations in type_traits.h 2021-09-02 13:03:38 +01:00
CanastraRF
988db811c9 literal with suffix (#416) 2021-09-02 13:03:38 +01:00
John Wellbelove
3831d4fd68 Added successor call to receive() 2021-09-02 13:03:36 +01:00
John Wellbelove
6fb9357b7c Added cbegin() & cend() 2021-08-24 12:12:19 +01:00
John Wellbelove
c79802122c Updated tests 2021-08-23 14:24:02 +01:00
John Wellbelove
5cbe4fb3e1 Read write span ranges 2021-08-22 12:58:32 +01:00
John Wellbelove
133ff78330 Added templated etl::write & etl::read functions for byte stream 2021-08-21 09:54:31 +01:00
John Wellbelove
42d451dc79 Expanded tests and updated make lists 2021-08-20 19:39:49 +01:00
John Wellbelove
ed74f8bc54 Initial byte_stream code 2021-08-20 10:22:44 +01:00
John Wellbelove
4aabb886d0 Updated appveyor configuration 2021-08-14 11:19:14 +01:00
John Wellbelove
963d91df43 Merge branch 'development' 2021-08-13 20:46:42 +01:00
John Wellbelove
a10dfd433a Issue #413 Queue's pop_into copies rather than moves 2021-08-13 19:21:48 +01:00
John Wellbelove
2f39ebdafd Expanded compiled variants for scripts 2021-08-13 16:37:47 +01:00
John Wellbelove
417c3b9e77 Expanded compiled variants for scripts 2021-08-13 16:32:43 +01:00
John Wellbelove
6ff560a416 Merge branch 'feature/variadic-message-router' into development
# Conflicts:
#	.gitignore
#	include/etl/bip_buffer_spsc_atomic.h
#	include/etl/version.h
#	library.json
#	library.properties
#	support/Release notes.txt
#	test/etl_profile.h
#	test/runsanitychecks.sh
#	test/runtests.sh
#	test/vs2019/etl.vcxproj.filters
2021-08-11 15:50:43 +01:00
John Wellbelove
988cd95440 Added C++17 variadic versions of etl::message_router ans etl::fsm
Fixed meson.build
2021-08-11 15:48:17 +01:00
John Wellbelove
5904687e6d Variadic FSM 2021-08-10 20:25:27 +01:00
John Wellbelove
27f5204032 Added 'Force C++03' macro 2021-08-10 11:31:14 +01:00
John Wellbelove
f413fd1a21 Fixes after merge 2021-08-10 11:20:00 +01:00
John Wellbelove
3044fb24f9 Added configuration for forcing C++03 code 2021-08-10 10:49:32 +01:00
John Wellbelove
79ffe63b1c Refactoring of type traits for GCC compatibility 2021-08-10 10:49:10 +01:00
John Wellbelove
53ad78768f Changed variant files names 2021-08-10 10:48:11 +01:00
John Wellbelove
b5c282699d Type traits refactor 2021-08-10 10:46:13 +01:00
John Wellbelove
1789e4937d Changes before merging to development 2021-08-10 10:38:23 +01:00
Benedek Kupper
7a067ba816 introduce bip buffer spsc atomic (#402)
Based on the works of Andrea Lattuada and James Munns:
https://blog.systems.ethz.ch/blog/2019/the-design-and-implementation-of-a-lock-free-ring-buffer-with-contiguous-reservations.html
Whose design was inspired by Simon Cooke:
https://www.codeproject.com/Articles/3479/The-Bip-Buffer-The-Circular-Buffer-with-a-Twist

Signed-off-by: Benedek Kupper <benedek.kupper@streamunlimited.com>
2021-08-10 10:38:22 +01:00
John Wellbelove
98cd1e4fe7 Added configuration for forcing C++03 code 2021-08-05 16:53:33 +01:00
John Wellbelove
b779696eb9 Refactoring of type traits for GCC compatibility 2021-08-04 18:47:42 +01:00
John Wellbelove
0d5f30b97e Merge branch 'master' into feature/bip-buffer-spsc-atomic
# Conflicts:
#	test/vs2019/etl.vcxproj.filters
2021-08-02 12:22:01 +01:00
John Wellbelove
8c24b42ccf Type traits refactor 2021-08-01 20:01:29 +01:00
John Wellbelove
8986f80cb0 Merge branch 'development'
# Conflicts:
#	include/etl/version.h
#	library.json
#	library.properties
#	meson.build
2021-08-01 19:43:42 +01:00
John Wellbelove
e92f93b57f Variadic message_packet 2021-07-31 10:38:21 +01:00
John Wellbelove
9fbb6c8008 Type traits refactor 2021-07-29 14:29:00 +01:00
John Wellbelove
734f14a8ec Changed variant files names 2021-07-29 14:29:00 +01:00
John Wellbelove
031b3e7eda Changed variant files names 2021-07-29 14:15:49 +01:00
John Wellbelove
fd89f51621 Type traits refactor 2021-07-29 11:34:16 +01:00
John Wellbelove
1702a6e043 Type traits refactor 2021-07-27 18:17:42 +01:00
John Wellbelove
8f570d81cd Work in progress 2021-07-26 09:29:11 +01:00
John Wellbelove
017095bef3 Merge branch 'master' into development
# Conflicts:
#	support/Release notes.txt
#	test/vs2019/etl.vcxproj.filters
2021-07-23 13:48:52 +01:00
John Wellbelove
7a061a43cd Altered 'unhandled' delegate to tbe the last in the array for the constexpr vspecialisation. 2021-07-23 12:50:17 +01:00
John Wellbelove
d49c2d28e0 Added compile time constexpr initialisation 2021-07-23 10:21:11 +01:00
John Wellbelove
31c183d8ed Added etl::conjunction and etl::disjunction tests 2021-07-19 21:56:26 +01:00
John Wellbelove
140c69e6ea Updated version numbers 2021-07-18 20:22:12 +01:00
John Wellbelove
a7420267a6 Cross compiler compatibity changes 2021-07-18 09:53:13 +01:00
John Wellbelove
e9a9e8d1af Merge branch 'feature/variadic-variant' into development
# Conflicts:
#	.gitignore
#	arduino/examples/Vector_Examples/Example_Vector_1_simple_use/Example_Vector_1_simple_use.ino
#	include/etl/version.h
#	library.json
#	library.properties
#	meson.build
#	support/Release notes.txt
#	test/vs2019/etl.vcxproj.filters
2021-07-17 23:51:16 +01:00
John Wellbelove
42db0ac199 VS2022 Preview Solution 2021-07-17 23:46:24 +01:00
John Wellbelove
aa98a60822 etl::variant release candidate 2021-07-17 23:45:28 +01:00
John Wellbelove
7b63b567b6 Fixes for cross compiler cmpatibility
Added tests for all get<>() functions
2021-07-16 22:21:42 +01:00
John Wellbelove
9c68847c5c Compiler compatibility changes 2021-07-15 12:57:46 +01:00
John Wellbelove
de1a19775e Re-enabled all variant unit tests 2021-07-14 12:37:24 +01:00
John Wellbelove
109997b8d6 Work in progress 2021-07-13 17:15:25 +01:00
John Wellbelove
c54bf63a76 Resolved issues with universal references in construction and assignment.
Added 'in_place' structures.
Added etl::overload.
Updated sanity check cmake files.
Added alignment for const void.
2021-07-11 20:36:01 +01:00
John Wellbelove
d13bf7d5df Changes before merging to development 2021-07-06 18:49:27 +01:00
Benedek Kupper
acf4945023
introduce bip buffer spsc atomic (#402)
Based on the works of Andrea Lattuada and James Munns:
https://blog.systems.ethz.ch/blog/2019/the-design-and-implementation-of-a-lock-free-ring-buffer-with-contiguous-reservations.html
Whose design was inspired by Simon Cooke:
https://www.codeproject.com/Articles/3479/The-Bip-Buffer-The-Circular-Buffer-with-a-Twist

Signed-off-by: Benedek Kupper <benedek.kupper@streamunlimited.com>
2021-07-06 15:42:37 +01:00
John Wellbelove
7f98b3dfc0 Changed script log file name. 2021-07-01 15:06:43 +01:00
John Wellbelove
7bb438bf1b Added the option to derive etl::message<> from a custom parent class 2021-06-30 20:57:42 +01:00
John Wellbelove
ef6885c02c Unified vector asserts 2021-06-30 11:25:37 +01:00
John Wellbelove
4a19216ffe Multi-thread build scripts 2021-06-30 10:14:51 +01:00
John Wellbelove
0b321d21e8 Rebase on master 2021-06-29 20:25:36 +01:00
John Wellbelove
7e9ca31fb1 Updated overloads 2021-06-29 20:04:18 +01:00
John Wellbelove
d566f1ea1a Latest updates 2021-06-29 20:04:18 +01:00
John Wellbelove
45e3200326 Initial commit 2021-06-29 20:04:17 +01:00
John Wellbelove
e8a6e12ca1 Renamed mem_type to mem_cast 2021-06-29 20:03:55 +01:00
John Wellbelove
eb6d5637d4 Added experimental uni_type 2021-06-29 20:03:55 +01:00
John Wellbelove
8683b51dd3 Added experimental uni_type 2021-06-29 20:03:55 +01:00
John Wellbelove
3afe64dab1 Further updates to mem_type 2021-06-29 20:02:49 +01:00
John Wellbelove
67b17b2635 Added experimental uni_type 2021-06-29 20:02:32 +01:00
John Wellbelove
08f16f99f2 Initial commit 2021-06-29 20:00:43 +01:00
John Wellbelove
7874a93d03 Updated Arduino examples 2021-06-29 19:59:08 +01:00
John Wellbelove
81bba3cc31 Updated Arduino examples 2021-06-29 09:55:19 +01:00
John Wellbelove
2025e6ff9b Latest updates 2021-06-22 14:18:26 +01:00
John Wellbelove
dddeb3471f Updates to mem_cast 2021-06-22 14:18:25 +01:00
John Wellbelove
ccc078cc6d Updates to mem_cast 2021-06-22 14:18:25 +01:00
John Wellbelove
3d8302985f Renamed mem_type to mem_cast 2021-06-22 14:18:24 +01:00
John Wellbelove
812f95e0c5 Further updates to mem_type 2021-06-22 14:18:24 +01:00
John Wellbelove
16afbd88ab Interim commit 2021-06-22 14:18:23 +01:00
John Wellbelove
b9ec916b32 Initial commit 2021-06-22 14:18:23 +01:00
John Wellbelove
c992d93bd6 Updates to mem_cast 2021-06-22 14:18:22 +01:00
John Wellbelove
4a9f70cd0c Renamed mem_type to mem_cast 2021-06-22 14:18:02 +01:00
John Wellbelove
fc6e391cb4 Further updates to mem_type 2021-06-22 14:17:22 +01:00
John Wellbelove
c5fba8fd45 Added experimental uni_type 2021-06-22 14:17:10 +01:00
John Wellbelove
2ef35caa77 Added experimental uni_type 2021-06-22 14:16:49 +01:00
John Wellbelove
36db54dd67 Updated version numbers 2021-06-22 14:13:20 +01:00
John Wellbelove
622eaa4434 Fixed copy and move assignment bug 2021-06-22 14:13:20 +01:00
John Wellbelove
b1f771f6b4 Updated version numbers 2021-06-22 12:04:28 +01:00
John Wellbelove
60b04b55f6 Fixed copy and move assignment bug 2021-06-22 11:00:42 +01:00
John Wellbelove
2e0c2a4099 Merge branch 'master' into feature/variadic-variant 2021-06-17 13:45:57 +01:00
John Wellbelove
e44efd75a7 etl::basic_string::copy is now const and does not affect the 'truncated' flag. 2021-06-17 12:01:04 +01:00
John Wellbelove
afabc049b7 Merge branch 'master' into feature/variadic-variant
# Conflicts:
#	include/etl/mem_cast.h
#	test/test_mem_cast.cpp
#	test/test_mem_cast_ptr.cpp
#	test/vs2019/etl.vcxproj
#	test/vs2019/etl.vcxproj.filters
2021-06-14 18:24:59 +01:00
John Wellbelove
fb54f23e5d Latest updates 2021-06-12 11:43:32 +01:00
John Wellbelove
208d0c4a26 Added/adjusted 'force C++03' unit test macros 2021-06-03 10:56:08 +01:00
John Wellbelove
177c4d1e79 Added 'at_offset' functions.
Changed size for mem_cast_ptr from template parameter fo member variable.
2021-06-02 21:33:08 +01:00
John Wellbelove
e21d3edd6a Initial commit 2021-05-31 15:55:13 +01:00
John Wellbelove
b19471dc8a Updates to mem_cast 2021-05-31 10:00:01 +01:00
John Wellbelove
8af219c0b3 Updates to mem_cast 2021-05-30 12:08:03 +01:00
John Wellbelove
abf8d7bb14 Renamed mem_type to mem_cast 2021-05-27 13:23:15 +01:00
John Wellbelove
a5f6d9f033 Further updates to mem_type 2021-05-27 10:41:20 +01:00
John Wellbelove
380fc59b2b Further updates to mem_type 2021-05-26 22:04:34 +01:00
John Wellbelove
ab7fcbee64 Added experimental uni_type 2021-05-25 23:06:15 +01:00
John Wellbelove
84e1241c39 Added experimental uni_type 2021-05-25 11:02:24 +01:00
John Wellbelove
67c19bb0dc Fold expression experiment 2021-05-23 20:37:29 +01:00
John Wellbelove
f4060bc9ea Working. No move functionality. 2021-05-23 16:59:10 +01:00
John Wellbelove
34479a3e31 Working. No move functionality. 2021-05-23 16:10:58 +01:00
John Wellbelove
92515111d9 Interim commit 2021-05-22 20:28:40 +01:00
John Wellbelove
c3bef2c493 Interim commit 2021-05-22 17:11:48 +01:00
John Wellbelove
820bc36aa6 Initial commit 2021-05-21 18:05:02 +01:00
John Wellbelove
0990fa56ee Fixed sparse histogram class name 2021-05-10 16:18:23 +01:00
John Wellbelove
cf9d46810b HFSM documentation 2021-04-26 13:51:33 +01:00
John Wellbelove
2e115df488 Merge branch 'feature/Add-hierarchical-FSM-capabilities-to-the-FSM' into development 2021-04-25 15:11:25 +01:00
John Wellbelove
b01d58a21c Adjustments to code and optimisations 2021-04-25 14:20:29 +01:00
John Wellbelove
7f2ea864e0 Minor changes & renames 2021-04-24 09:25:39 +01:00
John Wellbelove
c5850a005b Minor changes 2021-04-23 11:58:58 +01:00
John Wellbelove
f85d13660f Added additional accept() functions. 2021-04-23 11:29:20 +01:00
Jeremy Overesch
2d3b063df6
Add hierarchical FSM capabilities to the FSM. (#374)
In order to work properly, states with no change need to return ifsm_state::NO_CHANGE rather than their given state id.
Otherwise, when an event isn't handled, it will return the parent state rather than the active state.
Also, in this implementation, a state cannot return a different state during the on_enter_state() function. An assert has been added to check for that.
2021-04-22 08:40:53 +01:00
John Wellbelove
7dfd971b4e Fixed ETL_ASSERT for non-class types in etl::pool. 2021-04-19 19:21:14 +01:00
John Wellbelove
b4c605c761 Add fix to CI 2021-04-13 16:19:54 +01:00
John Wellbelove
0d6c421fb1 Added etl::erase, etl::erase_if, etl::remove, etl::remove_if 2021-04-13 12:27:11 +01:00
John Wellbelove
32ccdb1bab Updated for new tests and sanity checks 2021-04-11 20:58:28 +01:00
John Wellbelove
7a603dcb98 Corrected spelling of quantize 2021-04-11 14:38:57 +01:00
John Wellbelove
d0c5004dfb Updated version and release notes 2021-04-11 10:06:08 +01:00
John Wellbelove
0603794454 Unit tests for algorithms and functors 2021-04-10 16:44:18 +01:00
John Wellbelove
1ac0311cfb Unit tests for algorithms and functors 2021-04-10 15:21:16 +01:00
John Wellbelove
71d03fa8e2 Removed enable_if in maths algorithms 2021-04-07 10:29:57 +01:00
John Wellbelove
d5634910a4 Added etl::variance 2021-04-06 20:41:08 +01:00
John Wellbelove
40da7ad357 Added population/sample option 2021-04-06 20:19:32 +01:00
John Wellbelove
3ba993cf9f Added population/sample option 2021-04-06 10:08:26 +01:00
John Wellbelove
203f082c91 Added etl::standard_deviation + corrected covariance 2021-04-05 20:31:20 +01:00
John Wellbelove
3b367ce2b5 Added etl::covariance and etl::correlation 2021-04-05 19:29:19 +01:00
John Wellbelove
1284cab8a7 Added etl::histogram and etl::sparce_histogram 2021-04-04 13:51:25 +01:00
John Wellbelove
f9ad773dc4 Added etl::histogram and etl::sparce_histogram 2021-04-04 11:34:19 +01:00
John Wellbelove
d649f98a58 CMakeLists fix 2021-03-31 14:36:26 +01:00