1975 Commits

Author SHA1 Message Date
John Wellbelove
83e23b9adf Fix C++ standard syntax compatibility for repair() 2024-01-20 10:08:15 +00:00
John Wellbelove
1825c54570 Minor C++ standards compatibility tweaks 2024-01-20 09:44:51 +00:00
John Wellbelove
47d3d67a14 Modified definition of bitset::Storage_Type for compatibility with C++03 2024-01-18 09:54:07 +00:00
John Wellbelove
0770e76d42 Merge branch 'pull-request/#812-Implement-SAE-J1850-CRC8' into development 2024-01-18 09:30:11 +00:00
Drew Rife
ac4c3e67e6
Implement SAE J1850 CRC8 and "Zero" version (#812)
* feat: added 8bit j1850 crc parameters

* feat: add crc8 j1850 header

* feat: add crc j1850 zero header

* feat: add the crc j1850 headers to crc.h

* test: j1850 4 constructor

* build: crc8 j1850 tests

* test: crc8 j1850 4 add values

* test: crc8 j1850 4 add range

* test: crc8 j1850 4 add range via iterator

* test: crc8 j1850 4 add range endian

* test: crc8 j1850 16 constructor

* test: crc8 j1850 16 add values

* test: crc8 j1850 16 add range

* test: crc8 j1850 16 add range via iterator

* test: crc8 j1850 16 add range endian

* test: crc8 j1850 156 constructor

* test: crc8 j1850 256 add values

* test: crc8 j1850 256 add range

* test: crc8 j1850 add range via iterator

* test: crc8 j1850 256 add range endian

* test: initial commit of crc j1850 zero tests

* build: crc8 j1850 zero tests

* test: crc8 j1850 zero 4 add values

* test: crc8 j1850 zero 4 add range

* test: crc8 j1850 zero 4 add range via iterator

* test: crc8 j1850 zero 4 add range endian

* test: crc8 j1850 zero 16 constructor

* test: crc8 j1850 zero 16 add values

* test: crc8 j1850 zero 16 add range

* test: crc8 j1850 zero 16 add range via iterator

* test: crc8 j1850 zero 16 add range endian

* test: crc8 j1850 zero 256 constructor

* test: crc8 j1850 zero 256 add values

* test: crc8 j1850 zero 256 add range

* test: crc8 j1850 zero 256 add range via iterator

* test: crc8 j1850 zero 256 add range endian

* fix: header include guards
2024-01-13 11:48:55 +00:00
John Wellbelove
3d3dad8499 Work in progress 2024-01-13 11:45:57 +00:00
John Wellbelove
3ca624efb0 Changed case of template constants 2024-01-13 11:45:38 +00:00
John Wellbelove
8f6055e99b Removed ETL_STATIC_CONSTANT 2024-01-13 11:44:59 +00:00
John Wellbelove
ce7ce3bb72 Make binary functor operator() const 2024-01-13 11:44:40 +00:00
John Wellbelove
a7271e470a Work in progress
Comprehensive bitset type comparisons
2024-01-04 00:11:54 +00:00
John Wellbelove
78d2ccf55e Work in progress
Finished updating explicit single element tests for bitset_ext
2023-12-29 16:00:10 +00:00
John Wellbelove
58f469ebd4 Work in progress
Finished updating explicit single element tests
2023-12-29 09:33:20 +00:00
John Wellbelove
c5c88ae010 Work in progress 2023-12-18 15:28:32 +00:00
John Wellbelove
aa4b27b6e6 Work in progress for etl::bitset::extract 2023-12-18 15:21:05 +00:00
John Wellbelove
236af6190a Work in progress for etl::bitset::extract 2023-12-18 15:21:05 +00:00
John Wellbelove
2c8aafedcd Work in progress for etl::bitset::extract 2023-12-18 15:21:05 +00:00
John Wellbelove
a5b425f03e Work in progress for etl::bitset::extract 2023-12-18 15:21:04 +00:00
John Wellbelove
d3b3fdbd40 Fixed 'nodiscard' keyword errors 2023-12-18 11:28:12 +00:00
John Wellbelove
c75617c2b6 #805 legacy etl::bitset set/reset does not work if the element type is greater than 8 bit 2023-12-18 11:07:42 +00:00
John Wellbelove
d17f422dac Added binary functors for ~ & | ^ 2023-12-18 11:02:54 +00:00
John Wellbelove
7bb125a360 Added etl::generate algorithm 2023-12-17 12:54:01 +00:00
John Wellbelove
59cd9e66d7 #807 Change in legacy etl::bitset with nullptr construction + error handling
Harmonised operation of legacy and new etl::bitset
Added ETL_ASSERT checks for nullptr buffer pointers for etl::bitset_ext
2023-12-16 12:57:36 +00:00
John Wellbelove
8f88aa0141 Fixed etl::optional operator =() for invalid values with non-pod types 2023-12-15 10:06:21 +00:00
John Wellbelove
489429bd7c Fixed operator == implementations 2023-12-13 09:58:44 +00:00
John Wellbelove
dd060d5013 Updated version and release 2023-12-10 16:25:45 +00:00
John Wellbelove
f500cd29a8 Prioritize ETL_TARGET_OS_* for mutex selection 2023-12-10 12:57:39 +00:00
John Wellbelove
783be74dd3 Updated version and release notes 2023-12-08 09:26:23 +00:00
John Wellbelove
eba9c5797d Added CRC1 (AKA Parity)
Modified test suit names
2023-12-08 09:03:17 +00:00
John Wellbelove
9161413337 Merge branch 'hotfix/#799-Iterator-returned-by-crc.input()-does-not-satisfy-std--output_iterator' into development 2023-12-08 08:46:34 +00:00
John Wellbelove
6775dba40d Fixed output iterator for frame_check_sequence and pseudo_moving_average 2023-12-08 08:46:16 +00:00
John Wellbelove
4b97e82876 Added CRC1 (AKA Parity)
Modified test suit names
2023-12-07 16:19:46 +00:00
John Wellbelove
1027e66279 #795 etl::private_variant doesn't fully respect the chosen error reporting. 2023-12-05 14:24:32 +00:00
John Wellbelove
bdba48016b typo 2023-12-05 09:59:44 +00:00
John Wellbelove
8aa799a3cb Added check for NAN definitions for C++11 FP functions 2023-12-05 09:53:47 +00:00
John Wellbelove
cbbd1d840a Added additional etl::make_lsb_mask and etl::make_msb_mask binary functions 2023-12-04 08:38:42 +00:00
John Wellbelove
4606e33a6d Merge branch 'pull-request/#782-Set-is-full-error-when-adding-existing-item' into development 2023-11-24 11:26:55 +00:00
İsmail Tüzün
c6fecd9d7c
Set is full error when adding existing item (#782)
* Fixed set_full error when inserting existing item.

* Added test inserting existing value to full set

* Added test inserting existing value to full flat_set and reference_flat_set

* Fixed unordered_set_full error when inserting existing item.
2023-11-24 11:24:52 +00:00
John Wellbelove
b732b14c53 Update version and release notes 2023-11-24 11:22:50 +00:00
John Wellbelove
04211563f5 Fix useless cast 2023-11-24 10:23:12 +00:00
John Wellbelove
63d1a64e6c #787 etl::expected doesn't compile with ETL_LOG_ERRORS
Updated CI scripts
#786 u8string
#783 Cannot insert existing value to full set
#781 etl::multi_span::iterator::operator *() fails if first span is empty
#780 endian enum_type produces useless-cast warnings
#779 hash.h: warnings produced with -Wfloat-equal
2023-11-24 09:59:35 +00:00
John Wellbelove
f5879a757a Merge branch 'hotfix/#779-hash-h-warnings-produced-with-Wfloat-equal' into development
# Conflicts:
#	test/run-tests.sh
#	test/vs2022/etl.vcxproj.filters
2023-11-21 17:55:57 +00:00
John Wellbelove
61da85fa77 Removed float-equal warnings
Added functions is_nan, is_infinity, is_zero & is_exactly_equal
Fixed array-bounds warnings for GCC and -O2 optimisation
2023-11-21 15:13:24 +00:00
John Wellbelove
03cbf64c42 Merge branch 'hotfix/#787-etl-expected-doesn't-compile-with-ETL_LOG_ERRORS' into development 2023-11-14 10:35:32 +00:00
John Wellbelove
6c3eddaf76 Changed etl::expected_invalid to non-template type
Added tests for rereference operators
2023-11-14 10:35:04 +00:00
John Wellbelove
521bae91eb Merge branch 'hotfix/#781-etl-multi_span-iterator-function-operator-fails-if-first-span-is-empty' into development 2023-11-14 00:08:57 +00:00
John Wellbelove
b6650120f8 Added u8string + utilities
Changed char types to unsigned 'least' types
2023-11-14 00:06:57 +00:00
John Wellbelove
c400779905 #781 etl::multi_span::iterator::operator *() fails if first span is empty 2023-11-03 18:37:25 +01:00
John Wellbelove
5622a98571 Refactoring 2023-10-31 11:12:07 +01:00
John Wellbelove
23a76d2371 Refactored back_inserter support 2023-10-29 09:01:08 +01:00
John Wellbelove
9a5ed96f8e Renamed test file 2023-10-29 09:00:49 +01:00
John Wellbelove
02e69f5757 Added padding flag 2023-10-29 09:00:49 +01:00
John Wellbelove
b1a042385f Removed static from encode and decode functions 2023-10-29 09:00:49 +01:00
John Wellbelove
0523fc869a Static version of Base64 - RFC-6848 - No optional padding 2023-10-29 09:00:49 +01:00
John Wellbelove
58c55a8bb6 Updates 2023-10-29 08:59:11 +01:00
John Wellbelove
f9233f99ab Refactor to support multiple RFCs 2023-10-29 08:58:11 +01:00
John Wellbelove
8db9613320 Renamed test file 2023-10-29 08:58:11 +01:00
John Wellbelove
5016d4033f Added padding flag 2023-10-29 08:58:10 +01:00
John Wellbelove
456a56e7aa Removed static from encode and decode functions 2023-10-29 08:58:10 +01:00
John Wellbelove
25338fb0d1 Static version of Base64 - RFC-6848 - No optional padding 2023-10-29 08:58:10 +01:00
John Wellbelove
91a150e37b Updates 2023-10-29 08:58:10 +01:00
John Wellbelove
47e16bd010 Updated version and release notes 2023-10-28 22:52:41 +02:00
John Wellbelove
09c3b30f83 Revert "Added add_lvalue_reference for rvalue reference"
This reverts commit a09efffb8fadb0c25923fe5435b7b1f9bdd673f1.
2023-10-28 11:38:54 +02:00
John Wellbelove
a09efffb8f Added add_lvalue_reference for rvalue reference 2023-10-28 11:35:38 +02:00
John Wellbelove
f8d5c31f66 Refactored swap 2023-10-28 11:33:25 +02:00
John Wellbelove
39c3ca8dea Merge remote-tracking branch 'origin/pull-request/#777-Allow-Building-Tests-as-Submodule-and-GCC-less-than-11' into development 2023-10-27 10:20:58 +02:00
jmartens-42
13759c1cbb
moved BUILD_TESTS check outside of root cmake check to allow building tests in submodules (#777)
added check for GNUC >= 11 for -Wstringop-overread ignore pragma since it isn't introduced until gcc/g++-11

Co-authored-by: Josh <joshua.martens@magna.com>
2023-10-26 20:07:23 +02:00
John Wellbelove
e8eeeba875 Merge branch 'master' into development 2023-10-23 09:59:41 +01:00
John Wellbelove
85f2e09ef7 #776 Add missing semicolons 2023-10-23 09:35:01 +01:00
H1MSK
837a5156b4
Add missing semicolons (#776) 2023-10-22 16:16:04 +01:00
John Wellbelove
5ca6e05eb8 Added etl::string interface to etl::base64 2023-10-15 11:44:23 +01:00
John Wellbelove
21a9b884bc Added etl::string::fill() 2023-10-15 11:44:23 +01:00
John Wellbelove
6bc244cf8e Final changes 2023-10-15 11:44:22 +01:00
John Wellbelove
f7281dc680 Initial code 2023-10-15 11:44:22 +01:00
John Wellbelove
91a357d18d static_cast for string_view & array_view size() member functions 2023-10-15 11:44:22 +01:00
John Wellbelove
92e880f3b1 #773 Return raw pointer for etl::multi_span::operator->() 2023-10-14 21:34:39 +01:00
David Hebbeker
e631a0fd9b
Return raw pointer for etl::multi_span::operator->(). (#773)
- using `operator*()` in case getting the current element is changed one day
- using `&` to get the address

Simply returning `p_value` may break in case the internal type of `p_value` would change. This way it is more robust to changes.
2023-10-13 20:48:46 +01:00
John Wellbelove
24b145896d Updated versions 2023-09-27 17:56:10 +01:00
John Wellbelove
11155eb9f1 Fixed alignment functionality 2023-09-27 13:48:53 +01:00
John Wellbelove
d507106764 Merge branch 'development' of https://github.com/ETLCPP/etl into development 2023-09-24 19:56:38 +01:00
John Wellbelove
754ac74d5a Updated release notes 2023-09-24 19:48:15 +01:00
John Wellbelove
61713b6ce4 Refactored storage for etl::optional 2023-09-24 18:54:24 +01:00
John Wellbelove
1f368ead6c #766 etl::unique_ptr::reset() can call deleter with nullptr argument 2023-09-23 11:29:14 +01:00
John Wellbelove
40df32148e Merge branch 'hotfix/#749-Code-change-causes-warning-with-armcc-compiler' into development 2023-09-21 18:25:01 +01:00
John Wellbelove
2b6f6de846 Commets added 2023-09-21 18:22:48 +01:00
John Wellbelove
9a73f5e3a5 Enabled etl::overload for C++11 & C++14 2023-09-20 23:06:45 +01:00
Andreas
ee8be059e8 Remove BOM from random.h (#762)
random.h is the only file with UTF8-BOM and IAR can not handle it.
For compatibility reasons it should be removed.

Co-authored-by: Andreas Pelczer <pelczer@stoerk-tronic.com>
2023-09-20 23:06:45 +01:00
Andreas
b2adb0de9f Make "private" includes relativ (#761)
Avoid "include not found" when indirectly including etl-header

Co-authored-by: Andreas Pelczer <pelczer@stoerk-tronic.com>
2023-09-20 23:06:33 +01:00
Soma Veszelovszki
93091cff0f Fixed: move assignment not working for non-empty containers (#759) 2023-09-20 23:06:32 +01:00
John Wellbelove
9311256931 Possible fix for #756 2023-09-20 23:06:32 +01:00
John Wellbelove
0216ecf020 Updated version and release notes 2023-09-20 23:06:32 +01:00
John Wellbelove
4469aeb63c Added conversion operators to std::span
MacOS clang span issue

MacOS clang span issue

MacOS clang span issue

MacOS clang span issue

MacOS clang span issue
2023-09-20 23:06:32 +01:00
John Wellbelove
d51784765f const_reference at(size_t i) const is only constexpr from C++14 2023-09-04 08:08:34 +01:00
John Wellbelove
a4879c8908 #755 warning about constexpr in array.h 2023-09-03 23:50:03 +01:00
John Wellbelove
01d96609cf #753 [porting] IAR's overload resolution struggles with etl::span::span(etl::array&)
#754 ambiguous etl::bit_stream_reader::bit_stream_reader() for some etl::span
2023-09-02 14:50:24 +01:00
John Wellbelove
7fdaa7c9a4 Updated vesrion and release notes 2023-08-29 13:48:24 +01:00
John Wellbelove
94654689e8 Removed semicolon warnings 2023-08-29 09:25:58 +01:00
John Wellbelove
b38afd7fc9 Updated version and release notes 2023-08-26 11:49:17 +01:00
John Wellbelove
5402a3ed14 Added destructor to CMSIS_RTOS2 mutex 2023-08-26 10:46:05 +01:00
John Wellbelove
c92ab94220 Change to require semicolons after debug count macros.
Added error assert for vector reserve greater than capacity.
2023-08-25 21:08:01 +01:00
John Wellbelove
ee7fc16192 Merge branch 'feature/#744-get-time-when-next-timer-will-expire-etl--callback_timer' into development
# Conflicts:
#	.gitignore
#	include/etl/intrusive_forward_list.h
2023-08-25 15:38:13 +01:00
John Wellbelove
a65725a283 Merge branch 'hotfix/#746-Missing-etl--legacy--variant-overload-of-emplace-with-0-Arguments' into development 2023-08-25 15:36:05 +01:00
John Wellbelove
076896e329 Remove used variable 2023-08-25 15:14:26 +01:00
John Wellbelove
f5f0ef35f5 Remove used variable 2023-08-25 12:25:38 +01:00
John Wellbelove
7e31561363 Fix issue of release of an object on empty an pool 2023-08-25 10:32:25 +01:00
John Wellbelove
53084ae932 Added c++03 zero parameter emplace member functions 2023-08-25 02:05:46 +01:00
John Wellbelove
7e266687a2 Added C++03 compatible etl::move or etl::move_backward 2023-08-23 19:54:28 +01:00
John Wellbelove
f4ca3cefe1 Added 'sentence case' versions of constants 2023-08-21 21:33:44 +01:00
John Wellbelove
11daaa398b Added time_to_next() status function 2023-08-21 20:58:44 +01:00
John Wellbelove
870759fcab Removed unused variable
Minor format edit
2023-08-21 20:57:33 +01:00
John Wellbelove
77fb39c9d2 Removed redundant #includes 2023-08-20 20:16:27 +01:00
John Wellbelove
06761ca562 #745 Assertion triggered in hash.h when compiling for MSP430 2023-08-19 12:27:57 +01:00
John Wellbelove
faed17ab99 Allow C++03 delegate in etl::callback_timer 2023-08-18 20:54:47 +01:00
John Wellbelove
45fb06af3f Changes require for non-virtual messages 2023-08-18 20:51:36 +01:00
John Wellbelove
13d723f2db Merge branch 'development' of https://github.com/ETLCPP/etl into development 2023-08-15 12:41:13 +01:00
David Hebbeker
9985539787
Remove some unreachable code in bitset_new.h (#743)
Warning[Pe111]: statement is unreachable
2023-08-15 12:39:28 +01:00
John Wellbelove
27e9e3c1b8 Added support for self transitions 2023-08-13 14:10:55 +01:00
John Wellbelove
2c3fa4a796 Added multi char type strcmp, strncmp, strcpy & strncpy 2023-08-13 10:39:02 +01:00
John Wellbelove
9d59e2d77e Edited comments 2023-08-13 10:36:52 +01:00
John Wellbelove
2ec6ed54db Merge branch 'pull-request/#741-add-stringify-macro' into development 2023-08-13 10:34:11 +01:00
John Wellbelove
81815a2dc9 Updated stringify macro for variadic parameters 2023-08-13 10:33:48 +01:00
David Hebbeker
cab9b76821
add stringify macro (#741)
* Add include/linux/stringify.h from Linux kernel 2.6.12-rc2

(cherry picked from commit 1da177e4c3)

* Make __stringify support variable argument macros too

For example:

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

will now convert it to:

  "REC->irq, REC->ret"

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

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

* Add documentation.

* Adjust names in order to satisfy naming convention.

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

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

* Adjust to ETL folder structure.

* Change include guard to the one usual in ETL.

* Add definition guard for STRINGIFY.

---------

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

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

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

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

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

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

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

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

* Fix constructors in expected.h.

* Fix sanity checks.

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2023-05-20 11:43:49 +01:00
John Wellbelove
7147baac50 Updated constructor member initialisation 2023-05-19 19:34:18 +01:00
John Wellbelove
1f4cb9f403 etl::overload in C++17 only 2023-05-16 10:40:06 +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
868b3f31f9 #695 Visiting a const variant (variadic) 2023-05-13 20:58:48 +01:00
John Wellbelove
9a6938d2c0 map optimisations 2023-05-12 10:52:40 +01:00
John Wellbelove
33319a6dbc C++03 compatibilty 2023-05-11 17:47:43 +01:00
John Wellbelove
db42c82d82 C++03 compatibilty 2023-05-11 17:15:34 +01:00
John Wellbelove
b407261314 Merge branch 'development' of https://github.com/ETLCPP/etl into development 2023-05-11 15:51:55 +01:00
John Wellbelove
7fc0c575bb map optimisations 2023-05-11 15:50:53 +01:00
John Wellbelove
688ac131bb Removed [] operator 2023-05-11 09:50:05 +01:00
John Wellbelove
eaebff65b9 Formatting change 2023-05-11 09:49:43 +01:00
Manuel Seeböck
0872b22e8f
fixed etl::optional emplace (#693) 2023-05-10 11:51:46 +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
52d46ebf62 Changed ARRAY_SIZE template parameter to Array_Size (part of a continuous mod to change all upper case constants to initial caps case 2023-05-05 12:50:39 +01:00
John Wellbelove
d219f4a3e9 Changed declaration of value_type in the top level classes 2023-05-05 12:49:04 +01:00
John Wellbelove
88f4718735 Changed 'class' to 'typename' 2023-05-05 12:45:41 +01:00
John Wellbelove
23472f1099 Made non-template functions inline 2023-05-05 12:45:13 +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
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
2eff7b396b Updated version and release notes 2023-05-01 10:11:11 +01:00
John Wellbelove
478c954b31 #682 hfsm::start() does not update state for call_on_enter_state = true 2023-05-01 10:10:14 +01:00
John Wellbelove
963e39f716 Removed redundant 'const' qualifiers in non-type template parameters 2023-04-30 20:42:49 +01:00
John Wellbelove
4d153b2a18 FSM statics update 2023-04-30 18:29:13 +01:00
John Wellbelove
9f4c5bbb94 C++11 unit tests - Work in progress 2023-04-30 11:06:23 +01:00
John Wellbelove
4747c8c5b7 Fixed C++11 constexpr compatibility 2023-04-29 11:15:49 +01:00
John Wellbelove
6d562800ee Fixed incorrect return types for reverse iterator begin() & end()
Updated C++ standard conditional compilation for reverse iterator functions
2023-04-29 11:15:12 +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
Pasi Miettinen
6b43ded97b circular_buffer: Remove extra semicolon (#683)
* Update README.md

* Update README.md

* Update a \param in basic_string.h (#681)

Co-authored-by: Max Hughson <hughsonm@myumanitoba.ca>

* circular_buffer: Remove extra semicolon

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Max Hughson <38259768+hughsonm@users.noreply.github.com>
Co-authored-by: Max Hughson <hughsonm@myumanitoba.ca>
Co-authored-by: Pasi Miettinen <pasim@onenav.ai>
2023-04-28 11:48:29 +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
6e686d4799 Message packet unused parameter fix 2023-04-26 10:00:10 +01:00
John Wellbelove
730be1b39d Added ETL_OR_STD17 macro as the namespace for size()
Added definitions for all public statics
2023-04-23 18:59:41 +01:00
Tyler Tracy
402e04872f
Update scheduler.h (#686)
Removed call to task.on_task_added()
2023-04-21 11:29:42 +01:00
John Wellbelove
6c4f111e9c static member constants 2023-04-11 16:32:30 +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
d1eb55e295 Fixed comment spelling 2023-04-02 11:06:43 +01:00
John Wellbelove
5b40111f84 Added Tasking compiler 2023-04-02 11:06:43 +01:00
John Wellbelove
2f53c0f871 Updated versions 2023-04-02 11:06:43 +01:00
John Wellbelove
1aa963d469 Fix type traits generator 2023-04-02 11:06:43 +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
293e69e37e #675 Compilation error in optional.h line 405 2023-04-02 11:06:42 +01:00
Max Hughson
b591ef9184
Update a \param in basic_string.h (#681)
Co-authored-by: Max Hughson <hughsonm@myumanitoba.ca>
2023-04-02 00:44:45 +01:00
John Wellbelove
70ce8efa94 Comments and noexcept updates to placement new 2023-03-31 16:03:03 +01:00
John Wellbelove
967e3da8db Fixed comment spelling 2023-03-28 19:51:47 +01:00
John Wellbelove
6a3ce87d43 Added Tasking compiler 2023-03-28 17:43:32 +01:00
John Wellbelove
a198ba143e Updated versions 2023-03-28 17:43:19 +01:00
John Wellbelove
9a943f4ea3 Fix type traits generator 2023-03-28 17:43:00 +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
542a28a6f3 #675 Compilation error in optional.h line 405 2023-03-10 17:45:39 +00:00
John Wellbelove
0676ded8cf Converted Visual Studio project to VS2022 2023-03-08 14:03:24 +00:00
John Wellbelove
ef4fbdd6c4 Convert the Visual Studio project to VS2022 2023-03-07 20:33:09 +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
2da1accd19 Version updates 2023-02-21 11:52:54 +00:00
John Wellbelove
a89988b8a0 Fix enable_if syntax 2023-02-20 11:39:29 +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