* Fix doc comment for pool::allocate() (#914)
* Fixes compiler detection with Wunder
---------
Co-authored-by: Michael K <130953568+kmichaelk@users.noreply.github.com>
Co-authored-by: Rafael Laya <rafaellaya@meta.com>
* fix c++20-compat false positive
* move the c++20 compat warning suppression to a separate header
* fix GCC/clang in private/diagnostic_cxx_20_compat_push.h
---------
Co-authored-by: Jan Dorniak <jdorniak@ultima-automatyka.pl>
* etl/type_traits.h: Add support for type_identity
* test/test_type_traits.cpp: Add a test for etl::type_identity (type_identity_test_add(1.5f, 2) == 3.5f)
* Update test_type_traits.cpp
Use CHECK_CLOSE instead of CHECK for equality
The documentation comment for `exception::line_number()` in
`include/etl/exception.h` states falsely that the return type for
the function is a `const char*`.
It should state that the return type is `numeric_type`,
which is an `int`.
So change the documentation comment to reflect that the return type is
an `int`.
By removing `etl/` from include paths (in `#include` statements), the path to the directory `include/` doesn't need to be provided to the preprocessor as an include path if the files in `include/etl/` are included by other means.
This has no disadvantages.
Actually the form `#include "..."` is intended to be used for relative paths in the first place.
This is relevant if one wants to include the source files from `include/etl` only indirectly.
For example we use special generated header files which wrap the include statement of the vanilla header files with diagnostic commands.
Those commands allow to disable diagnostic for ETL's files and re-enable them after the file inclusion.
Wrapper files are generated for every non-private header file.
We provide the directory with the wrapper files as include path to the preprocessor instead of the normal `include/` directory.
Thus include statements like `#include "etl/private/..."` are invalid in that case.