Bready header-only libraries.
CC0-1.0 License
Hi, I'm toast. These are my header-only libraries. They're all licensed under CC0: feel free to do literally anything you want with them.
They are optimized for conceptual simplicity. Most other libraries will be faster. However, if you want to write your own for speed, these can also be a good starting point
For now, they all target C99. Though I may eventually target C11 or C23 for some of them, when this happens the below list will mention the target C version.
They will not have any dependencies except libc. Some of them may depend on POSIX rather than pure ISO C, in which case the below list will note this.
.h
file into your project.#include
the header..c
file, #include
the header after defining theBREAD_uppercased-header-name_IMPLEMENTATION
.For example, with base64. In your .h
:
#include "base64.h" // you may rename it
Then in exactly one .c
:
#define BREAD_BASE64_IMPLEMENTATION
#include "base64.h"
You can combine the implementations of all of the libraries in a single file, they do not conflict with one another.
This repository follows the following contribution model:
/bench
and /test
) are fair game.Unless your code simplifies (conceptually, not computationally, though computational simplification patches will be accepted if they do not negatively affect conceptual simplicity) the existing code, they will not be accepted. However, if they do, they often will be.
Additionally, make sure to avoid defines whenever possible.