1975 Commits

Author SHA1 Message Date
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
John Wellbelove
72a7273a19 Updated version info 2022-11-25 16:04:02 +00:00
John Wellbelove
d51b0a8427 Updated version info 2022-11-23 12:31:56 +00:00
Chiraffollo
82c2f8a26d
Fix bug #636 in optional emplace for pod types (#638) 2022-11-23 09:25:24 +00:00
John Wellbelove
3623ba5b38 Updated version and release notes 2022-11-16 18:26:22 +01:00
John Wellbelove
54fe9e2554 Fixed incorrect 'valid' flag in assignment operator for arithmetic specialisation 2022-11-16 18:21:46 +01:00
John Wellbelove
22798e1454 Fix duplicate function 2022-11-09 10:42:10 +00:00
John Wellbelove
7184e57a19 Updated versions & memory.h 2022-11-09 09:52:09 +00:00
John Wellbelove
02a3083015 unique_ptr updates - Work in progress 2022-11-07 20:53:10 +00:00
John Wellbelove
3d60bb3c86 Removed duplicate include 2022-11-07 20:52:30 +00:00
John Wellbelove
e9a13b8c9b Work-In-Progress 2022-10-31 17:54:47 +00:00
John Wellbelove
85d40b9dda Remove pointer only etl::to_arithmetic API 2022-10-31 17:04:53 +00:00
John Wellbelove
2d23392ca8 Removed ETL_NODISCARD from constructors 2022-10-29 22:07:01 +01:00
John Wellbelove
76e9ddabfc Updated version and release notes 2022-10-29 22:04:12 +01:00
John Wellbelove
d93c330b76 Finalised etl::to_arithmetic 2022-10-29 21:37:46 +01:00
John Wellbelove
4e4a951f62 Partial change to etl::expected result 2022-10-25 15:45:52 +01:00
John Wellbelove
743d4e32ca Finished floating point conversions and tests 2022-10-24 14:24:28 +01:00
John Wellbelove
1b44133b68 Reordered member initialisation 2022-10-23 19:49:22 +01:00
John Wellbelove
b0266fcc4a Removed constexpr for etl::bit_cast due to unreliability of compiler support 2022-10-23 19:48:49 +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
d648e27b7f Added has_value() as an alias for is_value()
For consistency with STL
2022-10-20 14:36:28 +01:00
John Wellbelove
890195f3b4 Added ETL_ERROR_WITH_VALUE macro for exceptions that require a value 2022-10-20 14:35:23 +01:00
John Wellbelove
76c7c1a175 Merge branch 'feature/#596-helper-functions-to-convert-strings-to-numeric-values' of https://github.com/ETLCPP/etl into feature/#596-helper-functions-to-convert-strings-to-numeric-values
# Conflicts:
#	include/etl/file_error_numbers.h
#	include/etl/to_arithmetic.h
#	test/vs2019/etl.vcxproj.filters
2022-10-19 19:34:50 +01:00
John Wellbelove
c4aab3397a Tidy up 2022-10-19 19:33:34 +01:00
John Wellbelove
fe497b5945 Work-In-Progress
Integral functions
2022-10-19 19:33:34 +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
94117cd56b 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
1e53bbbbb8 Work-In-Progress
Alternate decoding
2022-10-19 19:33:19 +01:00
John Wellbelove
626611b43e Work-In-Progress
Alternate decoding
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
cee3716d54 Experimental algorithm 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
5bf2f1f8e6 Work-In-Progress
Alternate decoding
2022-10-19 19:30:52 +01:00
John Wellbelove
103c443386 Work-In-Progress
Alternate decoding
2022-10-19 19:30:52 +01:00
John Wellbelove
44d83438a9 Experimental algorithm 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
9b461dea27 Added etl::npos
Added specialisation of etl::optional for POD
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
1d6886ab6e Disable 'unititialized' warning for classes that use uninitialized buffers 2022-10-19 19:12:37 +01:00
John Wellbelove
ae4e1cde3a Fixed merge error 2022-10-19 13:03:58 +01:00
John Wellbelove
c6f892fc66 Changed scaling template parameter 2022-10-19 12:22:52 +01:00
John Wellbelove
b76e9ba553 Remove redundant functions 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
benedekkupper
9d24c789f8 unaligned types: use unsigned storage type (#614)
This saves one static_cast when copying from storage to value,
and prevents unintended sign-extension when extracting raw data.
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
8382606b7b char to unsigned char storage 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
Ross Younger
92d8739db4 Fix bare assert in reference_counted_object.h (#613)
Signed-off-by: Ross Younger <crazyscot@gmail.com>

Signed-off-by: Ross Younger <crazyscot@gmail.com>
2022-10-19 12:20:42 +01:00
John Wellbelove
daa42f2d4b Endianness for IAR compiler 2022-10-19 12:20:42 +01:00
David Hebbeker
804a401a6e Automatically detect native endianness for IAR compiler platform. (#612)
* Auto detect native endianness for IAR compiler platform.

References:

- [IAR C/C++ Development Guide Compiling and Linking for Arm Limited’s **Arm**® Cores](https://wwwfiles.iar.com/arm/webic/doc/ewarm_developmentguide.enu.pdf)
- [IAR C/C++ Compiler User Guide for Microchip Technology’s **AVR** Microcontroller Family](https://wwwfiles.iar.com/AVR/webic/doc/EWAVR_CompilerGuide.pdf)

* Fix spelling mistake.
2022-10-19 12:20:42 +01:00
David Hebbeker
a4a096a54d 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.
2022-10-19 12:20:42 +01:00
David Hebbeker
aa2d249fdc 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.
2022-10-19 12:20:42 +01:00
jeremyerdmann
93d9df9c9b
Automatically set ETL_HAS_ATOMIC if __STDC_NO_ATOMICS__ defined by compiler. (#624)
Reference: https://en.cppreference.com/w/c/atomic

Co-authored-by: Jeremy Erdmann <jeremy.erdmann@millerwelds.com>
2022-10-18 18:30:48 +01:00
John Wellbelove
2933fd54d2 Tidy up 2022-10-14 19:17:23 +01:00
John Wellbelove
49e8c3fc4d Work-In-Progress
Integral functions
2022-10-13 19:43:45 +01:00
John Wellbelove
bb7df497ca Work-In-Progress 2022-10-11 06:56:58 +01:00
John Wellbelove
f03143e9b3 Work-In-Progress 2022-10-08 15:22:28 +01:00
John Wellbelove
b48e75b737 Work-In-Progress 2022-10-08 15:00:09 +01:00
John Wellbelove
d9fa85c9a2 Work-In-Progress 2022-10-07 13:39:04 +01:00
John Wellbelove
8cd0546e36 Merge branch 'development' into feature/#596-helper-functions-to-convert-strings-to-numeric-values
# Conflicts:
#	include/etl/file_error_numbers.h
2022-10-07 12:52:58 +01:00
John Wellbelove
de15d0e2fa Changed scaling template parameter 2022-10-06 23:48:53 +01:00
John Wellbelove
a62920adec Remove redundant functions 2022-10-06 14:51:20 +01:00
Chiraffollo
29792fb1f3
fix bug in find_next of (new) bitset class (#618) 2022-10-05 12:20:36 +01:00
John Wellbelove
ed91987454 Fix small issues
Move tests to test_iterator
2022-10-04 18:42:14 +01:00
Eric Vantillard
af98e175e2
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-04 12:03:15 +01:00
John Wellbelove
eef3605297 Merge branch 'hotfix/#606-fix-non-usages-of-key-equal-function' into development 2022-10-04 11:58:23 +01:00
Jesse Li
52b7187324
[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-03 19:17:00 +01:00
Jesse Li
5dee901894
Fix non-usage of key equal function (#606)
Co-authored-by: Jesse <jli@planarmotor.com>
2022-10-03 19:08:08 +01:00
John Wellbelove
5faf7b0dc1 Merge branch 'hotfix/#614-unaligned-types-match-the-signedness-of-the-storage-type-with-the-template-type' into development 2022-10-03 19:05:13 +01:00
John Wellbelove
a63408e66a Merge branch 'hotfix/#614-unaligned-types-match-the-signedness-of-the-storage-type-with-the-template-type' of https://github.com/ETLCPP/etl into hotfix/#614-unaligned-types-match-the-signedness-of-the-storage-type-with-the-template-type
# Conflicts:
#	include/etl/unaligned_type.h
2022-10-03 16:52:36 +01:00
John Wellbelove
644c950016 Storage type to unsigned char 2022-10-03 16:46:05 +01:00
benedekkupper
34cbc538fc
unaligned types: use unsigned storage type (#614)
This saves one static_cast when copying from storage to value,
and prevents unintended sign-extension when extracting raw data.
2022-10-03 16:43:23 +01:00
John Wellbelove
e17348b94d Work-In-Progress 2022-10-03 11:56:57 +01:00
John Wellbelove
2f31267ea2 char to unsigned char storage 2022-10-03 01:00:51 +01:00
John Wellbelove
9c04431bea Merge branch 'feature/#610-add-pair-functors' into development 2022-10-02 13:01:11 +01:00
John Wellbelove
74b3cad1a4 Merge branch 'development' of https://github.com/ETLCPP/etl into development 2022-10-02 12:56:35 +01:00
John Wellbelove
7dd3e3bcbb Added select1st and select2nd 2022-10-02 12:55:55 +01:00
Eric Vantillard
8b52ad62dd
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-01 11:40:18 +01:00
John Wellbelove
70b475491a Work-In-Progress
Alternate decoding
2022-10-01 11:37:32 +01:00
Ross Younger
7bf7a4d744
Fix bare assert in reference_counted_object.h (#613)
Signed-off-by: Ross Younger <crazyscot@gmail.com>

Signed-off-by: Ross Younger <crazyscot@gmail.com>
2022-10-01 11:30:37 +01:00
John Wellbelove
9b4bf6b66c Work-In-Progress
Alternate decoding
2022-09-30 11:47:14 +01:00
John Wellbelove
016ebc92d2 Work-In-Progress
Alternate decoding
2022-09-30 11:47:14 +01:00
John Wellbelove
d9686c7824 Experimental algorithm 2022-09-30 11:47:13 +01:00
John Wellbelove
db3af4f14f Work-In-Progress
Function parameter radix implementation
2022-09-30 11:47:13 +01:00
John Wellbelove
5d393f0ef4 Added etl::npos
Added specialisation of etl::optional for POD
2022-09-30 11:47:13 +01:00
John Wellbelove
ade73ed78d Refactored to_arithmetic 2022-09-30 11:47:13 +01:00
John Wellbelove
741a002942 First implementation ideas 2022-09-30 11:47:13 +01:00
John Wellbelove
c8471e5eeb Endianness for IAR compiler 2022-09-30 11:46:13 +01:00
David Hebbeker
d1e094476e
Automatically detect native endianness for IAR compiler platform. (#612)
* Auto detect native endianness for IAR compiler platform.

References:

- [IAR C/C++ Development Guide Compiling and Linking for Arm Limited’s **Arm**® Cores](https://wwwfiles.iar.com/arm/webic/doc/ewarm_developmentguide.enu.pdf)
- [IAR C/C++ Compiler User Guide for Microchip Technology’s **AVR** Microcontroller Family](https://wwwfiles.iar.com/AVR/webic/doc/EWAVR_CompilerGuide.pdf)

* Fix spelling mistake.
2022-09-29 08:20:54 +01:00
David Hebbeker
24ebe3efe8
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.
2022-09-14 11:29:37 +01:00
David Hebbeker
d31f787585
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.
2022-09-14 11:12:47 +01:00
John Wellbelove
e99a1a5845 Attempt to fix clang CI error 2022-09-11 19:50:09 +01:00
John Wellbelove
f8d9eb0f46 Attempt to fix clang CI error 2022-09-11 18:02:27 +01:00
John Wellbelove
0bfe4baa63 Attempt to fix clang CI error 2022-09-11 16:04:15 +01:00
John Wellbelove
23be4cfd02 Attempt to fix clang CI error 2022-09-11 15:41:51 +01:00
John Wellbelove
38458a71e3 Attempt to fix clang CI error 2022-09-11 15:29:51 +01:00
John Wellbelove
bc48b8ac4e Deleted copy constructors for etl::circular_buffer_ext, etl_indirect_vector and etl::vector to eliminate dangling pointers. 2022-09-11 12:04:28 +01:00
John Wellbelove
f952057508 Added ETL_ENUM_CLASS and ETL_ENUM_CLASS_TYPE macros 2022-09-11 00:59:34 +01:00
John Wellbelove
c953100dd0 Improved etl::span/std::span compatibility 2022-09-11 00:58:22 +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
1e7b5887f5 Minor changes 2022-09-09 19:06:23 +01:00
John Wellbelove
435cec705f Modified order of standard includes 2022-09-09 14:20:24 +01:00
John Wellbelove
737b0bf6f7 #591 Automatically define __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS 2022-09-08 23:00:48 +01:00
John Wellbelove
2d0d744c74 Updated etl::bitset and added etl::bitset_ext 2022-09-08 20:11:20 +01:00
John Wellbelove
7949c09b93 Merge branches 'development' and 'development' of https://github.com/ETLCPP/etl into development 2022-09-08 20:09:04 +01:00
David Hebbeker
1e592b5921
Do not use min/max workaround for ICCAVR. (#595)
IAR C/C++ Compiler V6.70.1.929 for Atmel AVR does not support push_macro and does neither define macros for min or max.
2022-09-08 16:29:02 +01:00
John Wellbelove
d2e8e0aa71 #594 Use a different workaround for problems with IARCC. 2022-09-07 12:38:30 +01:00
David Hebbeker
63e31068b7
Apply workaround for __has_include(<...>) and ICCAVR. (#593)
ICCAVR: IAR C/C++ Compiler V6.70.1.929 for Atmel AVR

There seems to be an issue with the ICCAVR compiler and `__has_include(<...>)` syntax:

```
Error[Pe008]: missing closing quote etl\include\etl\placement_new.h 48
Tool Internal Error:
Internal Error: [Front end]: assertion failed at: "..\..\Translator\compiler_core\src\parser\edg\literals.c", line 1159
Internal Error: [Front end]: assertion failed at: "..\..\Translator\compiler_core\src\parser\edg\literals.c", line 1159 etl\include\etl\placement_new.h 48
Error while running C/C++ Compiler
```

Which is weird, as I wonder why `__has_include` is defined in first place. The compiler is supposed to support some dialect of C++98.

Anyhow, `__has_include()` seems to work in general with ICCAVR. And with this change the code compiles well.
2022-09-07 11:15:59 +01:00
John Wellbelove
4b0047a3bb Updated release information 2022-09-07 11:13:04 +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
0f2b9bb019 Fix non-C++03 code syntax 2022-09-02 15:56:39 +01:00
John Wellbelove
c4b67a2708 Merge branch 'development' of https://github.com/ETLCPP/etl into development 2022-09-02 15:04:23 +01:00
Ilya
818908fb6e
Add minmax_push.h/minmax_pop.h includes (#589) 2022-09-02 15:04:01 +01:00
John Wellbelove
b13442823a Merge branch 'hotfix/#585-etl-result-void-being-unusable-due-to-deleted-default-constructor' into development 2022-09-02 14:06:15 +01:00
John Wellbelove
245fbdeea9 Fixes for etl::result<void, TError> 2022-09-02 14:05:46 +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
John Wellbelove
a48aa15b60 Formatting 2022-09-01 19:16:24 +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
jeremyerdmann
7d7b7633bd
Fixed IAR build warnings in message_packet (#587)
IAR was tripping up on the syntax, generating warnings.  This addresses that per the discussion in #586.

Co-authored-by: Jeremy Erdmann <jeremy.erdmann@millerwelds.com>
2022-09-01 18:52:34 +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
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
868329f9e4 Remove redundant include 2022-08-24 11:27:48 +01:00
John Wellbelove
d3d9dbdbcd #580 numeric_limits<char> redefinition for gnu c++20 2022-08-24 11:27:12 +01:00
John Wellbelove
d9bff52343 added ETL_NODISCARD to binary_search 2022-08-23 19:46:45 +01:00
John Wellbelove
6a320608b9 class to typename 2022-08-23 19:38:25 +01:00
John Wellbelove
f7cb225857 Fixed conditional compilation 2022-08-23 18:04:40 +01:00
John Wellbelove
69e09299bf element_t replaced with element_type 2022-08-23 18:03:53 +01:00
John Wellbelove
a03f67a94a Removed the use of ETL_FORCE_CONSTEXPR_ALGORITHMS as all algorithms may be constexpr. 2022-08-20 13:30:25 +01:00
John Wellbelove
5dc9f49516 Removed the use of ETL_FORCE_CONSTEXPR_ALGORITHMS as all algorithms may be constexpr. 2022-08-20 12:44:34 +01:00
John Wellbelove
c99f2c1068 Renames + optimisations 2022-08-20 12:43:50 +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
ccfce560ae Optimised shifts 2022-08-09 12:45:29 +01:00
John Wellbelove
e10cd6dab3 Rationalised etl::send_message functions 2022-08-09 12:45:11 +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
86ae10a4ec Fixed implicit virtual warning for etl::vector 2022-08-04 17:07:19 +01:00
John Wellbelove
debbfddf35 Optimisations and addition of set() for all char types. 2022-08-04 16:31:51 +01:00
John Wellbelove
30d5a1b79b Added newline at end of file 2022-08-04 15:35:10 +01:00
John Wellbelove
5a9fc4dd00 Fixed C++03 delegate compatibility 2022-08-04 15:33:43 +01:00
John Wellbelove
7e8829d1b0 Changed operator= in etl::string_view from ETL_CONSTEXPR to ETL_CONSTEXPR14 2022-08-04 15:32:54 +01:00
John Wellbelove
87d00ad4d1 Added ARM5 and ARM6 compiler compatibility 2022-08-04 15:31:39 +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
1b8d5a307a Changed std::lower_bound to etl::lower_bound 2022-08-04 15:29:59 +01:00
John Wellbelove
7ecd818ecc Merge branch 'feature/message-broker' of https://github.com/ETLCPP/etl into feature/message-broker
# Conflicts:
#	include/etl/generators/message_router_generator.h
#	include/etl/message_router.h
2022-08-02 14:23:12 +01:00
John Wellbelove
37b8115abf Added default message id constructors
etl::message_router default id is etl::imessage_router::MESSAGE_ROUTER
Added successor parameter constructors
2022-08-02 14:21:30 +01:00
John Wellbelove
19d99aa52d Added default message id constructors
etl::message_router default id is etl::imessage_router::MESSAGE_ROUTER
Added successor parameter constructors
2022-08-02 12:45:11 +01:00
John Wellbelove
fda4d704c3 Minor changes 2022-08-02 11:42:57 +01:00
John Wellbelove
e6a86a6285 Update release info 2022-08-01 16:28:40 +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
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
fce2b5ca8d Updated version info 2022-07-28 15:55:57 +01:00
John Wellbelove
1fa2116bd1 #573 more comfortable circular_buffer_ext construction 2022-07-28 15:55:38 +01:00
John Wellbelove
ec98d64697 Updated version info 2022-07-28 11:38:20 +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
Xavier
06eb494400
Invoke function pointers w/ parenthesis (#576) 2022-07-28 08:03:22 +01:00
John Wellbelove
cd18cc6af0 Eradicated all GCC and clang warnings 2022-07-27 10:42:03 +01:00
Joris Putcuyps
841f4610d0
Fix initialisation order (#570) 2022-07-24 19:08:54 +01:00
John Wellbelove
e4cf390956 Updated variant_pool generator 2022-07-24 17:45:37 +01:00
John Wellbelove
ea49e6a80f Updated generators scripts 2022-07-24 17:43:46 +01:00
John Wellbelove
23bf850785 Updated release versions 2022-07-24 17:26:39 +01:00
John Wellbelove
72740b5225 Fixed swap function for circular_buffer_ext
Fixed circular_buffer iterator -> operators
Added functions and macros to etl::debug_count
2022-07-24 17:24:46 +01:00
John Wellbelove
648b2490e0 Comment edits 2022-07-24 13:01:22 +01:00
John Wellbelove
df01759227 Optimised container move for external buffers 2022-07-24 13:01:07 +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
adf9d690e1 Updated version and release notes 2022-07-20 14:32:43 +01:00
benedekkupper
e4c6c45772
error-handler: only return when the condition is false (#567) 2022-07-20 12:12:44 +01:00
John Wellbelove
93a0a0fe73 Addition of extra ETL_NODISCARD and ETL_NOEXCEPT to etl::span & etl::poly_span.
Fixed warnings for initialisation order for some etl::poly_span constructors.
2022-07-17 12:18:04 +01:00
John Wellbelove
4903e0cac8 Added is_enum 2022-07-14 20:14:26 +01:00
John Wellbelove
274a52db52 Merge branch 'feature/is_enum-implementation' into development 2022-07-14 17:59:19 +01:00
John Wellbelove
70e6989c99 Updated message router generator 2022-07-14 17:34:59 +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
594255d50f class to typename 2022-07-14 15:35:26 +01:00
John Wellbelove
150a1f9058 Updated version numbers and release notes 2022-07-14 12:50:37 +01:00
John Wellbelove
1790868830 Merge branch 'feature/poly_span' into development
# Conflicts:
#	include/etl/span.h
2022-07-14 12:27:25 +01:00
John Wellbelove
bcf147f096 Added etl::poly_span
Refacted parts of etl::span
2022-07-14 12:19:08 +01:00
mhx
058e4c9ed2
etl/span.h: prevent compound statements in constexpr methods for C++11 (#562)
C++11 doesn't support compound statements in constexpr functions
and as a result, `etl/span.h` generates a heap of warnings with
gcc's `-Wpedantic` in C++11 mode. This changes the relevant method
bodies to contain just a single return statement.
2022-07-13 13:48:13 +01:00
John Wellbelove
7cc8d95157 Work in progress 2022-07-12 17:39:16 +01:00
John Wellbelove
21faaa349f Work in progress 2022-07-12 17:37:08 +01:00
John Wellbelove
870d0fd96a Green Hills compiler compatibility 2022-07-12 16:32:04 +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
26d0dd9859 Initial forked code 2022-07-04 20:24:38 +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
97f4a34da8 Updated version and release notes 2022-07-03 11:18:47 +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
b77c7753d3 Updated message_packet_generator.h to match etl::message_packet changes 2022-06-27 10:07:23 +01:00
John Wellbelove
c5d41f9d87 Updated message_packet_generator.h 2022-06-24 19:39:40 +01:00
John Wellbelove
2c6c46ee18 Updated versions 2022-06-24 16:28:48 +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
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
c2ba195092 Updated version information 2022-06-22 14:10:39 +01:00
John Wellbelove
d4a3af56a7 const_reference parameter for resize() 2022-06-22 11:19:40 +01:00
John Wellbelove
22060623fc Added skip functions 2022-06-22 10:05:14 +01:00
John Wellbelove
c49f56722c Added two new traits to get a standard signed or unsigned integral of the same size as the template type. 2022-06-22 10:01:38 +01:00
John Wellbelove
08d76a9d56 Added size_bits() to bit_stream reader 2022-06-21 09:00:20 +01:00
John Wellbelove
ad2f95ac79 Optimisations 2022-06-20 09:25:39 +01:00
John Wellbelove
5a460f7fec Latest refactoring
Added little endian bit stream reader tests
2022-06-19 18:37:20 +01:00
John Wellbelove
fefe6d3975 Added endianness to bit_stream_writer 2022-06-18 20:57:26 +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
6a8cdf6892 Added error exceptions to byte_stream_writer 2022-06-15 11:43:54 +01:00
John Wellbelove
557544892c Renamed ETL_ALWAYS_ASSERT to ETL_ASSERT_FAIL 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
e9c6bf689e Fixed cast 2022-06-15 11:43:53 +01:00
John Wellbelove
9e0ff809fd Initial bit_stream_writer code 2022-06-15 11:43:12 +01:00
John Wellbelove
bb3190452c Added ETL_NODISCARD to 'create' and 'is_valid' functions 2022-06-15 11:38:43 +01:00
John Wellbelove
ce76e1b628 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:50 +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
03c97b64fe Updated copyright authors 2022-06-10 21:48:12 +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
4b0abaec6b Remove duplicate void_t definition 2022-06-10 21:44:47 +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
9c4d8d6f1d Fixed duplicate etl::declval definition. 2022-06-10 18:53:48 +01:00
Ashley Roll
aad52bb91c
Fix comment in queue::del_out (#553)
Seems it was copied from stack implementation, but queue increments out
not, decrements it.
2022-06-10 15:11:12 +01:00
John Wellbelove
dd89f1c748 Interim changes after PR 2022-06-10 11:18:48 +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
gerschdn
8669afec86
Update vector.h (#551)
Made the value parameter to resize() a const_reference instead of a value type to spare the unnecessary copy
2022-06-03 17:10:52 +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
645296b925 #545 Option to make string truncation an error." generates compiling warnings 2022-05-17 15:20:39 +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
da58dfe018 Added conditional compilation directive for existence 8 bit types 2022-05-17 10:42:31 +01:00
John Wellbelove
9224df106e Fixed data alignment issues raised by sanitizer 2022-05-16 20:58:07 +01:00
John Wellbelove
0d4c663d0b 64 bit conversion type fixes 2022-05-16 20:56:25 +01:00
John Wellbelove
7b3bb5fa6d Fixed incorrect returned span length for byte stream read 2022-05-15 18:01:44 +01:00
John Wellbelove
7c3d8490c4 indirect_vector updates from sanitizer results 2022-05-13 14:43:36 +01:00
John Wellbelove
87f40fe813 Updates to etl::successor and derived classes. 2022-05-11 16:04:25 +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
ce40641baf Squashed commit of the following:
commit 2c3b225972d2d1182133ed9f55bd8aaa58650338
Author: Thomas Sommer <thomas@tomsaw.de>
Date:   Mon Apr 25 10:54:10 2022 +0200

    removed unused irouter instanciation (#537)

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-25 11:06:09 +02: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
e44d1ad01d 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:42:06 +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
7cefbc941a Added ETL_OVERRIDE to state chart process_event() 2022-04-20 13:53:05 +02:00
John Wellbelove
63c05fb6b9 Large and small character support macros 2022-04-17 13:17:29 +02:00
John Wellbelove
42acd8beaa #531 Fixed: Compilation of etl::reference_counted_message_pool with ETL_LOG_ERROR enabled due to non-public inheritance. 2022-04-11 12:35:47 +02:00
valentink-eroad
70cc720fae
Fix compilation of reference_counted_message_pool with ETL_LOG_ERRORS enabled (#531) 2022-04-11 11:25:25 +02:00
John Wellbelove
0c78d38958 #529 Optimised min_element, max_element and min_max_element implementations 2022-04-09 22:38:35 +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
John Wellbelove
3f1c640eff cplusplus traits is now 'long' 2022-04-01 11:55:32 +02:00
John Wellbelove
b18d32f77b Merge branch 'hotfix/optimise-circular-buffer-push-and-pop' into development 2022-03-26 18:30:59 +00:00
John Wellbelove
eb49582837 Small optimisations for computing indexes for queues & cyclic_value. 2022-03-26 18:30:33 +00:00
Steffen Zimmermann
148cf9ef26
fix unused-local-typedefs warning (#517)
clang complains about the line:

include/etl/algorithm.h:298:66: error: typedef 'value_type' locally defined but not used [-Werror=unused-local-typedefs]
typedef typename etl::iterator_traits<TIterator>::value_type value_type;
2022-03-25 10:42:18 +00:00
John Wellbelove
1b5da4a4b2 Fixed undefined macros when compiler type is defined by the user
Updated version numbers
2022-03-24 14:46:38 +00:00
John Wellbelove
fa7f6dc9d7 Fixed move parameter in notify_observers 2022-03-23 19:59:30 +00:00
John Wellbelove
5577170fd2 Updated version numbers 2022-03-23 11:30:31 +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
6a00274b75 Removed commented out code 2022-03-22 15:15:28 +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
5b3454ad10 Fixed mem_set parameter type 2022-03-22 00:46:51 +00:00
John Wellbelove
422c5e0d36 The counter in etl::debug_count is atomic, if available 2022-03-20 11:48:02 +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
dbed55c507 Added C++23 macros 2022-03-18 15:29:53 +00:00
John Wellbelove
a8ecaf635b Remove mem macros 2022-03-18 15:29:37 +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
b0e9ab8fd2 Made etl::swap ETL_CONSTEXPR14 2022-03-18 15:12:44 +00:00
John Wellbelove
ae92932788 Changed ETL_ENDIANNESS_IS_CONSTEXPR to ETL_HAS_CONSTEXPR_ENDIANNESS 2022-03-18 15:12:05 +00:00
John Wellbelove
779a900b67 Changed ETL_CONSTEXPR17 to ETL_CONSTEXPR14 for reverse iterators 2022-03-18 15:11:12 +00:00
John Wellbelove
d5c91ae739 Removed builtin mem macros
Not always constexpr compatible for all types
2022-03-18 15:10:21 +00:00
John Wellbelove
b0f5a99e15 Added macros for namespace identification 2022-03-18 15:09:26 +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
c8f13fa8b8 Remove initializer_list selection logic. 2022-03-05 18:02:47 +00:00
John Wellbelove
55aa55a269 Added optional counter type to instance_count. 2022-03-05 18:00:37 +00:00
John Wellbelove
dda482a321 Updated how the definition of initializer_list is selected. 2022-03-05 17:59:48 +00:00
John Wellbelove
292f5d9176 Modified logic for enabling the use of initializer lists 2022-03-04 20:54:38 +00:00
John Wellbelove
2c6ffdc36f Updated version numbers and release notes. 2022-03-03 20:01:18 +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
a1e3017028 Semaphore macro type is local to timer classes 2022-03-02 19:38:11 +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
d8405bfa00 Changed from C cast to C++ cast 2022-02-26 11:17:36 +00:00
John Wellbelove
8da7251e82 Always use stddef.h 2022-02-26 11:17:07 +00:00
John Wellbelove
3c36bc382a Modified WCHAR_MIN and WCHAR_MAX checks 2022-02-26 11:16:26 +00:00
John Wellbelove
3c38a7d0c4 Added char8_t type 2022-02-26 11:15:42 +00:00
John Wellbelove
f355a4e8d6 Fix 'unused function parameter' warnings 2022-02-26 11:15:17 +00:00
John Wellbelove
734df1a372 Merge branch 'development' 2022-02-20 19:28:22 +00:00
John Wellbelove
90b20e626b Updated versions 2022-02-20 19:14:25 +00:00
John Wellbelove
679304b9f5 Adjusted initializer_list include logic 2022-02-20 18:57:06 +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
8644b833a3 Fixed send_message signatures 2022-02-20 18:46:15 +00:00
John Wellbelove
4e9471aac0 Comment typo 2022-02-16 11:16:13 +00:00
John Wellbelove
1aead2e59f Simplified std::byte for C++03 2022-02-16 08:49:26 +00:00
John Wellbelove
b472563b62 Added C++03 implementation 2022-02-15 20:58:19 +00:00
John Wellbelove
e5fd40d82b Added etl::byte 2022-02-15 16:41:47 +00:00
John Wellbelove
61d0db16b6 Merge branch 'development' 2022-02-15 10:55:04 +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