2307 Commits

Author SHA1 Message Date
John Wellbelove
31caeec248 Optimisation of strings 2025-05-31 21:51:48 +01:00
John Wellbelove
0428118553 Optimisation of strings 2025-05-31 21:47:25 +01:00
John Wellbelove
045535caff Optimisation of strings 2025-05-30 11:30:16 +01:00
John Wellbelove
d913bda0ea Added ability to disable -Wformat-security 2025-05-29 20:19:28 +01:00
John Wellbelove
ffc4666fe9 Added char8_t, char16_t and char32_t is _integral and is_signed traits 2025-05-29 20:19:02 +01:00
John Wellbelove
cb6d924dad Optimisation of strings 2025-05-29 20:15:19 +01:00
John Wellbelove
e8a5673f7a Hardened mem_set and mem_char parameter requirements 2025-05-29 20:14:37 +01:00
John Wellbelove
f2ec53a344 Updated release 2025-05-27 19:21:21 +01:00
John Wellbelove
4cd2a6ed6e Refactored hfsm receive function 2025-05-27 17:07:58 +01:00
John Wellbelove
ffc17160da Added support for self transition to etl::hfsm
Changed all instances of 'return STATE_ID' to 'return No_State_Change'
2025-05-27 17:07:58 +01:00
Roland Reichwein
0abd618271
Add C++23 detection (#1109) 2025-05-27 16:11:45 +01:00
John Wellbelove
daeb4bdbcd Updated version and release 2025-05-25 23:12:27 +01:00
John Wellbelove
f950133d51 Merge branch 'development' of https://github.com/ETLCPP/etl into development 2025-05-25 22:41:16 +01:00
TheComet
b62a6d0d1d
Make public function definition inline (#1106)
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-05-25 22:40:36 +01:00
John Wellbelove
2e3b91a19b Fixed missing return in compare function 2025-05-25 19:34:10 +01:00
John Wellbelove
c78b5ca76a Added inline namespaces
Added missing comparison operators
Replaced 'typedef' with 'using'
2025-05-25 19:17:49 +01:00
John Wellbelove
a0d81170c8 Added inline namespaces 2025-05-25 19:07:18 +01:00
John Wellbelove
30281b2a1d Syntax stlye chnage 2025-05-25 19:05:19 +01:00
mlandersonjlg
1ebc659c29
Add IWYU pragmas to private headers which provide library symbols (#1103)
* 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>

* Add IWYU pragmas to private headers which provide library symbols
This prevents warnings in clang compiler and IWYU tool
https://clangd.llvm.org/guides/include-cleaner#iwyu-pragmas
https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/IWYUPragmas.md#iwyu-pragma-export

---------

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 15:24:06 +01:00
John Wellbelove
b13b2ae93c Removed redundant code 2025-05-21 12:35:43 +01:00
John Wellbelove
ca12a2ec0c Use etl::clamp for setting value in cyclic_value 2025-05-21 12:29:27 +01:00
John Wellbelove
f33c40001f Added get_token_list to string_utilities to retrieve multiple tokens 2025-05-21 10:21:30 +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
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
f69d39e220 Allow zero sized etl::array 2025-05-18 16:07:47 +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
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
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
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