rcx

library of miscellaneous bits of C code
git clone git://git.rr3.xyz/rcx
Log | Files | Refs | README | LICENSE

commit ff97362647c8e90803c544cbe4fb904c83a4ed7d
parent f7566042d802986927b685aaab8ed523bdb352ee
Author: Robert Russell <robert@rr3.xyz>
Date:   Mon, 26 Aug 2024 03:03:29 -0700

Add README

Diffstat:
AREADME | 28++++++++++++++++++++++++++++
1 file changed, 28 insertions(+), 0 deletions(-)

diff --git a/README b/README @@ -0,0 +1,28 @@ +rcx is my personal library of miscellaneous bits of C code. I use it in pretty +much all my C projects, now-a-days. + +Summary of features of each module: + - alloc.h: a consistently-named set of libc-compatible memory allocators + - bench.h: microbenchmarking + - bits.h: bit manipulation + - conv.h: conversions between strings and numbers + - debug.h: macros and functions for debugging + - def.h: pretty typedefs and common utility macros + - dict/*: generic dictionary (hash table) data structure + - list/*: generic list (dynamic array) data structure + - log.h: logging (with severity, timestamps, and source locations) + - rand.h: good hash, TRNG, and PRNG functions + - rcx.h: opinionated default include (includes def.h and std*.h libc headers) + - set/*: generic set (hash set) data structure + - simd.h: x86_64 SIMD intrinsics (GCC only) + - string.h: strings with length + - table/*: generic "table" data structure (common ancestor of dict/* and set/*) + - unicode.h: Unicode codepoint categorization + - unix.h: helper functions for Unix systems + - utf8.h: UTF-8 encoding and decoding + - vmem.h: virtual memory manipulation + +There is also an all.h header to include everything except bench.h. + +TODO: Document the common interface of generic data structures. +TODO: Convert deque.h to new generic data structure interface.