micro-headers is a collection of high-quality, configurable, header-only libraries written in C99. The libraries are designed to be highly reusable, simple to maintain with little to no dependencies, and easy to integrate in your projects - just copy-paste the header file and #include it!
https://github.com/San7o/micro-headersThe code is cross platform and should work with virtually every C or C++ compiler. Code style and usage is consistent in all libraries, so that they feel familiar among each other. Heavy use of macros is usually discouraged to make the code more understandable.
Author: Giovanni Santini Mail: giovanni.santini@proton.me GitHub: @San7o License: MIT
micro-tests.h: lightweight testing framework, with multithread support and run-time settings.
micro-log.h: configurable, thread safe logging framework. With lots of features.
micro-draw.h: a 2D software renderer
micro-serde.h: serialization library for C99, in ~150 lines of code.
micro-bench.h: micro benchmarking library
micro-flag.h: tiny library to parse command line arguments.
micro-module.h: define, load, and unload runtime modules / plugins with a simple C99 API.
micro-hash.h: quick and dirty hash functions, with some benchmarks.
hll.h: implementation of HyperLogLog for approximating the cardinality of large multisets.
bloom-filter.h: implementation of bloom filters, a space-efficient probabilistic data structure that is used to test whether an element is a member of a set.
rendezvous-hasher.h: dependency-free implementation of Rendezvous Hashing (a.k.a. Highest Random Weight hashing), useful for distributing keys across a dynamic set of nodes.
consistent-hasher.h: implementation of consistent hashing, alternative to Rendezvous Hashing.
hashmap.h: implementation of an hashmap for any type.
hashset.h: implementation of an hashset for any type.
llist.h: implementation of a type-safe, generic doubly-linked list.
liblaunchpad.h: an abstraction layer over Novation's Launchpad S through ALSA.
game-of-life.h: Conway’s Game of Life logic implementation.
micro-example.h: An example header-only library in C99 used as a template project, in the style of the great micro-headers.
Check out the micro-tools: https://github.com/San7o/micro-tools