Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/neil-edelman/boxes
Independent data structure headers.
https://github.com/neil-edelman/boxes
b-tree c89 data-structures generics hash-table memory-pool metaprogramming paramterization templates testing traits trie type-safety
Last synced: 4 months ago
JSON representation
Independent data structure headers.
- Host: GitHub
- URL: https://github.com/neil-edelman/boxes
- Owner: neil-edelman
- Created: 2021-06-04T21:54:46.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-06-20T03:03:31.000Z (7 months ago)
- Last Synced: 2024-09-30T01:22:53.967Z (4 months ago)
- Topics: b-tree, c89, data-structures, generics, hash-table, memory-pool, metaprogramming, paramterization, templates, testing, traits, trie, type-safety
- Language: C
- Homepage:
- Size: 17.9 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
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/.md`.## Design papers ##
The implementation is fairly standard. Some rationales of the more
complex containers documented here.memory pool
A slab-allocator for similar objectshash table
Allocation-conscious chained hash-tableB-tree
Practical in-memory B-tree designtrie
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](https://opensource.org/licenses/MIT).