Files
libsst/ZUtil/README.md
James Russell 71230f918f Add module READMEs, .gitignore, and remove Bin/ from tracking
Add README.md for each library module documenting API, platform
backends, and usage. Add .gitignore for build artifacts. Remove
pre-built binaries from version control.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 00:27:55 -05:00

46 lines
1.8 KiB
Markdown

# ZUtil
C++ utility library providing RAII wrappers around the libsst C modules, plus
custom containers, serialization, and logging.
## Memory management
- `ZAlloc` / `ZAllocWindow` -- tracked allocation with checkpoint support
- `ZSlabAllocator` -- slab-based allocator
- `ZSmartPointer<T>` (alias `ZPtr<T>`) -- thread-safe reference-counted smart pointer
- `ZWeakPointer<T>` -- weak references
- `ZReferenceCounter`, `ZReferenceBuffer`
## Containers (ZSTL)
- `ZArray` -- dynamic array with sort/search algorithms
- `ZList` -- linked list with algorithms
- `ZHashMap` -- hash table
- `ZRingBuffer` -- circular buffer
- `ZBasicString` / `ZString` -- string with algorithms
- `ZName` -- immutable string with hash-cached comparison
- `ZKVTree` -- hierarchical key-value tree (path-addressable)
- `ZRegistry` -- thread-safe key-value store
## Threading
- `ZThread` -- base class with `run()` override and request marshaling
- `ZMutex` / `ZLock` -- RAII mutex and scoped lock
- `ZEvent`, `ZSemaphore`, `ZReadWriteLock` -- RAII sync wrappers
- `ZTaskStream` -- multi-threaded task execution with `ZFuture<R,A>`
## Serialization
- `ZBinaryReader` / `ZBinaryWriter` -- abstract binary I/O
- `ZBinaryBufferReader` / `ZBinaryBufferWriter` -- in-memory binary streams
- `ZBinaryFileReader` / `ZBinaryFileWriter` -- file-backed binary streams
- `ZXMLReader` / `ZXMLWriter` -- XML via ZKVTree
- `ZJSONReader` / `ZJSONWriter` -- JSON via ZKVTree
- `ZIniReader` / `ZIniWriter` -- INI format
## Logging
- `ZLog` -- thread-safe, multi-file logging with severity levels
- Macros: `SystemLogError`, `SystemLogWarning`, `SystemLogInfo`, `SystemLogSpam`
## Utilities
- `ZRandomGenerator` -- PRNG wrapper with Gaussian support
- `ZSimplexNoise` / `ZSimplexNoiseMap` -- noise generation
- `ZAssert` -- debug/runtime assertion macros
- `ZBitmap` -- bitmap data structure