Updated etl::delgate to handle const functors correctly
Updated version info
Fixed functor delegate enable_if
Updated release notes
Avoid 'missing return statement at end of non-void function' in `etl::visit<>()`. (#645)
* Avoid 'missing return statement at end of non-void function' in `etl::visit<>()`.
For some definitions of `ETL_ASSERT()` there may be no return statement in case of an invalid type.
This results in undefined behavior.
Warning[Pe940]: missing return statement at end of non-void function "etl::visit<TReturn,TVisitor,TVariant>(TVisitor &, TVariant const &) include\etl\private\variant_legacy.h 976
* Use more self-explaining code.
Substitute ET_ASSERT() and return by dedicated macro.
This moves the responsibility of how to handle errors to the dedicated place.
improve is_constructible, is_copy_constructible, is_move_constructible for type traits with default definitions (#648)
Removed unused ETL_USE_MEM_BUILTINS option
Updated version info
Updated release notes
Added etl::result<TValue, void> specialisation
Reverted code for etl::result<void, TError> specialisation
Added etl::result<TValue, void> specialisation
Reverted code for etl::result<void, TError> specialisation
Fixed perfect forwarding for make_xxx helper functions
Don't warn on tag missing when subproject (#653) (#655)
Different solution than proposed in the issue, since that proposed
solution would given unexpected results when an intermediate
(untagged) commit is checked out.
This change simply skips warning about a missing git version when this
is a subproject, and uses the original version calculation logic.
I've also renamed `determine_version` to `determine_version_with_file`.
I'd originally done this in an intermediate version of this PR, but I
think that keeping the renaming is clearer code.
Removed superfluous semicolons
Updated version and release notes
Removed testing for 18.04
Added testing for 22.04
Updated Github Actions for Clang
Updated version and release notes
clang updates for Github Actions
Added missing notes
emplace member functions return reference to emplaced value (#659)
emplace_front, emplace_back updates
Updated version and release info
Improved emplace testing
Changed unit test macro CHECK_FALSE_EQUAL to CHECK_NOT_EQUAL
Improved emplace testing
Changed unit test macro CHECK_FALSE_EQUAL to CHECK_NOT_EQUAL
Improved emplace testing
Initial code
* 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-pragmashttps://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>