General extension library for C. No dependencies beyond common POSIX platform headers. \[st]andard library, [i]zzy\, in the same vein as stb.
izzy fbd6499d20 compatibility fixes | 1 month ago | |
---|---|---|
dwarf | 4 years ago | |
hash_fns | 4 years ago | |
lexer | 3 months ago | |
parser | 1 year ago | |
scripting | 3 years ago | |
string_utils | 2 years ago | |
test | 1 year ago | |
.gitignore | 1 year ago | |
LICENSE | 5 years ago | |
README.md | 4 years ago | |
b64.c | 1 year ago | |
b64.h | 1 year ago | |
build.sh | 3 years ago | |
conventions.h | 1 year ago | |
err.h | 4 years ago | |
fs.c | 1 year ago | |
fs.h | 1 year ago | |
hash.c | 1 month ago | |
hash.h | 1 year ago | |
heap.c | 1 year ago | |
heap.h | 8 months ago | |
ini.c | 2 years ago | |
ini.h | 2 years ago | |
initest.ini | 2 years ago | |
macros.h | 4 years ago | |
matrix.c | 1 year ago | |
matrix.h | 1 year ago | |
memarena.c | 5 years ago | |
memarena.h | 5 years ago | |
mempool.c | 4 years ago | |
mempool.h | 1 month ago | |
misc.c | 7 months ago | |
misc.h | 3 months ago | |
rb.c | 4 years ago | |
rb.h | 4 years ago | |
ring.c | 4 years ago | |
ring.h | 4 years ago | |
rpn.c | 3 years ago | |
rpn.h | 4 years ago | |
sets.c | 2 years ago | |
sets.h | 4 years ago | |
sexp.c | 8 months ago | |
sexp.h | 8 months ago | |
stats.c | 4 years ago | |
stats.h | 4 years ago | |
sti.c | 1 year ago | |
sti.h | 1 year ago | |
string.c | 6 months ago | |
string.h | 3 months ago | |
string_int.c | 2 years ago | |
string_int.h | 2 years ago | |
svec.c | 1 year ago | |
svec.h | 1 year ago | |
talloc.c | 4 years ago | |
talloc.h | 3 years ago | |
test.c | 2 years ago | |
utf.c | 2 years ago | |
utf.h | 1 year ago | |
vec.c | 1 month ago | |
vec.h | 5 months ago |
General extension library for C. No dependencies beyond common POSIX platform headers. "[st]andard library, [i]zzy", in the same vein as stb.
#include "sti/sti.h"
and compile sti/sti.c
to get everything at once, or
select individual pairs a la carte.
(Un)licensed under the Unlicense, which is effectively lawyer speak for Public Domain in all sane countries that have the concept of Public Domain. To quote Sam Hocevar, You just DO WHAT THE FUCK YOU WANT TO.
The API may change drastically with no notice. This is my personal set of utilities and I have not permanently settled on how it should work.
A few of the functions have terrible performance when compiled with -O0 but excellent performance when compiled with -O2/3.
Some of the _EACH() loop macros use typeof, a gcc-specific extension. I am not currently aware of a workaround for clang.
Most of the data structures use macro magic to be relatively type-safe and avoid void* casting where possible. Acknowledgements to nothings/Sean Barrett for the concept.