A C++ template library for embedded applications
Designed and maintained by
Aster Consulting Ltd


This group is the catch-all for all other templates.
As well as various generally useful templates, there is some functionality reverse engineered from the C++ 11 specification.
Algorithms reverse engineered from C++ 11
Allows alignment of data structures.
binary.h Utility functions for manipulating binary numbers.
Define a value that cycles between two limits.
debounce.h A signal and key debouncer
debug_count.h A counter for container debugging
Constant definitions and endianness test.
A smart enum utility.
The hander for errors. For adding error logging.
The base class for all ETL errors.
fixed_iterator.h An iterator that lives at a fixed address. Increments and decrements are null operations.
A callback wrapper for free and member functions.
functional.h Reverse engineered functional classes from C++ 11.
instance_count.h Counts instances of classes. Not thread safe.
integral_limits.h A set of classes similar to numeric_limits, but completely available at compile time.
io_port.h A set of templates for building interface classes to memory mapped hardware ports.
largest.h Allows the largest type or largest alignment to be determined at compile time.
nullptr.h Reverse engineered C++ 11 nullptr.
numeric.h Reverse engineered numeric classes from C++ 11.
parameter_type.h Allows the method of passing a parameter to be determined by the type.
smallest.h Allows the smallest type or smallest type that can contain N bits to be determined, at compile time.
static_assert.h Static assert macro.
type_def.h Typesafe typedefs
type_traits.h Reverse engineered types traits classes from C++ 11.