5382 Commits

Author SHA1 Message Date
Drew Rife
8496e71e6f
Use etl::clamp for setting value in cyclic_value (#1104)
* Add Zephyr build system module.yml (#1074)

The Zephyr build system requires that modules have a `module.yml` file to specify where the module cmake and kconfig files are located. 
These can also be explicitly set as "external" meaning that they do not exist within the module tree, itself. These build file can still be specified elsewhere via cmake variables, explained more in-depth here: https://docs.zephyrproject.org/latest/develop/modules.html#modules-module-ext-root
This change makes it such that ETL can be included more easily in zephyr projects running on embedded systems. A similar change can be observed in the public nanopb repository, where the repo only requires its own `zephyr/module.yml` file to be found by the zephyr build system, but the kconfig and cmake additions can exist outside of the library repository.

* Add full West support for ETL (#1075)

This will allow ETL to be included via west in a zephyr build without any additional wrappers or external kconfigs.

Signed-off-by: Zach Van Camp <zach.vancamp@etcconnect.com>
Co-authored-by: Zach Van Camp <zach.vancamp@etcconnect.com>

* refactor: use etl::clamp for clamping the set value

---------

Signed-off-by: Zach Van Camp <zach.vancamp@etcconnect.com>
Co-authored-by: Zach Van Camp <marshmilo100@gmail.com>
Co-authored-by: Zach Van Camp <zach.vancamp@etcconnect.com>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-05-21 12:29:07 +01:00
Jędrzej Boczar
95a4b107c7
Fix numeric overflow in bip buffer's get_write_reserve (#1088) 2025-05-20 08:32:11 +01:00
John Wellbelove
fc71a9a10f Updated version to 20.41.0 2025-05-19 12:33:51 +01:00
John Wellbelove
ad99c5aaf5 Updated release notes 2025-05-19 12:32:34 +01:00
John Wellbelove
30003cc9c4 Fixed signed/unsigned warning 2025-05-19 12:32:20 +01:00
John Wellbelove
67396c94ef Changed make_array to ETL_NOEXCEPT 2025-05-19 12:31:57 +01:00
John Wellbelove
152581b81b Updated type_traits generator 2025-05-19 09:02:32 +01:00
John Wellbelove
c133c4d8c0 #1102 Optimise clear of sequence containers for trivially destructible types 2025-05-18 18:09:53 +01:00
John Wellbelove
79fb8ba183 Replaced etl::is_duration with etl::is_specialization 2025-05-18 18:09:16 +01:00
John Wellbelove
b05e779d2b Merge branch 'development' of https://github.com/ETLCPP/etl into development 2025-05-18 16:07:53 +01:00
John Wellbelove
f69d39e220 Allow zero sized etl::array 2025-05-18 16:07:47 +01:00
John Wellbelove
ab11c39430 Allow zero sized etl::array 2025-05-18 16:02:02 +01:00
John Wellbelove
66392ba8fe Fixed constexpr labels + other small changes to fix syntax check errors. 2025-05-18 15:53:03 +01:00
John Wellbelove
3f138f68b9 Fixed constexpr labels + other small changes to fix syntax check errors. 2025-05-18 13:42:08 +01:00
John Wellbelove
c25df24b03 Allow zero sized etl::array 2025-05-18 13:41:01 +01:00
John Wellbelove
ba31479481 Added sys_day and local_day constructors and conversions 2025-05-17 21:00:23 +01:00
John Wellbelove
d04ee8c5e7 Added configuration for selection of STL-like or ETL-verbose chrono literals 2025-05-17 11:46:52 +01:00
John Wellbelove
a724dd08b8 Removed useless-cast warning 2025-05-15 19:05:49 +01:00
John Wellbelove
01e30c8f53 #1096 bit_stream_reader constructors do not accept const pointers 2025-05-15 09:45:23 +01:00
John Wellbelove
94e24fd513 #1095 bit_stream_writer::empty() compares the wrong values to determine empty or not 2025-05-15 09:22:14 +01:00
John Wellbelove
7b603e201c Merge branch 'feature/add-time-date-classes' into development
# Conflicts:
#	include/etl/tuple.h
#	test/vs2022/etl.vcxproj.filters
2025-05-14 19:23:21 +01:00
John Wellbelove
9e965b07e0 Small layout and comment alterations 2025-05-14 19:16:42 +01:00
Roland Reichwein
420474593b
Added iterator and const_iterator to etl::ipool (#1043)
* Added iterator and const_iterator to etl::ipool

* Adjusted source code format
2025-05-14 19:14:23 +01:00
John Wellbelove
fe592d5d19 Fixed C++03 compatibility 2025-05-13 22:58:53 +01:00
John Wellbelove
d577dc7256 Fixed C++03 compatibility 2025-05-13 22:44:22 +01:00
John Wellbelove
e3aa7cb46c Fixed C++03 compatibility 2025-05-13 22:11:45 +01:00
Roland Reichwein
fe928fa53a
Support C++23 (#1069)
* Support C++23

* Fix syntax checks for correct C++ standard version

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-05-13 21:27:04 +01:00
Roland Reichwein
9f5ad35d41
Cleanup fixes for C++03 (#1089)
* Typo fixes

* Fix typo

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-05-13 21:21:50 +01:00
Petr
ce9b774760
Fixed compilation errors in algorithm.h in C++03 and compiler warning… (#1080)
* Add Zephyr build system module.yml (#1074)

The Zephyr build system requires that modules have a `module.yml` file to specify where the module cmake and kconfig files are located. 
These can also be explicitly set as "external" meaning that they do not exist within the module tree, itself. These build file can still be specified elsewhere via cmake variables, explained more in-depth here: https://docs.zephyrproject.org/latest/develop/modules.html#modules-module-ext-root
This change makes it such that ETL can be included more easily in zephyr projects running on embedded systems. A similar change can be observed in the public nanopb repository, where the repo only requires its own `zephyr/module.yml` file to be found by the zephyr build system, but the kconfig and cmake additions can exist outside of the library repository.

* Add full West support for ETL (#1075)

This will allow ETL to be included via west in a zephyr build without any additional wrappers or external kconfigs.

Signed-off-by: Zach Van Camp <zach.vancamp@etcconnect.com>
Co-authored-by: Zach Van Camp <zach.vancamp@etcconnect.com>

* Fixed compilation errors in algorithm.h in C++03 and compiler warnings in gcc older than 4.6

---------

Signed-off-by: Zach Van Camp <zach.vancamp@etcconnect.com>
Co-authored-by: Zach Van Camp <marshmilo100@gmail.com>
Co-authored-by: Zach Van Camp <zach.vancamp@etcconnect.com>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-05-13 21:17:41 +01:00
John Wellbelove
270cb33338 Merge updates 2025-05-13 08:32:59 +01:00
John Wellbelove
875d78d015 Fixed buffer size for etl::chrono::month_weekday hash 2025-05-13 08:29:14 +01:00
John Wellbelove
915d668904 Added chrono.h to tests 2025-05-13 08:28:37 +01:00
John Wellbelove
6eff1749ba Added check for C++03 or lower 2025-05-13 08:28:07 +01:00
John Wellbelove
a9393b96ba Updated comments 2025-05-13 08:27:43 +01:00
John Wellbelove
f3541696fb C++03, 11, 14, 17, 20 compatibility changes 2025-05-12 12:10:41 +01:00
John Wellbelove
12328670dd Work in progress 2025-05-11 14:11:22 +01:00
John Wellbelove
e25982a454 Merge branch 'pull-request/#1049-Various-cleanup-changes' into development
# Conflicts:
#	include/etl/algorithm.h
#	include/etl/file_error_numbers.h
2025-05-09 10:06:28 +01:00
John Wellbelove
c37e48d589 Merge branch 'feature/#1085-Add-The-Remaining-Math-Operators-To-ETL_TYPEDEF' into development 2025-05-09 09:00:20 +01:00
John Wellbelove
524ebf9b9f Small style changes to etl::span take() 2025-05-07 07:26:26 +01:00
John Wellbelove
1d19ac22cd Added licence text to tuple header
Removed redundant include
2025-05-07 07:25:41 +01:00
John Wellbelove
b6300d97ff C++03 compatibiity to to_underlying 2025-05-07 07:24:39 +01:00
John Wellbelove
5094a0a9e1 Added C++03 etl::is_enum 2025-05-07 07:23:26 +01:00
John Wellbelove
708c8c0d3a Added largest.h include to algorithm.h to allow C++03 compatibiity to four parameter copy. 2025-05-07 07:23:07 +01:00
John Wellbelove
53b7acffe9 Added largest.h include to algorithm.h to allow C++03 compatibiity to four parameter copy. 2025-05-07 07:21:14 +01:00
John Wellbelove
d1f118bb79 Minor style changes 2025-05-07 07:20:08 +01:00
Roland Reichwein
ba487bcb04
Add take() to etl::span (#1083) 2025-05-06 08:52:51 +01:00
John Wellbelove
0b280bf5f0 Fixed test syntax error 2025-05-05 21:10:03 +01:00
Helder Duarte
66af2a69c1
Add swap(circular_buffer_ext&&) (#1068) (#1072) 2025-05-05 19:16:38 +01:00
John Wellbelove
394b1110fb Added all arithmetic operators to type_def 2025-05-05 18:01:29 +01:00
John Wellbelove
22391aa750 Imported and updated etl::underlying_type 2025-05-03 08:25:45 +01:00