Mostly independent C89
data structure headers that use compile-time
polymorphism to generate lightweight and statically type-safe
containers. The documented parameters in each project are pre-processor
macros. All the public functions are documented in doc/<box>.md
.
The implementation is fairly standard. Some rationales of the more complex containers documented here.
memory pool | A slab-allocator for similar objects |
hash table | Allocation-conscious chained hash-table |
B-tree | Practical in-memory B-tree design |
trie | Compact binary prefix trees |
The testing framework in test/
is much less multi-platform then
the headers in src/
, requiring C13
anonymous unions, assuming
a union
is in the usual order, uses non-standard pragma
(in
test_trie.h
.) The Makefile
provided assumes the gcc
suite and
uses clang
.
2016 Neil Edelman, distributed under the terms of the MIT License.