A collection of single-header libraries for C implementing common data structures and useful utility functions. The table below is a rundown of all the files provided and their fucntion.
File | Docs | Description |
---|---|---|
bstree.h | Docs | Intrusive binary search tree |
hash.h | Docs | Intrusive hash table |
ini.h | Docs | INI file parser |
lex.h | Docs | Lexical analysis routines |
list.h | Docs | Intrusive doubly-linked list |
parse.h | Docs | LL(k) parser utility functions |
slist.h | Docs | Intrusive singly-linked list |
stdc.h | Docs | Common includes and helpers for writing ANSI C |
strbuf.h | Docs | String buffer implementation |
utf8.h | Docs | UTF-8 encoding/decoding routines |
vec.h | Docs | Generic vector implementation |
All files provided are distributed under the ISC license unless explicitly state otherwise.
Simply copy the desired header(s) into the include path for the target project. Modify at will. If you have any useful tweaks or bug fixes to contribute back, feel free to send me a pull request or a patch.