Objective-Z C++ Library

Small C++20 libraries, written to be read.

ObzLib is a collection of focused C++20 components under the obz namespace. Each library solves a narrow problem and keeps its source small enough to study.

Libraries

weighted_set

Unique values with positive weights, designed for deterministic weighted random choice.

endian

Explicit byte-order helpers for binary buffers, with bounds checks in release builds.

ring_buffer

A runtime-capacity FIFO buffer with no allocation after construction.

blocking_queue

A mutex and condition-variable queue for clear producer-consumer shutdown.

spsc_ring_queue

A lock-free queue for exactly one producer and exactly one consumer.

mpsc_ring_queue

A fixed-capacity queue where many producers publish to one consumer.

transport

Move-only RAII wrappers for TCP and UDP socket handles.