Focused C++26 libraries and the tools that keep them buildable on Linux, Windows, and macOS.
The public surface is intentionally small. Each module does one job. Third-party types stay private. Text and binary data that cross a DLL / .so boundary use suite types, not std::string by value.
Docs: dev.stormbyte.org
Author: David C. Manuelda · Sponsor
| Repository | Role |
|---|---|
| StormByte | Foundation every other module links: platform, Expected, exceptions, Error/Fault, little-endian serialization, CString / WCString, BinaryData, Size / ByteSize, UUID v4, bitmasks, clonable types, ThreadLock, concepts |
| StormByte-String | DLL-safe UTF-8 / wide text on top of Base: views, conversions and helpers without crossing std::string across a shared-library boundary |
| StormByte-System | Processes with pipes, chaining, device classification, host info, thread name, environment expansion. POSIX and Windows, one API |
| StormByte-Buffer | FIFO, SharedFIFO, Ring, Producer/Consumer, Hopper, Sink, Bridge, Pumper, pipelines and buffered I/O |
| StormByte-Config | Human-readable text and versioned binary configuration documents: values, comments, groups, lists, Save / Load |
| StormByte-Logger | Streaming logger: levels, headers, hierarchical components, Scope, ThreadedLog, redaction, hex dumps |
| StormByte-Crypto | Hash, compress, encrypt, sign and key agreement. Crypto++ stays private; installed headers never mention CryptoPP:: |
| StormByte-Database | One API over SQLite, PostgreSQL and MariaDB. Inherit the backend; build the schema on top |
| StormByte-Network | Inherit Client or Server. Framed packets, Buffer pipelines, IPv4/IPv6. POSIX and Winsock stay private |
| StormByte-Multimedia | Decode, encode and containers without raw FFmpeg types; codecs enabled only if present |
Headers live under StormByte/…. Namespace root is StormByte. Shared vs static follows CMake BUILD_SHARED_LIBS.
Needs a C++26 compiler and CMake 3.28 or newer.
git clone https://github.com/StormByte-Suite/StormByte.git
cd StormByte
cmake -S . -B build
cmake --build buildEach module’s README lists its exact dependencies and pins. Do not treat the suite as a single mega-repo: Base does not implement Buffer, Crypto, Network, or the rest.
| Repository | Role |
|---|---|
| StormByte-BuildMaster | Short CMake DSL for vendoring CMake and Meson projects. Declare components and edges in any order; BuildMaster materializes stages, IMPORTED targets and the usual third-party graph without the spaghetti |
- Split on purpose. Link only what you use.
- Inherit, do not wrap vendor types in public headers.
- Failures are typed (
Expected,Fault) with stable domains (StormByte.…). - Cross-platform: Linux, Windows, macOS.
- Original sources: LGPL v3 or later, or a commercial license from the copyright holder (see each repo’s
LICENSE). StormByte-BuildMaster may use a different license — check that repo.
Issues and PRs on the module they belong to.
Sponsorship: github.com/sponsors/StormBytePP