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
John Wellbelove
977b937fff
Fixed specialisation for copy_backward
2022-02-14 20:25:44 +00:00
John Wellbelove
1cdb4c69b6
Final initializer_list updates
...
Added a separate project to test initializer_list
2022-02-14 11:06:09 +00:00
John Wellbelove
117902e39a
Updates to sanity check
...
Added Intel compiler support to MSVC
2022-02-11 21:21:57 +00:00
John Wellbelove
c3c1afa284
Removed pre-processor error for missing atomics
2022-02-11 17:36:55 +00:00
John Wellbelove
8c45d2cc2a
Added sanity checks for initializer_list
2022-02-11 15:00:35 +00:00
John Wellbelove
64edec227d
Initial code for MSVC, GCC, Clang and ARM6 compilers
2022-02-11 13:40:03 +00:00
John Wellbelove
d0150696a5
Changes for controlling the availability of constexpr algorithms
2022-02-11 09:57:55 +00:00
John Wellbelove
fa79112144
Added Green Hills compiler check
2022-02-10 18:42:16 +00:00
John Wellbelove
05e687d8fa
Syntax error fixes
2022-02-10 18:41:30 +00:00
John Wellbelove
64efb84ec3
Singleton class
2022-02-10 18:40:52 +00:00
John Wellbelove
ee79392b7b
Merge branch 'hotfix/pr-#505-put-storage-class-first-and-remove-unreachable-statement' into development
2022-02-08 18:28:33 +00:00
John Wellbelove
04590ef865
Remove inline
2022-02-08 18:28:25 +00:00
Jochen Steinmann
180841fa26
Put storage class first and remove unreachable statement ( #505 )
...
Fixes following greenhills compiler warnings
* etl/include/etl/message_router.h", line 2434 (col. 11): warning #111-D: statement is unreachable
* etl/include/etl/char_traits.h", line 105 (col. 19): warning #82-D: storage class is not first
Co-authored-by: Jochen Steinmann <jochen.steinmann2@de.bosch.com>
2022-02-07 10:51:10 +00:00
John Wellbelove
c65da15063
Tweak built-in tests
2022-02-06 17:58:22 +00:00
John Wellbelove
08e2d4c4d0
Updated version numbers
2022-02-04 11:45:26 +00:00
John Wellbelove
87fe3eec2d
Replaced post increment with pre increment
2022-02-03 17:16:26 +00:00
John Wellbelove
791aa97885
Work in progress
2022-02-03 12:40:29 +00:00
John Wellbelove
19a4b93e78
Fixed const-ETL_CONSTANT mismatch.
2022-01-29 22:14:10 +00:00
John Wellbelove
4b1b6004c6
Final(?) changes
2022-01-29 14:16:26 +00:00
John Wellbelove
68d5f39c7c
Merge branch 'master' into feature/constexpr-for-string_view
2022-01-25 10:49:56 +00:00
John Wellbelove
734e4e654a
Minor changes
...
Modified MSVC compiler C++11 check
2022-01-24 20:15:17 +00:00
John Wellbelove
3b7f280b32
Reinstated get_state_id() and start() functions in he base class.
2022-01-24 17:36:47 +00:00
John Wellbelove
64b6c20d19
Merge branch 'master' into feature/constexpr-for-string_view
...
# Conflicts:
# include/etl/iterator.h
# include/etl/platform.h
# test/vs2019/etl.vcxproj
# test/vs2019/etl.vcxproj.filters
2022-01-23 18:26:52 +00:00
John Wellbelove
13b28387c5
Merge branch 'feature/reduce-size-of-state_chart' into development
2022-01-23 14:23:44 +00:00
John Wellbelove
2353672b64
Renamed compile time state machine classes
2022-01-23 10:46:35 +00:00
John Wellbelove
4d0682e196
Merge branch 'hotfix/bitset' into development
2022-01-22 16:17:09 +00:00
John Wellbelove
e98270ca60
Bitset updates
2022-01-22 16:16:44 +00:00
Tom
1f7ebe3ee8
Added to_string, to_ulong and to_ullong to bitset ( #499 )
...
* Added to_string, to_ulong and to_ullong to bitset
* Reverted whitspace changes
* Arduino has NAN defined, but not nan, nanf nor nanl
(it got __builtin_nan, but I don't think this is what we want here...)
* Added missing typenames
2022-01-22 11:48:34 +00:00
Tom
b5a5f0e83a
Fixed bug where invert changed bits over the TOP_MASK ( #500 )
2022-01-22 11:48:08 +00:00
Tom
09e7b3ff1f
Handled SIZE == 0 edge cases ( #501 )
2022-01-22 11:47:39 +00:00
John Wellbelove
d2e4774ca1
Improved support for MSVC language level detection
2022-01-21 10:05:47 +00:00
John Wellbelove
fc59b4e34e
Latest state chart code
...
Reinstated virtual process_event()
2022-01-20 11:05:37 +00:00
John Wellbelove
f3973e4935
Latest state chart code
...
Reinstated virtual process_event()
2022-01-18 20:15:56 +00:00
John Wellbelove
7c3c7ea05e
Removal of redundant code
2022-01-18 20:14:55 +00:00
John Wellbelove
8337c87f16
Initial state_chart changes
2022-01-17 11:19:19 +00:00
John Wellbelove
e263a7cb75
Initial state_chart changes
2022-01-16 13:30:52 +00:00
John Wellbelove
0a6e22ae2a
Initial state_chart changes
2022-01-15 19:06:20 +00:00
John Wellbelove
c3b603be32
Fixed IAR warnings in binary.h
...
Fixe unaligned type_comment
platform.h comments
Fixed etl_profile.h to native little endian for !C++20 or !STL
2022-01-14 10:08:46 +00:00
John Wellbelove
912427849d
Updated version numbers
2022-01-13 12:46:41 +00:00
John Wellbelove
f8b2773684
Some ETL_CONSTEXPR. Added size()
2022-01-13 10:53:14 +00:00
John Wellbelove
f58a20294a
Added index operators
...
Split code into type and non-type dependent classes
2022-01-12 18:36:34 +00:00
John Wellbelove
17c287af9d
Completed unaligned_type
2022-01-11 17:44:40 +00:00
John Wellbelove
7f6b6d9098
Updates to endianness
2022-01-11 17:43:53 +00:00
John Wellbelove
cf0daf6c6b
Changed inline functions to templates
2022-01-11 17:43:30 +00:00
John Wellbelove
cb243f78ca
Updated bit_cast
2022-01-11 17:42:56 +00:00
John Wellbelove
9bea87dd90
Removed unnecessary inline keywords
2022-01-11 16:19:24 +00:00
John Wellbelove
973e0f8ea6
Renamed 8bit check macro
2022-01-10 00:35:02 +00:00
John Wellbelove
f06a027da7
Moved void_t definition
2022-01-08 19:27:16 +00:00
John Wellbelove
6b123e1bdb
Merge branch 'feature/bit_cast-midpoint-lerp' into feature/unaligned-types
...
# Conflicts:
# include/etl/endianness.h
# test/vs2019/etl.vcxproj.filters
2022-01-08 18:53:17 +00:00
John Wellbelove
e6736404ed
Final code after local CI tests
2022-01-08 18:51:35 +00:00
John Wellbelove
c99d984453
Updates to bin.h, binary.h and endian.h
2022-01-08 11:38:04 +00:00
John Wellbelove
79c659b0bb
unaligned and endianess experiments
2022-01-06 10:18:58 +00:00
John Wellbelove
2cf77bf837
Initial experimental unaligned fundamental types
2022-01-04 12:32:56 +00:00
John Wellbelove
7c4fbcc8f0
Initial experimental unaligned fundamental types
2022-01-04 12:04:56 +00:00
John Wellbelove
dc2ad30294
Iterator is more SFINAE compatible
2022-01-03 18:23:04 +00:00
John Wellbelove
9665ab21c1
Updated endianness for C++20
2022-01-03 18:22:08 +00:00
John Wellbelove
b8579f0151
Initial bit tests
2022-01-03 18:21:45 +00:00
John Wellbelove
dc563239e5
Added all permutations of leading/trailing bit tests
2022-01-03 18:21:19 +00:00
John Wellbelove
d4cc115509
Modified C++ language level detection
2022-01-03 18:20:14 +00:00
John Wellbelove
cf0b816bc1
Update to support C++20
2022-01-02 14:20:10 +00:00
John Wellbelove
7ad3b51308
Added etl::lerp & initial reverse engineered <bit> header
2021-12-31 09:52:02 +00:00
John Wellbelove
4f05600900
Added delegate test from std::function
2021-12-30 09:36:36 +00:00
John Wellbelove
2643f8ef4b
Added etl::midpoint
2021-12-28 18:42:17 +00:00
John Wellbelove
e4ab79b243
Initial code
2021-12-24 13:13:32 +00:00
John Wellbelove
064c7dc16b
GCC fixes for unit tests
2021-12-24 09:25:24 +00:00
John Wellbelove
b98fd16e36
array_view updates
2021-12-22 18:58:15 +00:00
John Wellbelove
de5a90a91c
Added Green Hills compiler to minmax push and pop
...
message_packet updates
message_packet updates
span updates
message_packet updates
message_packet updates
Remove superfluous line
Fixe undefined behaviour in test
2021-12-21 12:04:51 +00:00
John Wellbelove
6f6ebe456b
Fix for double formatting with precision > 9 ( #480 )
...
* Add a test that reproduces the double formatting failure
* Fix root cause, restrict precision to 9 on 32 bit platforms, unrestricted on 64 bit
2021-12-15 19:26:17 +00:00
Noah Luskey
36782f77c0
Fix for double formatting with precision > 9 ( #480 )
...
* Add a test that reproduces the double formatting failure
* Fix root cause, restrict precision to 9 on 32 bit platforms, unrestricted on 64 bit
2021-12-15 17:27:57 +00:00
John Wellbelove
4acad4206d
Disable span TContainer constructor for arrays
2021-12-15 12:48:39 +00:00
John Wellbelove
67474499c2
Disable span TContainer constructor for arrays
2021-12-15 12:21:10 +00:00
John Wellbelove
cb7ee61b33
Disable span TContainer constructor for arrays
2021-12-14 17:23:26 +00:00
John Wellbelove
6827a73ff8
Disable span TContainer constructor for arrays
2021-12-14 17:23:26 +00:00
John Wellbelove
d2ba5e9956
Multiple code changes, delegates & timers
2021-12-14 10:52:49 +00:00
John Wellbelove
331e07b272
Multiple code changes, delegates & timers
2021-12-13 17:16:21 +00:00
John Wellbelove
44715cadfe
Experimental code
2021-12-12 18:20:45 +00:00
John Wellbelove
6b91aaeb1d
Merge branch 'development' of https://github.com/ETLCPP/etl into development
2021-12-05 15:54:33 +00:00
John Wellbelove
06e8aaf8d4
#475 When ETL_NO_ATOMICS is defined the timer.h file should not define timer_semaphore_t
...
#471 Add contains() method to etl::map and etl::set
#477 deque::resize should throw deque_full if requested size is too large
2021-12-05 15:39:11 +00:00
John Wellbelove
f5514104e7
contains() & transparent comparator
2021-12-04 17:28:47 +00:00
John Wellbelove
6e1e75094f
Re-enable multi_vector
2021-12-04 11:00:51 +00:00
John Wellbelove
c6ff32e901
contains() & transparent comparator
2021-12-04 10:24:04 +00:00
John Wellbelove
4d48082f4f
contains() & transparent comparator for map, multimap, set and multiset
2021-12-01 18:42:22 +00:00
John Wellbelove
85fb83f0be
contains() & transparent comparator for reference set and multiset
2021-12-01 13:19:31 +00:00
John Wellbelove
a16ae414a2
contains() & transparent comparator for set and multiset
2021-11-27 18:42:30 +00:00
John Wellbelove
042da035fa
contains() & transparent comparator for map and multimap
2021-11-27 17:57:51 +00:00
John Wellbelove
015003fa03
contains() for etl::map
2021-11-26 19:35:18 +00:00
John Wellbelove
5fa7ee22ab
Merge branch 'master' into feature/constexpr-for-string_view
...
# Conflicts:
# include/etl/array.h
# include/etl/deque.h
# include/etl/forward_list.h
# include/etl/generators/type_traits_generator.h
# include/etl/list.h
# include/etl/platform.h
# include/etl/vector.h
# meson.build
# test/test_array.cpp
# test/test_deque.cpp
# test/test_flat_map.cpp
# test/test_flat_multimap.cpp
# test/test_flat_multiset.cpp
# test/test_flat_set.cpp
# test/test_forward_list.cpp
# test/test_list.cpp
# test/test_map.cpp
# test/test_multimap.cpp
# test/test_multiset.cpp
# test/test_set.cpp
# test/vs2019/etl.vcxproj.filters
2021-11-26 18:10:57 +00:00
John Wellbelove
3e98f4c537
Fixes for Ubuntu 18
2021-11-21 16:45:37 +00:00
John Wellbelove
ed0d2f5759
Fixes for Ubuntu 18
2021-11-21 16:38:16 +00:00
John Wellbelove
6c3deb2426
Fixes for Ubuntu 18
2021-11-21 16:25:18 +00:00
John Wellbelove
02cee8c2a3
Fixes for Ubuntu 18
2021-11-21 16:17:23 +00:00
John Wellbelove
e3aea9105c
Fixes for Ubuntu 18
2021-11-21 16:07:44 +00:00
John Wellbelove
2ecc0aa287
Fixes for Ubuntu 18
2021-11-21 14:47:16 +00:00
John Wellbelove
42f9505237
Fixes for Ubuntu 18
2021-11-21 14:37:58 +00:00
John Wellbelove
f5f93926c9
Fixes for Ubuntu 18
2021-11-21 14:32:49 +00:00
John Wellbelove
b9778190dc
Updated version numbers
2021-11-21 12:35:30 +00:00
John Wellbelove
fa637f794e
Update to const_iterator parameter for insert.
2021-11-21 10:36:09 +00:00
John Wellbelove
8872b9a0ae
const_iterator parameters for containers
2021-11-20 19:04:39 +00:00
John Wellbelove
11fa2e4e38
Merge branch 'hotfix/remove-template-overload-abiguity' into development
...
# Conflicts:
# include/etl/forward_list.h
# include/etl/list.h
# include/etl/vector.h
# test/test_forward_list.cpp
# test/test_list.cpp
2021-11-19 11:23:50 +00:00
John Wellbelove
7aaf37e21d
Updated deque
2021-11-19 11:20:49 +00:00
Bo Rydberg
a41418ed91
Fix compile error for vector assign and insert with same type non-iterator ( #466 )
2021-11-19 11:05:04 +00:00
Bo Rydberg
e4431d3940
Fix compile error insert/assign two same types non-iterator ( #467 )
...
Assignent and insert_after of count and values of same types has to work
2021-11-19 11:04:41 +00:00
Bo Rydberg
94507ad1c6
Fix list insert and assign errors ( #468 )
...
Also fixing some test asserts related to etl::list.
2021-11-19 11:04:10 +00:00
John Wellbelove
b61c5e0442
Modified deque const_iterator to iterator
2021-11-18 13:29:48 +00:00
John Wellbelove
642e36a9c4
Modified deque const_iterator to iterator
2021-11-18 12:58:33 +00:00
Steffen Zimmermann
08218d71cd
harmonize copy ctor and asignment op for etl::delegate ( #465 )
...
etl::delegate has a user-written copy constructor and a defaulted assignment
operator. The copy constructor does the same as a defaulted copy constructor,
therefore there is no need to add a user-written copy constructor.
The combination of user-written copy constructor and defaulted assignment
operator causes a warning in Coverity, a static code analyzer:
copy_without_assign: Class etl::delegate<void ()> has a user-written copy constructor etl::delegate<void ()>::delegate(etl::delegate<void ()> const &) but no corresponding user-written assignment operator.
This commit replaces the user-written copy constructor with a defaulted copy
constructor, which does the same.
2021-11-18 12:26:15 +00:00
John Wellbelove
5baa1af862
Make functions for containers
2021-11-18 12:26:15 +00:00
John Wellbelove
52586af2de
Latest implementations
2021-11-18 12:26:15 +00:00
John Wellbelove
8fc7e0208a
Added 'make' functions to construct containers
...
Added tests for 'make' and 'template deduction'
2021-11-18 12:26:13 +00:00
John Wellbelove
d93834ed83
constexpr for enum_type
2021-11-18 12:25:31 +00:00
John Wellbelove
58013e8257
changed iterator parameters to const_iterator
2021-11-17 17:59:57 +00:00
Steffen Zimmermann
d05bf1b4fd
let map/multimap/set/multiset return iterator on erase ( #463 )
...
Beginning with C++11, erase(iterator) and erase(const_iterator) returns
an iterator following the removed element.
2021-11-15 10:26:23 +00:00
John Wellbelove
0acd537a7e
Updates
2021-11-15 09:37:22 +00:00
John Wellbelove
d4a22293c7
Added missing includes
2021-11-15 09:37:21 +00:00
John Wellbelove
8f02e90735
Experimental automatic builtins for algorithms
2021-11-15 09:37:21 +00:00
John Wellbelove
e296bd24f7
Make functions for containers
2021-11-15 09:32:50 +00:00
John Wellbelove
d03e6f5587
Latest implementations
2021-11-15 09:32:12 +00:00
John Wellbelove
84974acbfa
Added 'make' functions to construct containers
...
Added tests for 'make' and 'template deduction'
2021-11-15 09:32:11 +00:00
John Wellbelove
bb72ded2e2
constexpr for enum_type
2021-11-15 09:31:30 +00:00
Jeremy Overesch
beadf9e898
Remove unnecessary casts that causes warnings. ( #461 )
2021-11-15 09:31:30 +00:00
John Wellbelove
29d711003f
Added non-const string pointer overload
2021-11-15 09:31:30 +00:00
John Wellbelove
f459c3e190
First experiments
2021-11-15 09:31:30 +00:00
Jeremy Overesch
331e44b0ac
Change != to < in ipool to get rid of erroneous clang-tidy nullptr dereference warning ( #457 )
2021-11-15 09:31:30 +00:00
Steffen Zimmermann
c412277bb9
add ifdef guard for msvc pragma ( #455 )
...
There was a msvc specific pragma to disable a warning which causes compiler warnings for non-msvc compilers.
Additionally added a push/pop paradigm to restore the original warning state correctly.
2021-11-15 09:31:29 +00:00
mhx
fccebd4724
Fix constexpr accepts() implementation to be C++11 compliant ( #452 )
...
In C++11, `constexpr` functions must not contain compound statements.
This change makes the implementation of `message_packet::accepts` use
a single conjunction instead of a `switch` statement.
See https://gcc.godbolt.org/z/zKbsx3nY5 .
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2021-11-15 09:31:29 +00:00
mhx
0759d3f2ee
Fix constexpr accepts() implementation to be C++11 compliant ( #451 )
...
In C++11, `constexpr` functions must not contain compound statements.
This change makes the implementation of `message_packet::accepts` use
a single conjunction instead of a `switch` statement.
See https://gcc.godbolt.org/z/zKbsx3nY5 .
2021-11-15 09:31:29 +00:00
John Wellbelove
36bb393d7a
Fix compiler warnings
2021-11-15 09:31:29 +00:00
Jeremy Overesch
c70db16a20
Remove unnecessary casts that causes warnings. ( #461 )
2021-11-10 17:31:31 +00:00
John Wellbelove
1b7a59be92
Added non-const string pointer overload
2021-11-06 16:45:06 +00:00
Jeremy Overesch
2c42e9f91b
Change != to < in ipool to get rid of erroneous clang-tidy nullptr dereference warning ( #457 )
2021-11-04 12:15:54 +01:00
John Wellbelove
dd77b4ec70
First experiments
2021-11-04 12:15:14 +01:00
Steffen Zimmermann
4068482bd5
add ifdef guard for msvc pragma ( #455 )
...
There was a msvc specific pragma to disable a warning which causes compiler warnings for non-msvc compilers.
Additionally added a push/pop paradigm to restore the original warning state correctly.
2021-10-29 12:16:26 +01:00
John Wellbelove
9c8bf85e8d
Merge branch 'hotfix/fix-cpp11-pedantic-constexpr' into development
2021-10-27 10:43:49 +01:00
John Wellbelove
946b48cbf1
Merge branch 'hotfix/#454-fix-compiler-error-msvc-16' into development
2021-10-27 09:48:13 +01:00
John Wellbelove
ea11ee8818
Fix compiler warnings
2021-10-27 09:47:52 +01:00
John Wellbelove
e6dd894896
Experimental automatic builtins for algorithms
2021-10-26 17:27:05 +01:00
John Wellbelove
b292e58ee4
Experimental automatic builtins for algorithms
2021-10-25 14:01:07 +01:00
mhx
b4c4d8ac4a
Fix constexpr accepts() implementation to be C++11 compliant ( #452 )
...
In C++11, `constexpr` functions must not contain compound statements.
This change makes the implementation of `message_packet::accepts` use
a single conjunction instead of a `switch` statement.
See https://gcc.godbolt.org/z/zKbsx3nY5 .
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2021-10-25 13:46:00 +01:00
John Wellbelove
76f2a97d87
Experimental automatic builtins for algorithms
2021-10-25 09:56:40 +01:00
mhx
efb9c04a45
Fix constexpr accepts() implementation to be C++11 compliant ( #451 )
...
In C++11, `constexpr` functions must not contain compound statements.
This change makes the implementation of `message_packet::accepts` use
a single conjunction instead of a `switch` statement.
See https://gcc.godbolt.org/z/zKbsx3nY5 .
2021-10-22 19:11:47 +01:00
John Wellbelove
690044e7ff
constexpr for etl::string_view
2021-10-21 09:31:49 +01:00
John Wellbelove
998322d02c
Add available_bytes to byte_stream_reader & byte_stream_writer
2021-10-21 09:26:20 +01:00
John Wellbelove
7124b86b88
Merge branch 'hotfix/disable-begin-end-size-for-no-stl' into development
2021-10-20 13:35:08 +01:00
John Wellbelove
f3bf0dc7fe
Disable etl::begin(), etl::end() and etl::size() for ETL_NO_STL
2021-10-20 13:34:44 +01:00
John Wellbelove
4bedc041d4
Various updates
2021-10-12 17:52:51 +01:00
John Wellbelove
9e6baeb758
Merge branch 'feature/updates-to-delegate' into development
2021-10-12 16:28:41 +01:00
John Wellbelove
fbda92f67f
Replace constexpr with ETL_CONSTEXPR in etl::delegate
2021-10-12 15:57:41 +01:00
Sergey Skorokhod
0ca5f274e1
missed 'typename' keyword added ( #445 )
...
Co-authored-by: Sergey Skorokhod <s.skorokhod@1440.space>
2021-10-12 15:37:44 +01:00
John Wellbelove
6af5a0bbd2
Added missing explicit initialisation from in_place structures.
2021-10-12 14:56:01 +01:00
Steffen Zimmermann
bc095c9993
fix PARAMETER_HIDDEN ( #444 )
...
found with Coverity static code analyzer:
declaration hides parameter "pbucket" (declared in line 1404)
2021-10-12 14:56:01 +01:00
John Wellbelove
dc34be793e
Added missing explicit initialisation from in_place structures.
2021-10-12 14:51:39 +01:00
Steffen Zimmermann
7968c5c448
fix PARAMETER_HIDDEN ( #444 )
...
found with Coverity static code analyzer:
declaration hides parameter "pbucket" (declared in line 1404)
2021-10-12 10:16:55 +01:00
John Wellbelove
67067605a8
Updates to delegate
2021-10-11 12:32:17 +01:00
John Wellbelove
db46cc5dec
Added set() member functions
2021-10-09 14:28:37 +01:00
John Wellbelove
0d612f1317
Added missing read() member functions in byte_stream_reader
...
Updated version numbers
2021-10-07 15:11:43 +01:00
John Wellbelove
2d64b77e4a
Modified read_unchecked & write_unchecked
...
Added start/length read/write implementations
2021-10-05 14:24:46 +01:00
John Wellbelove
4e4c781e18
Updated versions
2021-10-04 20:00:45 +01:00
John Wellbelove
609c0c1ebc
Merge branch 'feature/#430-add-peek-to-queue_spsc_atomic' into development
...
# Conflicts:
# .gitignore
2021-10-04 17:30:55 +01:00
John Wellbelove
4b67f54f1f
Added read_unchecked & write_unchecked
2021-10-04 16:59:42 +01:00
John Wellbelove
71f42a7563
Merge branch 'feature/#429-scatter-gather-span-based-class' into development
...
# Conflicts:
# .gitignore
# include/etl/byte_stream.h
# test/vs2019/etl.vcxproj.filters
2021-10-03 20:26:20 +01:00
John Wellbelove
605655d58b
Added multi_span iterator and tests
2021-10-03 20:19:15 +01:00
John Wellbelove
f35271e695
Added public access for base class for iterator
2021-10-03 20:18:51 +01:00
John Wellbelove
08e08b9165
Merge branch 'feature/#433-pool-ext-variant-pool-ext' into development
...
# Conflicts:
# .gitignore
2021-10-03 16:10:28 +01:00
John Wellbelove
ec64141598
#438 void* reader writer API
2021-10-03 15:38:50 +01:00
John Wellbelove
aaa00ca610
Added pool_ext & generic_pool_ext
2021-10-03 11:50:40 +01:00
John Wellbelove
3f79e61f97
Add front() to locked queues
2021-10-02 14:27:23 +01:00
Daniel B
494059fd6b
Feature/pool ext variant pool ext ( #433 )
...
* added threads dependency to meson build because of pthread linkage problems (gcc version Debian 8.3.0-6)
* initial version of generic_pool_ext, pool_ext and variant_pool_ext (extended unit tests)
* format code
* fix test_call_if_and_not_valid_returning_void by moving SetupFixture into namespace (to ensure correct test setup)
Co-authored-by: Daniel B <daniel-brosche@users.noreply.github.com>
2021-10-01 18:46:52 +01:00
John Wellbelove
88f2ff8e63
Updated version numbers
2021-10-01 18:41:59 +01:00
John Wellbelove
ff3f62bc0b
Fixed etl::cyclic_value for ARMCC v5 compatibility
2021-10-01 18:41:59 +01:00
John Wellbelove
c691991538
Removed warning from compilation
2021-10-01 18:41:35 +01:00
John Wellbelove
f987d2a287
Fixes to byte_stream_reader for const data
2021-10-01 18:41:35 +01:00
John Wellbelove
05f17e1d74
#428 byte_stream_reader can't be used to read a span of const data
2021-10-01 18:41:35 +01:00
John Wellbelove
579527a932
Fixes to byte_stream_reader for const data
2021-10-01 18:41:35 +01:00
fractalembedded
71c8544f35
Add peek to queue_spsc_atomic ( #430 )
2021-10-01 18:41:16 +01:00
John Wellbelove
817ae15c7a
Work in progress
2021-10-01 14:10:14 +01:00
John Wellbelove
b47e58a8fe
Merge branch 'hotfix/byte_stream_reader-with-const-char-data' into development
2021-09-29 18:50:01 +01:00
John Wellbelove
2fd15f9f68
Fixes to byte_stream_reader for const data
2021-09-29 18:49:27 +01:00
John Wellbelove
b9b7b9cd7a
#431 CMSIS-RTOS2 support
2021-09-28 18:06:30 +01:00
John Wellbelove
a6d8a6d1ef
Updated version numbers
2021-09-27 14:06:47 +01:00
John Wellbelove
1b0ddc540e
Fixed etl::cyclic_value for ARMCC v5 compatibility
2021-09-27 13:30:59 +01:00
John Wellbelove
9f976d98b9
#428 byte_stream_reader can't be used to read a span of const data
2021-09-24 09:44:49 +01:00
John Wellbelove
49c9393537
Fixes to byte_stream_reader for const data
2021-09-23 11:49:16 +01:00
John Wellbelove
0754b3380e
Updated versions
2021-09-21 11:09:34 +01:00
John Wellbelove
f2b4eef277
Temporarily disable multi_vector
2021-09-21 11:06:44 +01:00
John Wellbelove
acf0f06398
Merge branch 'hotfix/replace-std-size_t-with-size_t' into development
2021-09-21 10:20:17 +01:00
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