Generic, header-only and performant data structures. New memory allocation is kept to a minimum. Not thread-friendly.
All data types are expected to be Plain-Old-Datas (PODs). No explicit iterator mechanism is provided, but macros can provide a primitive syntactical replacement.
Made for my own exploration and use.
Run make test to run all tests and examples. The libsan and ubsan sanitizers is required for building the tests.
Asserts are used to check various assumptions. Use NDEBUG flag to turn off asserts in release builds.
| File | Description | |
|---|---|---|
| fstack_template.h | Fixed-size array-based stack | Documentation Example |
| fqueue_template.h | Fixed-size queue based on ring buffer | Documentation Example |
| fpqueue_template.h | Fixed-size priority queue based on binary (max-)heap | Documentation Example |
| fhashtable_template.h | Fixed-size open-adressing hashtable (robin hood hashing) | Documentation Example |
| rbtree_template.h | Intrusive red-black tree | Documentation Example |
| arena_template.h | Arena allocator | Documentation Example |