1686 Commits

Author SHA1 Message Date
John Wellbelove
1c01f98518 Merge branch 'feature/add-repair-to-circular_buffer' into development
# Conflicts:
#	include/etl/file_error_numbers.h
2023-02-19 10:46:07 +00:00
John Wellbelove
db9d93d5e2 Added repair() to etl::circular_buffer 2023-02-19 10:45:19 +00:00
John Wellbelove
7316c07045 Added etl::contruct_object_at, etl::get_object_at and etl::destroy_object_at 2023-02-19 10:43:43 +00:00
John Wellbelove
2c15062c1b Added etl::is_aligned, etl::alignment_exception and etl::alignment_error 2023-02-19 10:41:43 +00:00
David Ockey
055ce0d442
Added HFSM-specific start() and reset() (#672)
* Added HFSM specific Start and Reset

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

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

* test: test equality operator

* feat: implement not equal operator

* test: test not equal operator

---------

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

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

Removed duplicate include

unique_ptr updates - Work in progress

Updated versions & memory.h

Fix duplicate function

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

Updated version and release notes

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

Updated version info

Updated generator test script

Only build tests if top level project (#639)

Removed trailing spaces

Updated version info

Incorrect C++03 enable_if syntax

Updated version info

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

* Autodetect Tasking compiler

#642

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

#642

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

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

Updated etl::delgate to handle const functors correctly

Updated version info

Fixed functor delegate enable_if

Updated release notes

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

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

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

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

* Use more self-explaining code.

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

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

Removed unused ETL_USE_MEM_BUILTINS option

Updated version info

Updated release notes

Added etl::result<TValue, void> specialisation

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

Added etl::result<TValue, void> specialisation

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

Fixed perfect forwarding for make_xxx helper functions

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

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

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

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

Removed superfluous semicolons

Updated version and release notes

Removed testing for 18.04

Added testing for 22.04

Updated Github Actions for Clang

Updated version and release notes

clang updates for Github Actions

Added missing notes

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

emplace_front, emplace_back updates

Updated version and release info

Improved emplace testing

Changed unit test macro CHECK_FALSE_EQUAL to CHECK_NOT_EQUAL

Improved emplace testing

Changed unit test macro CHECK_FALSE_EQUAL to CHECK_NOT_EQUAL

Improved emplace testing

Work-In-Progress

Work-In-Progress

Added indexed emplace

More typedefs for etl::result

Work in progress

Work in progress

Work in progress

Changed default constructor

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

Update README.md

Added link to documentation

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

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

* Replace wrong cmake link options with compile

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

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

* Add documentation and use ETL_OR_STD macro

* Add MIT License in header

* Move back_insert_iterator into iterator.h

* Remove unused code

* Strictly follow the C++ STL naming

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

* Make the check for C++11 clearer

* Run the unit test only for C++11

* Add front_insert_iterator

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

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

* Update test_hash.cpp

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

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

* Replace ETL_COMPILER_ICCAVR by ETL_COMPILER_IAR. (#602)

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

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

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

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

* Add documentation to the pair class

* Add test directory to the EXAMPLE_PATH

* Update .gitignore

- Remove duplicate entries
- Add doxygen output directories

* Add Select1st and Select2nd functors

* Merge select1st and select2nd into utility.h

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

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

* Explicitly specify etl hash

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

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

* visit legacy added

* update with multiple variants visit for variadic

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

* visit legacy added

* update with multiple variants visit for variadic
2022-06-09 08:56:55 +01:00
John Wellbelove
0ae71fb797 Added callback functionality to bit_stream_writer 2022-06-06 11:01:36 +01:00
John Wellbelove
bccea7d0da Refactor etl::atomic implementations to allow non-(integrals/pointers/bool)
Changed etl::atomic and etl::mutex, with STL enabled, to be template aliases
2022-06-05 10:56:26 +01:00
John Wellbelove
55b4fb6587 Added optional byte_stream callback 2022-06-05 10:55:58 +01:00
John Wellbelove
8d6f73cd25 Added write_byte_stream_iterative_output 2022-06-05 10:55:10 +01:00
John Wellbelove
cace71c3f7 Initial bit_stream_writer code 2022-05-29 14:04:26 +01:00
John Wellbelove
2695cd8fb8 Refactor C++17 message_packet 2022-05-25 12:24:08 +01:00
John Wellbelove
6a979fb7c9 Added optional byte_stream callback 2022-05-22 10:52:24 +01:00
John Wellbelove
9c9bd93549 Added write_byte_stream_iterative_output 2022-05-20 12:36:11 +01:00
John Wellbelove
752d9adb5c Fixed final sanitizer issues 2022-05-19 11:10:00 +01:00