SkillAgentSearch skills...

SaneCppLibraries

Platform Abstraction C++ Libraries

Install / Use

/learn @Pagghiu/SaneCppLibraries

README

Windows Linux+macOS Coverage

Sane C++ Libraries

YouTube X Discord GitHub Repo stars

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)

<picture> <img alt="Sane C++ Libraries dependencies" src="https://pagghiu.github.io/images/dependencies/SaneCppLibrariesDependencies.svg"> </picture>

How to use Sane C++ Libraries in your project

Option 1: use single file libraries

  1. Obtain a specific library:
    • Downloading it from the above table or fro

Related Skills

View on GitHub
GitHub Stars616
CategoryDevelopment
Updated1h ago
Forks19

Languages

C++

Security Score

100/100

Audited on Mar 28, 2026

No findings