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


The contents of template class library can be classified in to one of four areas.

A set of containers that have their capacity fixed at compile time. The APIs are designed to match those in the STL as
closely as possible whilst also including extensions applicable to their fixed size nature. Some are equivalents of STL
containers; others have no standard equivalent. Due to the underlying storage architecture the containers are extremely
cache friendly.

A set of templates that supply the basic framework for implementing popular design patterns. Template techniques are
used to ensure that implementation mistakes are usually caught at compile time.

A set of mathematical templates; both compile time constants and algorithms such as hash codes and CRCs.

A catch-all for all other template classes. Some of these are reverse engineered from the C++ 11 standard; others being
generally useful utilities.

Error handling

Finding errors within an embedded system can be difficult due to the performance and space restrictions imposed upon
the platform. The library allows a variety of methods to catch errors, allowing the performance and space overheads to
be chosen according to the situation and requirements. See error_handler

Unit tests

The library is supplied with a full set of unit tests, with project files for Visual Studio 2015 and Code::Blocks with GCC
(Windows & Linux configurations are included). There are currently over 1700 tests.

There are also Keil MDK5 and IAR projects. These are not unit tests; they are merely there to test that the code compiles
without errors under these compilers.

There are examples for Arduino provided.