Libraries

Library index

Start with Async or choose the smallest useful building block for your program.

27 libraries Each row opens the library guide, dependencies, examples, and generated reference.
At a glance

Library map

Most libraries are independent. Higher-level libraries such as Async, Await, FibersAsync, Http, and Plugin combine smaller platform abstractions.

Dependency map for Sane C++ Libraries
All libraries

One index, five themes

Theme labels make related areas easier to scan without separating the catalog into different lists.

Async
MVP Runtime
Cross-platform completion-based asynchronous I/O Depends on File, FileSystem, Socket, Threading
SaneCppAsync.h
Async Streams
MVP Runtime
Bounded byte-stream pipelines with explicit backpressure No library dependency
SaneCppAsyncStreams.h
Await
MVP Runtime
C++20 coroutine layer over Async Depends on Async
SaneCppAwait.h
Containers
MVP Data
Generic containers (SC::Vector, SC::SmallVector, SC::Array etc.) Depends on Memory
SaneCppContainers.h
Containers Reflection
Usable Data
Opt-in reflection and serialization adapters for SC containers and owning memory types. Depends on Containers, Reflection
SaneCppContainersReflection.h
Fibers
Draft Runtime
Stackful cooperative task runtime No library dependency
SaneCppFibers.h
FibersAsync
Draft Runtime
Stackful fiber I/O bridge over Async Depends on Async, Fibers
SaneCppFibersAsync.h
File
Usable I/O
Synchronous Disk File I/O No library dependency
SaneCppFile.h
File System
Usable I/O
Synchronous, path-based file and directory operations No library dependency
SaneCppFileSystem.h
File System Iterator
Usable I/O
Allocation-free, pull-based directory traversal No library dependency
SaneCppFileSystemIterator.h
File System Watcher
Usable I/O
Portable, recursive directory-change notifications for files and directories No library dependency
SaneCppFileSystemWatcher.h
Foundation
Usable Foundation
Primitive types, asserts, compiler macros, Function, Span, Result No library dependency
SaneCppFoundation.h
Hashing
Usable Foundation
Incremental MD5, SHA-1 and SHA-256 hashing over byte spans No library dependency
SaneCppHashing.h
Http
Draft Web
Allocation-free HTTP/1.1 client, server, parser, and WebSocket building blocks Depends on Async, AsyncStreams
SaneCppHttp.h
Http Client
Draft Web
Allocation-free HTTP client over the operating system's native transport No library dependency
SaneCppHttpClient.h
Memory
Usable Foundation
Explicit allocation policy, owning byte and string storage, and virtual memory No library dependency
SaneCppMemory.h
Plugin
MVP Runtime
Compile source-delivered C++ extensions and reload them inside a running process Depends on Process
SaneCppPlugin.h
Process
Usable Runtime
Launch child processes, redirect their standard streams, and build pipelines Depends on File
SaneCppProcess.h
Reflection
Usable Data
Describe C++ object structure at compile time, primarily for serialization. No library dependency
SaneCppReflection.h
Serialization Binary
MVP Data
Reflection-driven binary persistence with exact and schema-aware reads Depends on Reflection
SaneCppSerializationBinary.h
Serialization Text
MVP Data
Map reflected C++ data to and from JSON in caller-controlled storage Depends on Reflection
SaneCppSerializationText.h
SerialPort
MVP I/O
Synchronous serial-port configuration and byte I/O Depends on File
SaneCppSerialPort.h
Socket
MVP I/O
Synchronous TCP, connected UDP, multicast configuration and DNS lookup No library dependency
SaneCppSocket.h
Strings
Usable Foundation
Non-owning encoded text, formatting, conversion, parsing, and path manipulation No library dependency
SaneCppStrings.h
Testing
MVP Foundation
A small, explicit test runner for SC-style result checking and sectioned tests No library dependency
SaneCppTesting.h
Threading
Usable Runtime
Native threads, synchronization primitives, and a caller-owned task pool No library dependency
SaneCppThreading.h
Time
MVP Foundation
Wall-clock timestamps, monotonic time, durations, and high-resolution measurement No library dependency
SaneCppTime.h