diff --git a/README.md b/README.md index 1120436..4145c4d 100644 --- a/README.md +++ b/README.md @@ -3,17 +3,30 @@ This is a library of C++ code which I use as a standard library wrapper, supplem If you want to use it, you can add all of the source files to your source tree, configure the `#define`'s in `config.h` to suit your needs, and it should just work. -The exceptions are the files `config.h` and `types.h` which are required by every other file. +--- + +Features: - Stack, Scratch, and Block-based allocators as well as memory-leak checking mechanism and OS allocator wrappers in `alloc.h/.cpp` + - Heap-friendly String type, including format strings and StringBuffers/Builders, as well as `` function replacements as static methods in single-header `string.h` + - Instrusive serialization mechanism in `serialize.h/.cpp` for complex types and primitives (no reflection though) + - A few hash functions, HashTable and CacheTable (hash table that can forget its keys) implementations in `table.hpp` + - A dynamic/growing array implementation in `array.hpp` + - Common file operations, `` wrapper in `file.h/.cpp` +- Process signal handlers in `signal-handler.h` (define what happens when your process gets sent a SIGINT signal, etc) + +- `stdout` / printf wrapper in `print.h/.cpp` for programmer ergonomics + making it so if you `#include ` in your program, it will be just in these files. + + And some more stuff that is TODO: - `cpuid` x86 instruction wrapper + - `glm` replacement - vector, matrix, and quaternion types and some common operations involving them # Licenses & Other Code