Micro Containers
- Details
- Category: SDKs
Our micro containers is a set of easy-to-use containers (lists, trees, hashes etc) for C with an API similar to the popular STL containers in C++. However, the ease of use has not taken priority over engineering excellence - there is strong focus on high performance and the user is encouraged to understand the properties of the data structures and choose a suitable type for the given context (the included documentation provides guidance). Therefore there are several data structures for key-to-value mappings, some with strong all-around properties and others that perform extremely well in special use cases. The containers are compatible with C++, and since they do outperform STL implementations in many scenarios and have better realtime properties they can be useful also in C++ programs.

The containers also bring some of the advantages of C++ (and other object oriented languages) to C. By making strong use of the C preprocessor typed containers can be generated, rather than just using void * for everything, overcoming the somewhat weak typing of the C language. This also allows for customizing the containers to exactly fit a special purpose.
By using inlining, preprocessor code generation and compact and aligned memory management the performance is at peak of what the given data structure type allows. C is often used in performance-critical code, and these containers are designed to work in such scenarios. Memory management can optionally be adapted per container instance to fit special needs, for example static allocation for critical realtime sections.
Updated: Tuesday, 08 February 2011 13:47
