2337 Commits

Author SHA1 Message Date
John Wellbelove
8441069b71 Fixed possible nullptr references 2025-06-12 13:13:34 +01:00
John Wellbelove
8659091ff3 Fixed std::string_view include warning for < C++17 2025-06-11 13:16:30 +01:00
John Wellbelove
130859c3b7 Made destructor compatible with C++03 2025-06-11 13:16:29 +01:00
Roland Reichwein
400d6d7da0
For cogapp, use cog instead of python (#1125) 2025-06-11 13:16:06 +01:00
Drew Rife
7889d44db6
chore: add newline at end of file (#1122) 2025-06-08 14:21:14 +01:00
John Wellbelove
a85e517196 Updated release notes and version 2025-06-08 11:19:54 +01:00
John Wellbelove
59eab34162 Used mem_copy and mem_move to optimise vectors of pointers 2025-06-06 17:27:43 +01:00
John Wellbelove
3e9f4a99ed #1119 Forced compiler error in nth_type.h breaks containers for C++03
# Conflicts:
#	include/etl/nth_type.h
2025-06-06 13:02:10 +01:00
John Wellbelove
2085295358 #1119 Forced compiler error in nth_type.h breaks containers for C++03 2025-06-06 12:17:49 +01:00
John Wellbelove
896a2e43b7 Disable std::tuple_index and std::tuple_element forward declarations for MacOS and Clang 2025-06-06 10:15:15 +01:00
John Wellbelove
b56394a84f Further optimisation of etl::basic_string::insert by using etl::mem_move() 2025-06-06 09:39:21 +01:00
John Wellbelove
1433fb8f25 Fixed usage of structured bindings for tuple, when not using the STL 2025-06-06 09:37:53 +01:00
John Wellbelove
ccb37a12a3 Fixed const&& move constructors
# Conflicts:
#	include/etl/tuple.h
2025-06-05 09:57:53 +01:00
Roland Reichwein
e2f2a39a97
Fix forward in tuple ctor (#1116) 2025-06-05 09:54:43 +01:00
John Wellbelove
ea89cf79bc Updated release 2025-06-04 19:14:03 +01:00
Roland Reichwein
a1367fc05f
Conditionally use wchar.h (#1115) 2025-06-04 19:05:41 +01:00
John Wellbelove
fe6fd35174 Updated version 2025-06-02 23:38:15 +01:00
Roland Reichwein
bf8e924308
Add missing header wchar.h for usage of wcslen() (#1113) 2025-06-02 23:11:00 +01:00
John Wellbelove
276415dc19 Updated release 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
0428118553 Optimisation of strings 2025-05-31 21:47:25 +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
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
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