Algorithms | 🟥 Placeholder library templated where algorithms will be placed (see Algorithms for more details) |
Async | 🟨 Async I/O (files, sockets, timers, processes, fs events, threads wake-up) (see Async for more details) Async is a multi-platform / event-driven asynchronous I/O library |
Async Streams | Read, transform and write data concurrently from async sources to destinations |
Build | 🟨 Minimal build system where builds are described in C++ (see Build for more details) |
▼C Bindings | C bindings for all libraries |
sc_hashing | C bindings for Hashing library |
Containers | 🟨 Generic containers (SC::Vector, SC::SmallVector, SC::Array etc.) (see Containers for more details) |
File | 🟩 Synchronous Disk File I/O (see File for more details) |
FileSystem | 🟩 File System operations { exists, copy, delete } for { files and directories } (see File System for more details) |
FileSystem Iterator | 🟨 Enumerates files and directories inside a given path (see File System Iterator for more details) |
FileSystem Watcher | 🟩 Notifications {add, remove, rename, modified} for files and directories (see File System Watcher for more details) |
▼Foundation | 🟩 Primitive types, asserts, limits, Function, Span, Result, Tagged Union |
Compiler Macros | Compiler Macros Preprocessor macros to detect compiler and platform features |
Language Utilities | Language Utilities Utility classes allowing common C++ constructs |
Type Traits | Type Traits (EnableIf, AddPointer, RemovePointer, etc.) |
Hashing | 🟩 Compute MD5 , SHA1 or SHA256 hashes for a stream of bytes (see Hashing for more details) |
Http | 🟥 HTTP parser, client and server (see Http for more details) |
Plugin | 🟨 Minimal dependency based plugin system with hot-reload (see Plugin for more details) |
Process | 🟩 Create child processes and chain them (also usable with Async library) (see Process for more details) |
Reflection | 🟩 Describe C++ types at compile time for serialization (see Reflection for more details) |
Serialization Binary | 🟨 Serialize to and from a binary format using Reflection (see Serialization Binary for more details) |
Serialization Binary Type Erased | 🟥 Implementation of SerializationBinary using a different approach. (see Serialization Binary Type Erased for more details) |
Serialization Text | 🟨 Serialize to / from text formats (JSON) using Reflection (see Serialization Text for more details) |
Socket | 🟨 Synchronous socket networking and DNS lookup (see Socket for more details) |
Strings | 🟩 String formatting / conversion / manipulation (ASCII / UTF8 / UTF16) (see Strings for more details) |
Testing | 🟨 Simple testing framework used by all of the other libraries (see Testing for more details) |
Threading | 🟥 Atomic, thread, thread pool, mutex, condition variable (see Threading library page for more details) |
Time | 🟨 Time handling (relative, absolute, high resolution) (see Time for more details) |