1721 Commits

Author SHA1 Message Date
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
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
a21c4bb2f0 Removed unnecessary code in etl::vector_ext::repair() 2023-02-19 10:44:54 +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
d6a5a35910 Fixed etl::result merge issues 2023-02-08 20:27:36 +01:00
John Wellbelove
e3e12ef731 Work in progress 2023-02-08 18:49:41 +01:00
John Wellbelove
1d12a86114 Work in progress 2023-02-08 16:40:15 +01:00
John Wellbelove
31ec6dede5 Merge branch 'hot-fix/#667-etl-span-copy-constructor-with-original-span-create-with-a-fixed-extent-causes-pend-iterator-to-be-invalid' into development 2023-02-07 10:55:41 +01:00
John Wellbelove
a08d7f14dc Fixed span templated copy constructor 2023-02-07 10:55:16 +01:00
John Wellbelove
a710c77d79 Merge branch 'feature/#615-addition-of-etl--expected' of https://github.com/ETLCPP/etl into feature/#615-addition-of-etl--expected
# Conflicts:
#	arduino/library-arduino.json
#	arduino/library-arduino.properties
#	include/etl/expected.h
#	include/etl/private/variant_variadic.h
#	include/etl/result.h
#	include/etl/version.h
#	library.json
#	library.properties
#	support/Release notes.txt
#	version.txt
2023-02-06 20:25:53 +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
9a13b8c24f Work-In-Progress 2023-02-06 19:54:49 +01:00
John Wellbelove
bdea8c1622 Work-In-Progress 2023-02-06 19:54:32 +01:00
John Wellbelove
f858b36e82 Work-In-Progress 2023-02-06 19:48:51 +01:00
John Wellbelove
580fd757b4 Added destination_router_id parameter overrides to receive() virtuaL functions 2023-01-29 20:55:40 +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
5fb3e4c2e6 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-01-21 10:55:15 +00:00
John Wellbelove
f8d5a84161 Change iterator constructor parameter from reference to pointer 2023-01-20 12:13:27 +00:00
John Wellbelove
38c807401e Added emplace by index to variant (variadic)
#660 byte_stream_reader::skip error
2023-01-20 10:53:47 +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
76e2cb1899 Updated version and release info 2023-01-07 15:23:17 +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
53d3dd7852 Updated version and release notes 2023-01-05 12:48:22 +00:00
John Wellbelove
a414680608 Merge branch 'hotfix/#657-Wpedantic-failure' into development 2023-01-04 10:28:12 +00:00
John Wellbelove
cc2306e1db Removed superfluous semicolons 2023-01-04 10:28:00 +00:00
John Wellbelove
58136cac7b Fixed perfect forwarding for make_xxx helper functions 2022-12-30 18:10:12 +00:00
John Wellbelove
ddf557a0b2 Added etl::result<TValue, void> specialisation
Reverted code for etl::result<void, TError> specialisation
2022-12-28 18:28:10 +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
16abc0cab4 #649 etl::intrusive_list array bounds test failure 2022-12-28 12:49:42 +00:00
John Wellbelove
3515a94c15 Updated version info 2022-12-22 19:01:57 +00:00
David Hebbeker
280c309885 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.
2022-12-22 16:22:05 +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
John Wellbelove
8527d6864e #643 Don't use push_macro and pull_macro with Tasking compiler 2022-12-14 11:31:06 +00:00
Todd Snider
22419e3b8b
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>
2022-12-14 00:40:29 +00:00
John Wellbelove
1bf04dcfc6 Updated version info 2022-12-08 12:13:49 +00:00
John Wellbelove
fb10c1d3c7 Incorrect C++03 enable_if syntax 2022-12-08 12:10:57 +00:00