Main features
• Developed and maintained on GitHub since 2014.
• MIT licence.
• No reliance on the STL (see here)
• No dynamic memory allocation. All storage is declared either at compile time or on the stack.
• No RTTI required.
• Very little use of virtual functions. They are used only when they are absolutely necessary for the required
functionality.
• All header. No cpp files to compile.
• A set of fixed capacity containers that mirror those supplied in the STL, plus a few non-standard extensions.
• As the storage for the container types is allocated as a contiguous block, they are extremely cache friendly.
• Reduced container code size through use of base classes dependant on type only.
• Templated compile time constants.
• Templated design pattern base classes (Visitor, Observer).
• Frameworks for message routing, finite state machines and task scheduling.
• Reverse engineered C++ 0x11 features (type traits, algorithms, containers etc.
• Type-safe smart enumerations.
• Type-safe typedefs + constants.
• 8, 16, 32 & 64 bit CRC calculations.
• Checksums & hash functions.
• Variants (a type-safe union).
• Choice of asserts, exceptions, error handler or no checks on errors (see here).
• Many utilities for template support.
• Unit tested (currently over 9400 tests), using VS2022, GCC 12, Clang 14.
• Easy to read and documented source.
• Free email support.
• Continuous integration testing on GitHub, Appveyor and CircleCI using VS2022, GCC and Clang.
• A copy of the ETL is stored in the Artic Code Vault.