6078 Commits

Author SHA1 Message Date
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
49d7fa80bc Removed unused tests 2026-01-27 19:28:40 +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
Roland Reichwein
9757860241
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-01-23 19:33:08 +01:00
Sergei
af1caa88fd 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:25:22 +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
Bryton Flecker
f9dc1caa94
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-01-22 05:30:20 +01:00
Mike Bloom
b82bf3b79d
Fix return value of get_token_list (#1271)
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-01-21 19:40:19 +01:00
John Wellbelove
01a0b63919 Added missing 'typename' to type_list nth_type 2026-01-21 11:26:14 +01:00
John Wellbelove
2862b3b247 Added etl::type_list to etl::nth_type 2026-01-21 09:50:15 +01:00
John Wellbelove
2cae496620 Added etl::type_list to etl::observer 2026-01-21 09:26:48 +01:00
John Wellbelove
fcd50486ce
Update CONTRIBUTING.md
Updated the instructions for contributing.
2026-01-21 09:00:51 +01:00
Bo Rydberg
2c78c3d151
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-01-20 11:36:14 +01:00
Bo Rydberg
1b1145ea4e
Remove some UB in test_vector_non_trivial.cpp (#1268)
Some of the tests' UB are detectable by Gcc15 and thus give a compile error due to warnings-as-error flag.

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-01-20 11:15:38 +01:00
John Wellbelove
142dff245c
Update README.md 2026-01-20 10:53:08 +01:00
John Wellbelove
a1744add1f
Remove AppVeyor build status badge
Removed AppVeyor build status badge from README.
2026-01-20 10:35:02 +01:00
taltenbach
55503e0b97
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-01-17 23:04:52 +01:00
Roland Reichwein
c92dbc2fce
Document how to implement platform specifics (#1262)
Some interfaces need to be implemented in every project
or platform using the ETL:

* etl_get_high_resolution_clock
* etl_get_system_clock
* etl_get_steady_clock
* etl_putchar

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-01-17 14:26:16 +01:00
Mike Bloom
3b1ca75ba2
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-01-16 09:57:09 +01:00
Roland Reichwein
3780070bcf
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-01-16 09:51:11 +01:00
John Wellbelove
226caa30b5
Changed ETL_OR_STD:: to etl:: (#1261)
Co-authored-by: John Wellbelove <john.wellbelove@etlcpp.co.uk>
2026-01-16 09:47:32 +01:00
Bo Rydberg
0644f9827b
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-01-16 09:02:46 +01:00
John Wellbelove
e9c2577d8e Updated release note and version 20.45.0 2026-01-11 21:06:22 +01:00
John Wellbelove
cdd1de4b56 Updated release note and version 2026-01-11 18:56:17 +01:00
John Wellbelove
14ce8a93fb Updated release note and version 2026-01-11 18:55:00 +01:00
mike919192
3206ac9feb
ivector swap (#1256)
* Etl vector swap implementation

* Implement swap function overload

* Fix nitpicks

* Add size check

* Remove unnessecary etl swap overloads

* Use swap_range and move range

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-01-11 18:05:21 +01:00
John Wellbelove
6d6ecc9fb5
Add etl::inplace_function (#1251)
* Imported inplace_function and invoke functionality from original branch

* Fixed spelling mistake

* Update test/CMakeLists.txt

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update test/test_inplace_function.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Moved member type function_ptr to private section

* Updated comments in inplace_function.h

* Updated action workflows to be triggered on a pull-request based on development branch

* Added suggested changes from PR reviews

---------

Co-authored-by: John Wellbelove <john.wellbelove@etlcpp.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: John Wellbelove <john.wellbelove@etlcpp.co.uk>
2026-01-10 09:46:50 +01:00
John Wellbelove
09555434f6 Fixed multiple definition of 'expected' 2026-01-08 23:05:46 +01:00
Bo Rydberg
f8ee5f450b
Make code base with tests compile under gcc-14 (#1254)
* Make code base with tests compile under gcc-14

* Update buffer_descriptors.h

Following the same style as non-tests headers have. E.g., include/etl/intrusive_list.h & include/etl/intrusive_forward_list.h

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-01-08 22:58:27 +01:00
Bo Rydberg
5b99aa50b3
Fix syntax errors in base64 test (#1255)
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-01-08 21:12:43 +01:00
littepoint
0c3dafa09e
feat(mutex): Add ThreadX mutex support (#1252)
* feat(mutex): Add ThreadX mutex support

* fix(mutex): Fix ThreadX mutex naming and destructor issues

Correct the header guard macro naming error from ETL_MUTEX_THREAD to ETL_MUTEX_THREADX
Add mutex destructor to properly release resources
Modify mutex creation name identifier to "etl mutex"

---------

Co-authored-by: littepoint <1053049738@qq.com>
2026-01-04 10:38:09 +00:00
Iványi Béla
16389b3eea
Indirect vector checks (#1239)
* Check in indirect_vector::emplace_back if the vector is full, when push pop checks are requested

* Add extra checks to indirect_vector

* Fix emplace in indirect_vector not taking const_iterator

* Fix usage of ipool::create<T> in indirect_vector, so that there are no intermitten objects created

---------

Co-authored-by: Béla Iványi <bela.ivanyi@idata.hu>
2026-01-01 09:56:25 +00:00
John Wellbelove
4f70ed5329 Merge branch 'development' of https://github.com/ETLCPP/etl into development
# Conflicts:
#	test/test_optional.cpp
2025-12-26 07:25:56 +00:00
Nik Delgado
af8ec168c4 implement .begin() and .end() for etl::optional (#1246)
Co-authored-by: nikdelgado <nikdelgado@icloud.com>
2025-12-26 07:25:33 +00:00
Nik Delgado
46a937fc34
implement .begin() and .end() for etl::optional (#1246)
Co-authored-by: nikdelgado <nikdelgado@icloud.com>
2025-12-26 07:01:58 +00:00
John Wellbelove
94d960748d Fixed incompatibilities with C++03 2025-12-23 08:28:47 +00:00