Skip to content

c2akula/ETL

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

173 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ETL Template Library for C++

Introduction - Why do we need another xTL?

ETL is a C++ template container library focused on embedded applications and resource-limited environments. Its main purpose is to provide easy to use support for different allocation strategies for containers. The motivation is to make the allocation model explicit, discoverable and easy to change. This results in declarations like

// A vector of Items with reserved capacity of 128 on stack
Etl::Static::Vector<Item, 128> items;

or

// A map of int-Item pairs with a pool allocator of 64 entries
Etl::Pooled::Map<int, Item, 64> items;

Features

It provides

  • Array, Vector, List, Map, Multimap, Set types
  • interfaces and behavioral concepts mostly compatible with stl - it works as a drop-in replacement for most use cases
  • improved interoperability - e.g. swap() works between different allocators as a fallback to move/copy
  • C++ 03 support, no exceptions

It's important to note that ETL is not a standard compilant stl implementation and it will never be.


More info coming soon. Check out and try it until then, pull requests are welcome.

About

ETL Template Library for C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 99.7%
  • Other 0.3%