2277 Commits

Author SHA1 Message Date
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
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
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
John Wellbelove
879d620094 Merge branch 'development' of https://github.com/ETLCPP/etl into development 2025-05-01 07:31:28 +01:00
Jiang Yi
f69da8577e
Support etl::underlying_type with compiler builtin (#1045)
msvc is unsupported currently

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-04-30 17:01:44 +01:00
Roland Reichwein
49acd2d2ab Various cleanup changes (#1049)
* Various Cleanup

Remove remove() by pointer because erase() can be used for that

Fix signed distance handling, with added check for order

Add missing file ID

Fix File IDs

Added test for algorithm.h

* Improve types
# Conflicts:
#	include/etl/file_error_numbers.h
2025-04-30 16:54:22 +01:00
John Wellbelove
aa0d8b322c Merge branch 'development' of https://github.com/ETLCPP/etl into development
# Conflicts:
#	zephyr/module.yml
2025-04-30 12:23:56 +01:00
Roland Reichwein
6ed64f7b21
Support const pointers in etl::is_aligned() (#1082)
* 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.

* Support const pointers to etl::is_aligned()

---------

Co-authored-by: Zach Van Camp <marshmilo100@gmail.com>
2025-04-30 12:22:38 +01:00
John Wellbelove
a1ec613630 Fixed parameter shadowing warnings 2025-04-30 12:21:36 +01:00
John Wellbelove
2b141e0f22 Fixed tests to be compatible with std::chrono 2025-04-30 12:07:15 +01:00
John Wellbelove
5143aa7f53 Added year_month_day and year_month_day_last classes and tests 2025-04-28 20:00:18 +01:00
John Wellbelove
e7cbc10df8 Added experimental system_clock, time_point, and time_zone classes 2025-04-28 19:59:32 +01:00
John Wellbelove
39f17a94b8 Added floating point duration types 2025-04-28 19:58:39 +01:00
John Wellbelove
279ce8f0dc Added more chrono classes and operators 2025-04-27 20:22:45 +01:00
John Wellbelove
4485a90c04 Added etl::chrono::year_month 2025-04-25 19:21:41 +01:00
John Wellbelove
d604d40648 Added etl::chrono::hh_mm_ss 2025-04-25 18:07:43 +01:00
John Wellbelove
ee748eb6cb Updates to chrono classes 2025-04-22 20:16:52 +01:00
John Wellbelove
a27aa2a556 Full etl:chrono::duration implementation and unit tests 2025-04-20 13:33:30 +01:00
John Wellbelove
fedf429d02 Merge branch 'development' into feature/add-time-date-classes
# Conflicts:
#	.gitignore
#	include/etl/platform.h
#	include/etl/ratio.h
#	test/CMakeLists.txt
#	test/test_ratio.cpp
#	test/vs2022/etl.vcxproj
#	test/vs2022/etl.vcxproj.filters
2025-04-19 12:30:36 +01:00
John Wellbelove
5a02c061e9 Changes merged from chrono updates 2025-04-18 11:30:43 +01:00
John Wellbelove
bc158cbcbc Updates to chrono classes 2025-04-18 10:50:48 +01:00