- fast, efficient code
- small, easy to use api
- use C99 for compatibility
- tested and sanitized with UBSan and ASan
- implement basic things of interest for quick reusage in C projects
- single header file
- license for you to choose: public domain or MIT
sarr-void*arrayslist-void*dynamic listshtable-void*dynamic hash table- simplified implementation of cuckoo hashing (no loop)
- hashed with yoshimura and MurmurHash3
- uses nul-terminated char* keys
all of the structures above can be generated for non-pointer values with SCL_STRUCTURE_DEFINE(type) and SCL_STRUCTURE_IMPLEMENT(type) macros. Refer to scl.h for guidance.
sreadandsreadlns- read text/binary file into char* (nul-terminated or not) or into char* arraysmalloc,scalloc,sfree- allocation wrappers for debugging (wrap in macro to use)