Open Macro Library is a library of highly reusable C macros providing a set of
well-designed commonly needed functionality to C developers, like logging and
debugging helpers, containers, sorting and other algorithms.
Specifically, OML provides a well-designed and simple to use API
that exposes to applications the following functionality:
Go straight to the documentation pages in order
to get an idea of the syntax.
- containers: vector, queue, stack, list (standard, circular, double-linked), tree (binary, binary double-linked), heap (array-based and tree-based), quick-extraction heap, hashmap;
- synchronization primitives (monitors and condition variables);
- synchronized containers: pthread-based wrappers for the above types;
- algorithms: sorting, randomizing;
- logging (configurable log levels and the sort);
- debugging (memory allocation tracing, leakages detection);
- exception handling;
- OO typing (inheritance, support for associations);