6078 Commits

Author SHA1 Message Date
Roland Reichwein
3e4d41ca57
Fix operator| conflict with std::ranges (#1395) 2026-04-14 11:56:05 +02:00
John Wellbelove
912e22f238 Merge branch 'development' 20.47.1 2026-04-05 14:32:40 +01:00
John Wellbelove
1a6762d6c3 Updated version and release notes 2026-04-05 14:13:22 +01:00
John Wellbelove
ee04aa76c5 VS2022 project update 2026-04-05 14:03:32 +01:00
Roland Reichwein
3cd03fcb7f
Fix initializer_list use in algorithm.h and definition of data() in iterator.h (#1374)
* Print test names at test time (#1343)

* Fix initializer_list use in algorithm.h

Needs to be conditional.

* Move definition of data() in iterator.h

Needs to be defined earlier.

---------

Co-authored-by: John Wellbelove <john.wellbelove@etlcpp.com>
2026-04-05 13:37:15 +01:00
John Wellbelove
654e222bd9 Merge branch 'development' 20.47.0 2026-04-04 10:50:06 +01:00
John Wellbelove
a1ad13364e Updated release notes 2026-04-04 10:49:00 +01:00
John Wellbelove
22ee76914d Merge branch 'development'
# Conflicts:
#	test/main.cpp
2026-04-04 10:02:24 +01:00
John Wellbelove
e2bed92814 Updated version and release notes 2026-04-04 09:40:46 +01:00
John Wellbelove
576b03f38d Merged from local copy of PR1295 2026-04-04 00:14:49 +01:00
John Wellbelove
f7e1384a70 Merge development 2026-04-03 20:09:06 +01:00
John Wellbelove
e61589ebf2 Merge branch 'development' into delegate-from-non-capturing-lambda
# Conflicts:
#	include/etl/private/delegate_cpp11.h
#	test/test_delegate.cpp
2026-04-03 20:08:41 +01:00
Maksim Danilov
823f2493b4
Rename 'leaf' to 'child' in intrusive_links.h (#1373)
* Print test names at test time (#1343)

* Rename 'leaf' to 'child' in intrusive_links.h

Recent versions of the Tasking TriCore compiler treat
'leaf' as a reserved C++ keyword, causing compilation failures in ETL.

---------

Co-authored-by: Roland Reichwein <Roland.Reichwein@bmw.de>
Co-authored-by: Maksim Danilov <maksim.danilov@accenture.com>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-04-03 17:35:41 +01:00
John Wellbelove
982adecca4 Added manually triggered clang-format action
# Conflicts:
#	.github/workflows/clang-format_update.yaml
2026-04-03 16:55:18 +01:00
John Wellbelove
2059c5b657 Added manually triggered clang-format action
# Conflicts:
#	.github/workflows/clang-format_update.yaml
2026-04-03 16:46:42 +01:00
John Wellbelove
bd6e55b12e Added manually triggered clang-format action
# Conflicts:
#	.github/workflows/clang-format_update.yaml
2026-04-03 16:45:25 +01:00
John Wellbelove
5a7674b637 Added manually triggered clang-format action
# Conflicts:
#	.github/workflows/clang-format_update.yaml
2026-04-03 16:42:29 +01:00
John Wellbelove
2e74b07dff Added manually triggered clang-format action 2026-04-03 16:35:57 +01:00
John Wellbelove
f5128a39fe Attempt to fix syntax that comfuse clang-format 2026-04-03 13:58:19 +01:00
John Wellbelove
01066b86ae Attempt to fix syntax that comfuse clang-format 2026-04-03 12:31:51 +01:00
John Wellbelove
aeb8e4f734 Formatted source files 2026-04-02 14:11:45 +01:00
John Wellbelove
c7571660bd Adjusted ColumnLimit to 150 2026-04-02 14:07:10 +01:00
John Wellbelove
6a1585b317 Improved include regex 2026-04-02 13:13:33 +01:00
John Wellbelove
9fba468dc2 Removed ETL_DEPRECATED_REASON=[[deprecated(%0)]] from configuration 2026-04-02 11:33:44 +01:00
John Wellbelove
bd1def8b41 Used the correct macro for 'if constexpr' 2026-04-02 10:35:49 +01:00
John Wellbelove
27d284713a Updated .clang-format to include more ETL macros 2026-04-02 10:15:35 +01:00
John Wellbelove
1405bf65de Updated .treefmt to exclude more files and directories 2026-04-02 08:27:46 +01:00
Roland Reichwein
09dd40d4dd Fix .clang-format to recognize ETL macros as attributes 2026-04-02 08:20:43 +01:00
Roland Reichwein
c536a39f0a Treefmt config 2026-04-02 08:19:45 +01:00
John Wellbelove
9b394b8677 Added certain Hugo files and diectories to the Git ignore file 2026-04-01 17:34:15 +01:00
John Wellbelove
9d2c73793d Ran clang-format on generated files, using the .clang-format from PR #1314 2026-04-01 13:33:18 +01:00
Benedek Kupper
1ce3deb0f7 test: delegate: add unary + to convert lambda to function pointer 2026-03-31 21:56:42 +02:00
John Wellbelove
ea397ec2dd Changed non-capturing lambda API to runtime function pointer API 2026-03-31 21:27:44 +02:00
John Wellbelove
a483eb90c4 Fixed generator_test.py
Updated generator files in the VS2022 project
Adde licence headers to the generator headers
2026-03-31 19:11:02 +01:00
Diogo Cavaleiro
c970fa9bad Add clang-format v18 workflow and configuration 2026-03-31 16:59:09 +01:00
Roland Reichwein
d17c0297ec
Factor out generated code (#1369)
Previously, generator code under include/etl/generators needed to be
synchronized with the generated files under include/etl explicitly.
Leading to errors in the CI checks if forgotten.

This change separates out the generated parts to cpp03 specific
snippets. This way, most code under include/etl is now directly editable,
with only some pre-C++11 code separated out to
include/etl/generators/*_cpp03_generator.h which still needs to be
re-generated on respective changes. But in many cases, this is not necessary.

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-03-31 16:36:54 +01:00
William Sciaroni
3c2a4d48a9
Update Dockerfile and Devcontainer. (#1360)
* Print test names at test time (#1343)

* Remove python3-cogapp from Dockerfile

Removed python3-cogapp from the Dockerfile installation.

* Update .devcontainer/Dockerfile

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Change base image and update Python package installation

* Change container to use cpp devcontainer version 2

* Point to specific version of the devcontainer

* Update devcontainer to use debian snapshot for reproducability

* Fetch sources via https

* Make devcontainer more robust for debian_snapshot

* Make fetch non-https for snapshot

* Install CMake from apt

* Update devcontainers to remove CMake version

* Change Clang version from 22 to 21

* Apply suggestion from @rolandreichweinbmw

---------

Co-authored-by: Roland Reichwein <Roland.Reichwein@bmw.de>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-03-31 12:20:31 +01:00
John Wellbelove
3d564d68b9 Fixed sign conversion in advance_helper 2026-03-30 19:34:15 +01:00
John Wellbelove
e4dfb6c045 Fixed iterator.h #if #else #endif
Fixed type_lookup_generator to match genereted
2026-03-30 19:06:07 +01:00
John Wellbelove
95c9cabc10 Fix for PR 1367 2026-03-28 20:37:03 +00:00
John Wellbelove
3638d89f8b Fix for PR 1367 2026-03-28 13:50:27 +00:00
John Wellbelove
03ca3c817e Fix for PR 1367 2026-03-28 12:03:12 +00:00
Roland Reichwein
b83cef5668
Fix compilation with -Wsign-conversion (#1367)
* Fix compilation with -Wsign-conversion

For tests with GCC and Clang

Fixes https://github.com/ETLCPP/etl/issues/632

* Fix support of negative Id in type_lookup.h: type_from_id

* Fix element access arithmetic in atomic_gcc_sync.h fetch_add/fetch_sub

* Fix rounded_integral_division.h: divide_round_half_odd(): direction is always 1
2026-03-28 11:15:56 +00:00
Bram Meijer
2c2ce9a39f
Add a inplace_function constructor from a nullptr (#1336)
* Add a inplace_function constructor with a nullptr argument

* Add unit test for nullptr construction

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-03-28 09:16:00 +00:00
Daniel Santos
f718c54396
Add bounds and empty checks to container classes (#1334)
* add bounds and empty checks to containers

* address code rabbit review

* correct C++11 constexpr error

* rename new constexpr macro and make it global

* rename queue specializations' exceptions

* change front() implementation in locked queue specializations

* refactor usage of CONSTEXPR and NO_EXCEPT

* expand intrusive queue tests

* introduce lock guards on locked queues

* Print test names at test time (#1343)

* revert mutex and return changes on locking queues

* finish reverting the locked queues

---------

Co-authored-by: Roland Reichwein <Roland.Reichwein@bmw.de>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-03-27 10:17:56 +00:00
Roland Reichwein
12cdbc0da0
Bug fixes in variant_variadic.h (#1358)
* Print test names at test time (#1343)

* Bug fixes in variant_variadic.h

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-03-27 09:19:50 +00:00
Bram Meijer
ab03ea114f
Fix compilation issue when including etl/chrono next to etl/to_string. (#1365)
* Print test names at test time (#1343)

* Fix namespace issue of floor/round in to_string_helper

---------

Co-authored-by: Roland Reichwein <Roland.Reichwein@bmw.de>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-03-27 08:11:45 +00:00
Roland Reichwein
2f242e37f2
Restrict etl::atomic for general types (#1359)
* Print test names at test time (#1343)

* Restrict etl::atomic for general types

Needs adding is_copy_assignable and is_move_assignable, and
adjustments to is_trivially_copyable and is_assignable

* Resolve mutable T value vs. volatile qualified methods

* Remove volatile method overloads

They are deprecated in C++20 because they don't work as users expect anyway.

MSVC hinted for this.

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-03-26 09:46:20 +00:00
Roland Reichwein
31b87b5419
Add C++ ranges library for C++17 (#1316)
* Add ranges

* Print test names at test time (#1343)

* Fix conflit commit errors

* Cast return value of operator* to value_type

Fixed warning on VS2022

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-03-26 08:56:17 +00:00
Roland Reichwein
add42b6c87
Mark uninitialized use from std library (#1349)
* Print test names at test time (#1343)

* Mark uninitialized use from std library

Similar to other cases, adds compiler pragmas against warnings
caused by std library in optimized builds of tests

---------

Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2026-03-26 08:29:05 +00:00