SaneCppLibraries
Platform Abstraction C++ Libraries
Install / Use
/learn @Pagghiu/SaneCppLibrariesREADME
Sane C++ Libraries
Sane C++ Libraries is a set of C++ platform abstraction libraries for macOS, Windows and Linux.
Principles:
✅ Fast compile times
✅ Bloat free
✅ Simple and readable code
✅ Easy to integrate
⛔️ No C++ Standard Library / Exceptions / RTTI
⛔️ No third party build dependencies (prefer OS API)
Libraries
Libraries are designed to be used as Single File Libraries with minimal dependencies between them and follow a strict No Allocations (*) policy.
Library | Description | Single File
:---------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------
Async | 🟨 Async I/O (files, sockets, timers, processes, fs events, tasks) | Download
Async Streams | 🟨 Concurrently read, write and transform byte streams | Download
Containers | 🟨 Generic containers (SC::Vector, SC::SmallVector, SC::Array) | Download
Containers Reflection | 🟨 Containers specializations for Reflection and Serialization | Download
File | 🟩 Synchronous Disk File I/O | Download
File System | 🟩 File System operations (like copy / delete) for files / dirs | Download
File System Iterator | 🟩 Enumerates files and directories inside a given path | Download
File System Watcher | 🟩 Notifications {add,remove,rename,modify} for files / dirs | Download
Foundation | 🟩 Primitive types, asserts, macros, Function, Span, Result | Download
Hashing | 🟩 Compute MD5, SHA1 or SHA256 hashes for bytes streams | Download
Http | 🟥 HTTP parser, client and server | Download
Http Client | 🟥 Streaming-first HTTP client with native OS backends |
Memory | 🟩 Custom allocators, Virtual Memory, Buffer, Segment | Download
Plugin | 🟨 Minimal dependency based plugin system with hot-reload | Download
Process | 🟩 Create child processes and redirect their input / output | Download
Reflection | 🟩 Describe C++ types at compile time for serialization | Download
SerialPort | 🟨 Serial port configuration and handling | Download
Serialization Binary | 🟨 Serialize to and from a binary format using Reflection | Download
Serialization Text | 🟨 Serialize to / from text formats (JSON) using Reflection | Download
Socket | 🟨 Synchronous socket networking and DNS lookup | Download
Strings | 🟩 String formatting / conversion / manipulation (UTF8 / UTF16) | Download
Testing | 🟨 Simple testing framework used by all of the other libraries | Download
Threading | 🟩 Atomic, thread, mutex, semaphore, barrier, rw-lock, condition | Download
Time | 🟨 Time handling (relative, absolute, high resolution) | Download
Each library is color-coded to signal its status:
🟥 Draft (incomplete, WIP, works on basic test cases)
🟨 MVP (a minimum set of features has been implemented)
🟩 Usable (a reasonable set of useful features has been implemented)
How to use Sane C++ Libraries in your project
Option 1: use single file libraries
- Obtain a specific library:
- Downloading it from the above table or fro
Related Skills
node-connect
339.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
