1694 Commits

Author SHA1 Message Date
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