Overview of the Embedded Template Library (ETL)
masterThe Embedded Template Library (ETL) is a C++ template library designed specifically for embedded systems. It serves as a complementary solution to the C++ Standard Template Library (STL), focusing on deterministic behavior and resource constraints.
Key Characteristics:
- No Dynamic Memory Allocation: The library avoids the heap entirely. All storage is allocated at compile-time or on the stack, ensuring memory requirements are predictable.
- Fixed-Capacity Containers: Provides STL-like containers where maximum sizes are defined at compile-time.
- Header-Only: No separate compilation is required; all functionality is provided via header files.
- No STL Dependency: Designed to operate independently of the C++ Standard Template Library.
- C++ Compatibility: Compatible with any compiler supporting C++03 or later. It backports many C++11/14/17/20/23 features for use in older C++03 environments.
- Low Overhead: Does not require Runtime Type Information (RTTI) and uses virtual functions sparingly.