kit A collection of cross-platform utility libraries. Features - Testing - Unit-tests - Microbenchmarks - Algorithms and data types - Lower bound - Move back - Dynamic array - Big integer math - SHA-256 - System - Time - Atomics - Condition variables - Mutual exclusion - Threads - Filesystem - File and memory mapping - Sockets wrapper - Misc - Input buffer - Random number generation - Async functions (coroutines) Preprocessor options - KIT_DISABLE_SHORT_NAMES - Disable short names for functions and types. - KIT_DISABLE_SYSTEM_MALLOC - Disable system memory allocation functions. - KIT_DISABLE_SYSTEM_THREADS - Disable system multithreading functions. - KIT_DISABLE_SYSTEM_SOCKETS - Disable system socket library. - KIT_ENABLE_CUSTOM_ALLOC_DISPATCH - Enable custom allocation dispatch. - KIT_ENABLE_CUSTOM_ASYNC_FUNCTION_DISPATCH - Enable custom async function dispatch. Condition variables, mutual exclusion and threads implementation was forked from Mesa source code. * https://gitlab.freedesktop.org/mesa/mesa Folder "/include" contains single header-only version of this library. Use "#define KIT_IMPLEMENTATION" to enable implementation code.