Embedded Template Library (ETL)¶
lbuild module: modm:etl
ETL is a MIT licensed template library which augments the STL with embedded friendly containers and algorithms.
Configuration¶
This module pre-configures ETL by adding these macros:
ETL_TARGET_OS_FREERTOS
: if built together with themodm:freertos
module.
To add your own configuration you can create a <etl_profile.h>
file
which will automatically be included by ETL.
Debugging ETL¶
This module reroutes ETLs assertions to modm_assert
but only for the default
configuration. Defining any of ETL_NO_CHECKS
, ETL_THROW_EXCEPTIONS
or
ETL_LOG_ERRORS
will use original ETL mechanism.
Make sure you have implemented the modm_abandon
handler! See the
modm:architecture:assert
module for details.
An ETL assertion failure in release mode is fairly cryptic:
Assertion 'etl' failed!
Abandoning...
If you run this again in debug mode, you'll note a much more detailed assertion description:
Assertion 'etl' failed!
modm/ext/etl/etl/ipool.h:369 -> "pool_no_allocation"
Abandoning...