2621 Commits

Author SHA1 Message Date
Drew Rife
4cf97675bd Add ref-qualifiers to basic_format_spec (#1292)
* Remove AppVeyor build status badge

Removed AppVeyor build status badge from README.

* Update README.md

* Update CONTRIBUTING.md

Updated the instructions for contributing.

* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)

* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.

* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.

* feat: use ref-qualifiers for basic_format_spec

Converted the l-value methods to ref-qualified and also added r-value ref-qualified methods.

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
2026-02-09 11:07:12 +00:00
John Wellbelove
43972b416e Added etl::type_list_remove, etl::type_list_remove_if, etl::type_list_unique, etl::type_list_pop_front, etl::type_list_pop_back 2026-02-09 10:56:23 +00:00
John Wellbelove
f25e6b9d07 Replaced type_list_size<TTypeList>::value with TTypeList::size internally for better clarity. 2026-02-09 07:48:41 +00:00
John Wellbelove
81c8e351ff Renamed type_list_select_from_sequence to type_list_select_from_index_sequence 2026-02-08 21:22:07 +00:00
John Wellbelove
fe1f19ce4d Added new type_list features
Added make_index_sequence_with_offset
2026-02-08 10:42:03 +00:00
John Wellbelove
6cec4a3971 Fixed internal constexptr flag in message_packet 2026-02-05 11:42:09 +00:00
John Wellbelove
ca6bbd50d0 PR review changes 2026-02-05 11:01:51 +00:00
John Wellbelove
1e2b69bc95 PR review changes 2026-02-05 10:53:08 +00:00
John Wellbelove
2e54c01c69 Fixed incorrect comment from 'tuple' to 'message_router' 2026-02-03 20:35:44 +00:00
John Wellbelove
fc7c80bb97 accepts(id) for empty router passes on to a sucessor 2026-02-03 20:34:04 +00:00
John Wellbelove
58619ec675 Added etl::visitor_from_type_list 2026-02-03 08:59:56 +00:00
Mike Bloom
e80623bc1a Add basic_format_arg constructor for ibasic_string (#1288)
* Allow string as format arg

* Remove AppVeyor build status badge

Removed AppVeyor build status badge from README.

* Update README.md

* Update CONTRIBUTING.md

Updated the instructions for contributing.

* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)

* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.

* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.

* Added test string escaped

* Add temporary string test

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
2026-02-03 08:59:55 +00:00
Roland Reichwein
75eb6680d6 Make typed_storage constructor constexpr (#1291)
* Remove AppVeyor build status badge

Removed AppVeyor build status badge from README.

* Update README.md

* Update CONTRIBUTING.md

Updated the instructions for contributing.

* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)

* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.

* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.

* Make typed_storage constructor constexpr

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
2026-02-03 08:59:54 +00:00
Roland Reichwein
353c36c393 Move comparison operators of etl::expected to namespace etl (#1287)
* Remove AppVeyor build status badge

Removed AppVeyor build status badge from README.

* Update README.md

* Update CONTRIBUTING.md

Updated the instructions for contributing.

* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)

* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.

* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.

* Move comparison operators of etl::expected to namespace etl

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
2026-02-03 08:59:53 +00:00
Roland Reichwein
d8d4187176 Add missing includes (#1286)
* Remove AppVeyor build status badge

Removed AppVeyor build status badge from README.

* Update README.md

* Update CONTRIBUTING.md

Updated the instructions for contributing.

* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)

* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.

* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.

* Add missing includes

Before this change, the includes needed to be done explicitly by
files using basic_string_stream.h, and be included first. This
was error prone, especially if includes are reordered (e.g. via
the currently defined clang-format rules).

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
2026-02-03 08:59:53 +00:00
Roland Reichwein
17e6167317 Remove advance() on static spans (#1281)
* Remove AppVeyor build status badge

Removed AppVeyor build status badge from README.

* Update README.md

* Update CONTRIBUTING.md

Updated the instructions for contributing.

* Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)

* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.

* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.

* Remove advance() on static spans

