905 Commits

Author SHA1 Message Date
John Wellbelove
a10dfd433a Issue #413 Queue's pop_into copies rather than moves 2021-08-13 19:21:48 +01:00
John Wellbelove
417c3b9e77 Expanded compiled variants for scripts 2021-08-13 16:32:43 +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