5440 Commits

Author SHA1 Message Date
John Wellbelove
1be80f6d5d object_pool work in progress 2025-06-02 10:14:40 +01:00
John Wellbelove
276415dc19 Updated release 20.41.3 2025-06-01 18:08:38 +01:00
John Wellbelove
c5b63faca3 Updated type_traits_generator 2025-06-01 18:08:18 +01:00
John Wellbelove
aa085ca65b Merge branch 'feature/#1100-Optimise-string-class-initialisation-from-C-data' into development 2025-06-01 17:42:48 +01:00
John Wellbelove
228de00dc7 Optimisation of strings 2025-06-01 17:40:38 +01:00
John Wellbelove
f39922dddc Merge branch 'feature/#1100-Optimise-string-class-initialisation-from-C-data' into development
# Conflicts:
#	include/etl/basic_string.h
2025-06-01 13:50:25 +01:00
John Wellbelove
155050b816 Optimisation of strings 2025-06-01 13:49:14 +01:00
John Wellbelove
f178cde02d Optimisation of strings 2025-06-01 10:57:14 +01:00
John Wellbelove
31caeec248 Optimisation of strings 2025-05-31 21:51:48 +01:00
John Wellbelove
8fb4090e75 Minor script updates 2025-05-31 21:49:37 +01:00
John Wellbelove
0428118553 Optimisation of strings 2025-05-31 21:47:25 +01:00
John Wellbelove
896baaa076 Minor script updates 2025-05-31 15:56:24 +01:00
John Wellbelove
f21b54ff3e Updated release notes 2025-05-30 13:52:40 +01:00
John Wellbelove
a5b15136d7 Optimisation of strings 2025-05-30 13:52:39 +01:00
John Wellbelove
690ad2f082 Added ability to disable -Wformat-security 2025-05-30 13:52:39 +01:00
John Wellbelove
f653279948 Added char8_t, char16_t and char32_t is _integral and is_signed traits 2025-05-30 13:52:38 +01:00
John Wellbelove
1cb75ff072 Added -Wformat-security 2025-05-30 13:52:37 +01:00
John Wellbelove
ddcc975cec Optimisation of strings 2025-05-30 13:52:37 +01:00
John Wellbelove
e87e24557f Hardened mem_set and mem_char parameter requirements 2025-05-30 13:52:36 +01:00
Roland Reichwein
15ba2b71cb Remove -Wuseless-cast (#1110) 2025-05-30 11:41:07 +01:00
John Wellbelove
9c91688a5f Updated release notes 2025-05-30 11:40:08 +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
083439f60b Added -Wformat-security 2025-05-29 20:15:35 +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
Roland Reichwein
09acfca5a6
Remove -Wuseless-cast (#1110) 2025-05-28 13:21:04 +01:00
John Wellbelove
f2ec53a344 Updated release 2025-05-27 19:21:21 +01:00
John Wellbelove
eed23ffedf Merge branch 'hotfix/#936-HFSM-Self-Transition' into development 20.41.2 2025-05-27 17:09:47 +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
John Wellbelove
2d3a80e2b7 Refactored hfsm receive function 2025-05-27 16:47:27 +01:00
Roland Reichwein
0abd618271
Add C++23 detection (#1109) 2025-05-27 16:11:45 +01:00
John Wellbelove
e0ef2da603 Added support for self transition to etl::hfsm
Changed all instances of 'return STATE_ID' to 'return No_State_Change'
2025-05-27 16:05:46 +01:00
Roland Reichwein
65bae7e264
Add unit tests for bit_stream (#1108)
* Add unit tests for bit_stream

* Include issue number in test name

* Included issue number in test name

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-05-27 09:02:00 +01:00
John Wellbelove
84ef87dbf0 Added missing files in unit test CMakeLists.txt 20.41.1 20.40.1 2025-05-26 10:23:56 +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
afdb37715d Added arithmetic tests 2025-05-25 19:06:27 +01:00
John Wellbelove
30281b2a1d Syntax stlye chnage 2025-05-25 19:05:19 +01:00
John Wellbelove
2df0039781 Moved chrono.h in the VS2022 project list 2025-05-22 10:20:21 +01:00
Will Sciaroni
aa317de2db
Restore CMake < 3.14 compatibility (#1098) 2025-05-22 10:06:06 +01:00
Will Sciaroni
21e5c2a6e3
Add Devcontainer configurations (#1093)
* Add clang devcontainers

* Add gcc devcontainers

* Remove comment

* Transition to bullseye variants of clang image to build

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-05-22 09:44:18 +01:00
John Wellbelove
6d14a73e2e Merge branch 'master' of https://github.com/ETLCPP/etl
# Conflicts:
#	zephyr/module.yml
20.41.0
2025-05-21 15:27:05 +01:00
John Wellbelove
c34cfd30ab 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:26:02 +01:00