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:freertosmodule.
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...