Since the size of a static span is constant, we can't reasonably
advance() on it.

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Co-authored-by: Sergei <sergej.shirokov@gmail.com>
2026-02-03 08:59:52 +00:00
Bryton Flecker
012bbea249 Fix etl::tuple template signature error in pair assignment operator (#1265)
* Fix etl::tuple template signature error in pair assignment operator

* Remove AppVeyor build status badge

Removed AppVeyor build status badge from README.

* Update README.md

* Update etl::tuple to explicitly use etl::pair or std::pair in assignment operator

* Added tests for etl::tuple assignment from pair

---------

Co-authored-by: Bryton Flecker <bflecker@swe.com>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-02-03 08:59:51 +00:00
Mike Bloom
8b0fd64289 Fix return value of get_token_list (#1271)
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-02-03 08:59:51 +00:00
Bo Rydberg
dbaffa9169 Update C++26 deprecated constructs to ensure future standard compliance (#1267)
* Update C++26 deprecated constructs to ensure future standard compliance

I replaced std::is_trivial with a combination of std::is_trivially_default_constructible and std::is_trivially_copyable. Additionally, I added the required comma before the ellipsis in variadic functions to match updated language specifications.

* Some additional is_trivial related changes not found directly when compiling tests in C++26

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-02-03 08:59:50 +00:00
taltenbach
d419bbf16f Fix etl::as_bytes for etl::span<const T> (#1266)
A missing 'const' in the etl::as_bytes implementation was causing a
compile-time error when etl::as_bytes was called on a span of const
values.

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-02-03 08:59:49 +00:00
Mike Bloom
45e5668782 Add template deduction guide for span from vector (#1264)
* Create span from vector deduction

* Use ivector for deduction.  Add vector_ext to test

* Add vector pointer to test

* Finish tests

* Initialize pdata_ext and others
2026-02-03 08:59:47 +00:00
Roland Reichwein
2a727b12b4 Suppress warnings from std in optimized builds (#1259)
When testing with ./run-tests.sh 23 3 10, some warnings from
std surfaced which resulted in build errors.
2026-02-03 08:59:47 +00:00
Bo Rydberg
86fea52f5c Fix year_month arithmetic and correct chrono API behavior (#1257)
* Fix & add more tests for year_month arithmetic

* Minor addtions to previous commit

* More missing values to be uninitialized

* Update the default constructors to = default and correct default constructor tests accordingly

* Fix & add more tests for year_month arithmetic

* Minor addtions to previous commit

* More missing values to be uninitialized

* Update the default constructors to = default and correct default constructor tests accordingly

* Restore default constructor behavior for chrono calender
2026-02-03 08:59:46 +00:00
John Wellbelove
15b96484d5 Fixed missing zero message specialisation for <= C++14 2026-01-30 18:33:30 +00:00
John Wellbelove
491c648d3e Fixed missing zero message specialisation for <= C++14 2026-01-30 11:08:09 +00:00
John Wellbelove
53a9cde9a4 Synced message_router generator to updated code
# Conflicts:
#	include/etl/generators/message_router_generator.h
#	include/etl/message_router.h
2026-01-30 09:22:57 +00:00
John Wellbelove
f0372eaeaa
Merge branch 'master' into feature/#1234-Add-etl--type_list-API-to-more-classes 2026-01-30 09:12:02 +00:00
John Wellbelove
a7fe6bc6b0 Synced message_router generator to updated code 2026-01-30 09:06:54 +00:00
John Wellbelove
0ad0cec342 Synced message_packet generator to updated code 2026-01-29 10:06:42 +00:00
John Wellbelove
ff03b2807d Fix C++03 compatibility
Fixed unused aregument warnings
2026-01-28 22:24:46 +00:00
John Wellbelove
a4ee9d01aa Allow creation of a message_router with no message types 2026-01-28 17:45:29 +00:00
John Wellbelove
fed1274324 Allow creation of a message_packet with no message types 2026-01-28 17:45:11 +00:00
John Wellbelove
21f68eb7b9 Fix iter_swap namespace 2026-01-28 17:42:43 +00:00
John Wellbelove
bde8747be8 Add type_list functionality to etl::visitor using etl::visitor_from_type_list 2026-01-28 17:42:25 +00:00
John Wellbelove
a61980660f Allow etl::make_index_sequence to be created from an etl::type_list 2026-01-28 17:33:32 +00:00
John Wellbelove
a4e4527669 Add type_list functionality to etl::tuple using etl::tuple_from_type_list 2026-01-28 17:26:57 +00:00
John Wellbelove
a669d1f46e Add type_list functionality to etl::observer using etl::observer_from_type_list 2026-01-28 17:26:20 +00:00
John Wellbelove
1243099471 Add type_list functionality to etl::message_router using etl::message_router_from_type_list 2026-01-28 17:25:08 +00:00
John Wellbelove
746761124c Add type_list functionality to etl::message_packet using etl::message_packet_from_type_list 2026-01-28 17:24:45 +00:00
John Wellbelove
69b741adb8 Add type_list functionality to etl::variant using etl::variant_from_type_list 2026-01-28 17:22:37 +00:00
John Wellbelove
d7dc1281ae Fix iter_swap namespace 2026-01-28 17:20:01 +00:00
John Wellbelove
947e89a6e9 Copy changes from other source 2026-01-26 17:56:33 +00:00
John Wellbelove
8320b35d47 Work in progress 2026-01-26 17:56:32 +00:00
John Wellbelove
92e33bb974 Added member type_list type to tuple 2026-01-26 17:56:31 +00:00
John Wellbelove
c67c617d8c Addedetl::type~_list to message_router, observer, visitor
# Conflicts:
#	include/etl/observer.h
#	test/vs2022/etl.vcxproj.filters
2026-01-26 17:56:31 +00:00
John Wellbelove
1c0d7a87de Updated comments 2026-01-25 19:19:18 +01:00
John Wellbelove
61796bee8f Added etl::type_list to etl::variant 2026-01-25 11:10:38 +01:00
John Wellbelove
682b1e7011 Added type_list definitions for nth_type and observer 2026-01-25 11:09:59 +01:00
Sergei
c600605734
Fix for issue 1276 "Data corruption in the etl::bip_buffer_spsc_atomic" (#1277)
* Reproduce data corruption bug in the `etl::bip_buffer_spsc_atomic`.

* Fix data corruption bug in the `etl::bip_buffer_spsc_atomic`.
2026-01-22 10:22:23 +01:00
John Wellbelove
01a0b63919 Added missing 'typename' to type_list nth_type 2026-01-21 11:26:14 +01:00