Skip to content

neil-edelman/boxes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Design papers

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

Compatibility

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.

License

2016 Neil Edelman, distributed under the terms of the MIT License.