ESTL logo

ESTL

Free

C++ STL-like library for embedded developers with C++ 98 features only to maximize target platform compatibility.

FreeFree tier
Type
Open Source
Company
ESRLabs

About ESTL

The ESTL is a C++ STL-like library designed specifically for memory-constrained embedded C++ applications. It avoids dynamic memory allocation (no new/delete), uses only C++98 features for maximum compiler compatibility, and is highly tested and portable. Currently includes a vector class, with more components to come.

Key Features

No use of new/delete (avoid dynamic memory allocation) for memory-constrained environments
Uses only C++98 features for maximum compiler compatibility across embedded platforms
Highly tested and portable across compilers
Designed specifically for memory-constrained embedded C++ applications
Currently includes a vector class with plans for more components
Tested on G++ 4.8.3 and Wind River Diab compiler

Pros & Cons

Pros
  • No dynamic memory allocation, safe for memory-constrained environments
  • High portability across different compilers and platforms
  • Uses standard C++98 syntax familiar to many developers
  • Actively tested on multiple compilers (G++, Wind River Diab)
  • Open source and free to use
Cons
  • Limited to C++98 features (no C++11/14/17 features available)
  • Currently only includes a vector class, offering limited functionality compared to full STL
  • Not as feature-rich as standard STL implementations
  • Requires a C++ compiler; not usable in pure C projects

Best For

Embedded systems development with limited memoryReal-time systems where dynamic allocation is undesirableCross-platform embedded C++ projects requiring STL-like functionalityApplications needing a lightweight, portable container library

FAQ

What compilers are supported?
ESTL has been tested on G++ 4.8.3 and Wind River Diab compiler, but it should work on other C++98-compatible compilers.
Does ESTL use dynamic memory allocation?
No, ESTL avoids new/delete completely, making it suitable for memory-constrained embedded systems.
What version of C++ does ESTL use?
ESTL uses only C++98 features to maximize compatibility with embedded compilers that lack support for newer standards.
Is ESTL open source?
Yes, ESTL is open source and available on GitHub under the esrlabs organization.