990 Commits

Author SHA1 Message Date
John Wellbelove
877f1a4d5d Replaced std::size_t with size_t 2021-09-21 10:19:52 +01:00
John Wellbelove
bdf1451655 Added multi_vector 2021-09-10 12:12:18 +01:00
John Wellbelove
5093189a7b Updated version numbers 2021-09-09 17:36:56 +01:00
John Wellbelove
c8cde6f605 Added successor handling for accepts
Added successor handling for pre-C++17 message router
2021-09-09 17:08:14 +01:00
John Wellbelove
7f6548e02b Added successor handling for accepts
Added successor handling for pre-C++17 message router
2021-09-09 16:07:51 +01:00
John Wellbelove
e6c13c75e7 Added result type 2021-09-05 17:39:56 +01:00
John Wellbelove
aaac4ba97c Updated version
Modified etl::result test
2021-09-05 14:59:17 +01:00
John Wellbelove
2cdfba4297 Added result type 2021-09-04 14:54:04 +01:00
John Wellbelove
81807b2fd2 Added result type 2021-09-04 13:34:02 +01:00
John Wellbelove
ee46d76548 Additional member functions 2021-09-02 16:07:09 +01:00
John Wellbelove
ca55664b67 Initial byte_stream code 2021-09-02 13:10:02 +01:00
John Wellbelove
3b112da068 Added call_if and call_or member functions. 2021-09-02 13:04:28 +01:00
John Wellbelove
dd19cb2e47 Working code including 64 bit 2021-09-02 13:04:27 +01:00
John Wellbelove
72468bace8 Pre-release code 2021-09-02 13:04:27 +01:00
John Wellbelove
07070085e8 Working code 2021-09-02 13:03:39 +01:00
John Wellbelove
d79b13bd52 Added missing #include for variant.
Updated version numbers
2021-09-02 13:03:38 +01:00
Benedek Kupper
a653a22dd9 to_string_helper: add string conversion helper for denominated integers (#408)
With default format it will only print the meaningful fractional digits.
If the format specifies the precision, it will print at least that many
fractional digits.

Signed-off-by: Benedek Kupper <benedek.kupper@streamunlimited.com>
2021-09-02 13:03:38 +01:00
John Wellbelove
442a76ec46 Fixed incomplete template specialisations in type_traits.h 2021-09-02 13:03:38 +01:00
CanastraRF
988db811c9 literal with suffix (#416) 2021-09-02 13:03:38 +01:00
John Wellbelove
c315efc623 Fix for etl::mutex::try_lock() for GCC 2021-09-02 13:03:37 +01:00
Dmitri Vorobyov
c497c5a4c7 fix try_lock in gcc mutex (#415) 2021-09-02 13:03:37 +01:00
John Wellbelove
46f4bb86d1 Successor handling for all derived message router types 2021-09-02 13:03:36 +01:00
John Wellbelove
17931057b5 Remove clang warning 2021-09-02 13:03:36 +01:00
John Wellbelove
3831d4fd68 Added successor call to receive() 2021-09-02 13:03:36 +01:00
John Wellbelove
6fb9357b7c Added cbegin() & cend() 2021-08-24 12:12:19 +01:00
John Wellbelove
5cbe4fb3e1 Read write span ranges 2021-08-22 12:58:32 +01:00
John Wellbelove
26c89064fc Additional read/write functions 2021-08-22 10:13:53 +01:00
John Wellbelove
133ff78330 Added templated etl::write & etl::read functions for byte stream 2021-08-21 09:54:31 +01:00
John Wellbelove
c3e040949a Span access is only for sizeof(T) == 1 2021-08-21 00:18:54 +01:00
John Wellbelove
42d451dc79 Expanded tests and updated make lists 2021-08-20 19:39:49 +01:00
John Wellbelove
ed74f8bc54 Initial byte_stream code 2021-08-20 10:22:44 +01:00
John Wellbelove
c1e4c5b670 Initial byte_stream code 2021-08-18 13:01:46 +01:00
John Wellbelove
fa4536eabf Merge branch 'development' 2021-08-13 20:45:49 +01:00
John Wellbelove
a10dfd433a Issue #413 Queue's pop_into copies rather than moves 2021-08-13 19:21:48 +01:00
John Wellbelove
c3e44778e6 Merge branch 'development'
# Conflicts:
#	support/Release notes.txt
2021-08-13 17:07:05 +01:00
John Wellbelove
417c3b9e77 Expanded compiled variants for scripts 2021-08-13 16:32:43 +01:00
John Wellbelove
21e114c252 Fixed etl::fsm C++03 template definition that was corrupted in 20.10.0
Fixed meson.build
2021-08-12 10:50:24 +01:00
John Wellbelove
6ff560a416 Merge branch 'feature/variadic-message-router' into development
# Conflicts:
#	.gitignore
#	include/etl/bip_buffer_spsc_atomic.h
#	include/etl/version.h
#	library.json
#	library.properties
#	support/Release notes.txt
#	test/etl_profile.h
#	test/runsanitychecks.sh
#	test/runtests.sh
#	test/vs2019/etl.vcxproj.filters
2021-08-11 15:50:43 +01:00
John Wellbelove
988cd95440 Added C++17 variadic versions of etl::message_router ans etl::fsm
Fixed meson.build
2021-08-11 15:48:17 +01:00
John Wellbelove
5904687e6d Variadic FSM 2021-08-10 20:25:27 +01:00
John Wellbelove
774384e316 Fixes after merge 2021-08-10 12:37:33 +01:00
John Wellbelove
27f5204032 Added 'Force C++03' macro 2021-08-10 11:31:14 +01:00
John Wellbelove
f413fd1a21 Fixes after merge 2021-08-10 11:20:00 +01:00
John Wellbelove
ca322551f3 Variadic message_packet 2021-08-10 10:49:32 +01:00
John Wellbelove
ecff863087 notify_observers() takes universal reference for C++11 and above 2021-08-10 10:49:11 +01:00
John Wellbelove
a7786e08af Updated type traits generator 2021-08-10 10:49:11 +01:00
John Wellbelove
79ffe63b1c Refactoring of type traits for GCC compatibility 2021-08-10 10:49:10 +01:00
John Wellbelove
8181cec767 Updated version numbers 2021-08-10 10:49:10 +01:00
Benedek Kupper
3363da4f91 Feature/bip buffer spsc atomic (#402 follow-up) (#404)
* bip_buffer_spsc_atomic: fix compiler failure

The previous commit changed the pointer being const (cannot change where
the pointer is pointing after construction) to the referred data
to be const (the buffer itself is not writeable), which causes compiler
issue with the tests.

Signed-off-by: Benedek Kupper <benedek.kupper@streamunlimited.com>

* bip_buffer_spsc_atomic: whitespace cleanup for consistency

Signed-off-by: Benedek Kupper <benedek.kupper@streamunlimited.com>

* bip_buffer_spsc_atomic: clear() destroys the unread data

Signed-off-by: Benedek Kupper <benedek.kupper@streamunlimited.com>

* bip_buffer_spsc_atomic: add destructor

Signed-off-by: Benedek Kupper <benedek.kupper@streamunlimited.com>
2021-08-10 10:38:23 +01:00
John Wellbelove
1789e4937d Changes before merging to development 2021-08-10 10:38:23 +01:00
Benedek Kupper
7a067ba816 introduce bip buffer spsc atomic (#402)
Based on the works of Andrea Lattuada and James Munns:
https://blog.systems.ethz.ch/blog/2019/the-design-and-implementation-of-a-lock-free-ring-buffer-with-contiguous-reservations.html
Whose design was inspired by Simon Cooke:
https://www.codeproject.com/Articles/3479/The-Bip-Buffer-The-Circular-Buffer-with-a-Twist

Signed-off-by: Benedek Kupper <benedek.kupper@streamunlimited.com>
2021-08-10 10:38:22 +01:00
John Wellbelove
d40a67776f notify_observers() takes universal reference for C++11 and above 2021-08-05 16:52:35 +01:00
John Wellbelove
c265e82bbe Updated type traits generator 2021-08-05 09:23:02 +01:00
John Wellbelove
b779696eb9 Refactoring of type traits for GCC compatibility 2021-08-04 18:47:42 +01:00
John Wellbelove
026a365f8e Updated version numbers 2021-08-04 10:27:22 +01:00
John Wellbelove
0d5f30b97e Merge branch 'master' into feature/bip-buffer-spsc-atomic
# Conflicts:
#	test/vs2019/etl.vcxproj.filters
2021-08-02 12:22:01 +01:00
John Wellbelove
86d1bd7890 etl::message_packet update 2021-08-01 20:01:30 +01:00
John Wellbelove
c868acaa9b Updated versions 2021-08-01 20:01:30 +01:00
John Wellbelove
a0c18c56af Changed std::forward to etl::forward 2021-08-01 20:01:29 +01:00
John Wellbelove
78239ec2ef Updated versions 2021-08-01 19:39:14 +01:00
John Wellbelove
c1f7edeee6 Changed std::forward to etl::forward 2021-08-01 19:37:03 +01:00
John Wellbelove
e92f93b57f Variadic message_packet 2021-07-31 10:38:21 +01:00
John Wellbelove
35ac4cb239 Variadic message_packet 2021-07-29 17:20:40 +01:00
John Wellbelove
b886ee381b Updated version numbers 2021-07-29 14:29:00 +01:00
John Wellbelove
734f14a8ec Changed variant files names 2021-07-29 14:29:00 +01:00
John Wellbelove
2c11956311 Updated version numbers 2021-07-29 14:27:41 +01:00
John Wellbelove
031b3e7eda Changed variant files names 2021-07-29 14:15:49 +01:00
John Wellbelove
fd89f51621 Type traits refactor 2021-07-29 11:34:16 +01:00
John Wellbelove
1702a6e043 Type traits refactor 2021-07-27 18:17:42 +01:00
John Wellbelove
8f570d81cd Work in progress 2021-07-26 09:29:11 +01:00
John Wellbelove
017095bef3 Merge branch 'master' into development
# Conflicts:
#	support/Release notes.txt
#	test/vs2019/etl.vcxproj.filters
2021-07-23 13:48:52 +01:00
John Wellbelove
23b8ffcd20 updated version numbers 2021-07-23 13:39:24 +01:00
John Wellbelove
7a061a43cd Altered 'unhandled' delegate to tbe the last in the array for the constexpr vspecialisation. 2021-07-23 12:50:17 +01:00
John Wellbelove
d49c2d28e0 Added compile time constexpr initialisation 2021-07-23 10:21:11 +01:00
John Wellbelove
cee880b2e6 Changed 'class' to 'typename'. 2021-07-19 12:51:54 +01:00
John Wellbelove
140c69e6ea Updated version numbers 2021-07-18 20:22:12 +01:00
John Wellbelove
a7420267a6 Cross compiler compatibity changes 2021-07-18 09:53:13 +01:00
John Wellbelove
e9a9e8d1af Merge branch 'feature/variadic-variant' into development
# Conflicts:
#	.gitignore
#	arduino/examples/Vector_Examples/Example_Vector_1_simple_use/Example_Vector_1_simple_use.ino
#	include/etl/version.h
#	library.json
#	library.properties
#	meson.build
#	support/Release notes.txt
#	test/vs2019/etl.vcxproj.filters
2021-07-17 23:51:16 +01:00
John Wellbelove
aa98a60822 etl::variant release candidate 2021-07-17 23:45:28 +01:00
John Wellbelove
7b63b567b6 Fixes for cross compiler cmpatibility
Added tests for all get<>() functions
2021-07-16 22:21:42 +01:00
Benedek Kupper
ed0dbc00c2
Feature/bip buffer spsc atomic (#402 follow-up) (#404)
* bip_buffer_spsc_atomic: fix compiler failure

The previous commit changed the pointer being const (cannot change where
the pointer is pointing after construction) to the referred data
to be const (the buffer itself is not writeable), which causes compiler
issue with the tests.

Signed-off-by: Benedek Kupper <benedek.kupper@streamunlimited.com>

* bip_buffer_spsc_atomic: whitespace cleanup for consistency

Signed-off-by: Benedek Kupper <benedek.kupper@streamunlimited.com>

* bip_buffer_spsc_atomic: clear() destroys the unread data

Signed-off-by: Benedek Kupper <benedek.kupper@streamunlimited.com>

* bip_buffer_spsc_atomic: add destructor

Signed-off-by: Benedek Kupper <benedek.kupper@streamunlimited.com>
2021-07-16 11:42:35 +01:00
John Wellbelove
9c68847c5c Compiler compatibility changes 2021-07-15 12:57:46 +01:00
John Wellbelove
de1a19775e Re-enabled all variant unit tests 2021-07-14 12:37:24 +01:00
John Wellbelove
0bdd5943da Work in progress 2021-07-13 21:24:12 +01:00
John Wellbelove
56c75a3ae5 Refactored operation functions into one. 2021-07-13 19:57:24 +01:00
John Wellbelove
109997b8d6 Work in progress 2021-07-13 17:15:25 +01:00
John Wellbelove
590b26e513 Added conjunction and disjunction 2021-07-12 16:26:50 +01:00
John Wellbelove
197f65c5da Compiler compatibility updates 2021-07-12 00:51:53 +01:00
John Wellbelove
c54bf63a76 Resolved issues with universal references in construction and assignment.
Added 'in_place' structures.
Added etl::overload.
Updated sanity check cmake files.
Added alignment for const void.
2021-07-11 20:36:01 +01:00
John Wellbelove
d13bf7d5df Changes before merging to development 2021-07-06 18:49:27 +01:00
Benedek Kupper
acf4945023
introduce bip buffer spsc atomic (#402)
Based on the works of Andrea Lattuada and James Munns:
https://blog.systems.ethz.ch/blog/2019/the-design-and-implementation-of-a-lock-free-ring-buffer-with-contiguous-reservations.html
Whose design was inspired by Simon Cooke:
https://www.codeproject.com/Articles/3479/The-Bip-Buffer-The-Circular-Buffer-with-a-Twist

Signed-off-by: Benedek Kupper <benedek.kupper@streamunlimited.com>
2021-07-06 15:42:37 +01:00
John Wellbelove
7bb438bf1b Added the option to derive etl::message<> from a custom parent class 2021-06-30 20:57:42 +01:00
Manuel Seeböck
38d8452e70
added optional template parameter to etl::imessage to specify a base class other than imessage (#401)
Co-authored-by: Manuel Seeböck <seeboeck@pjm.co.at>
2021-06-30 13:33:05 +01:00
John Wellbelove
ef6885c02c Unified vector asserts 2021-06-30 11:25:37 +01:00
John Wellbelove
7e9ca31fb1 Updated overloads 2021-06-29 20:04:18 +01:00
John Wellbelove
e8a6e12ca1 Renamed mem_type to mem_cast 2021-06-29 20:03:55 +01:00
John Wellbelove
eb6d5637d4 Added experimental uni_type 2021-06-29 20:03:55 +01:00
John Wellbelove
f956cc19b4 Renamed mem_type to mem_cast 2021-06-29 20:03:31 +01:00
John Wellbelove
67b17b2635 Added experimental uni_type 2021-06-29 20:02:32 +01:00
John Wellbelove
f0358764c8 Updated Arduino examples 2021-06-29 19:59:09 +01:00