| Dependencies | |
| SC::Build | |
| Building (Contributor) | |
| Building (User) | |
| Coding Style | |
| Examples | |
| FAQ | |
| ▼Libraries | |
| Async | 🟨 Async I/O (files, sockets, timers, processes, fs events, threads wake-up) |
| Async Streams | 🟨 Concurrently read, write and transform byte streams |
| Containers | 🟨 Generic containers (SC::Vector, SC::SmallVector, SC::Array etc.) |
| Containers Serialization | 🟨 Containers specializations for Reflection and Serialization |
| File | 🟩 Synchronous Disk File I/O |
| File System | 🟩 File System operations { exists, copy, delete } for { files and directories } |
| File System Iterator | 🟩 Enumerates files and directories inside a given path |
| File System Watcher | 🟩 Notifications {add, remove, rename, modified} for files and directories |
| File System Watcher Async | 🟩 Async backend for FileSystemWatcher |
| Foundation | 🟩 Primitive types, asserts, compiler macros, Function, Span, Result |
| Hashing | 🟩 Compute MD5, SHA1 or SHA256 hashes for a stream of bytes |
| Http | 🟥 HTTP parser, client and server |
| Memory | 🟩 Heap Allocation, Custom allocators, Virtual Memory, Buffer, Segment |
| Plugin | 🟨 Minimal dependency based plugin system with hot-reload |
| Process | 🟩 Create child processes and chain them (also usable with Async library) |
| Reflection | 🟩 Describe C++ types at compile time for serialization |
| Serialization Binary | 🟨 Serialize to and from a binary format using Reflection |
| Serialization Text | 🟨 Serialize to / from text formats (JSON) using Reflection |
| Socket | 🟨 Synchronous socket networking and DNS lookup |
| Strings | 🟩 String formatting / conversion / manipulation (ASCII / UTF8 / UTF16) |
| Testing | 🟨 Simple testing framework used by all of the other libraries |
| Threading | 🟩 Atomic, thread, thread pool, mutex, semaphore, barrier, rw-lock, condition variable |
| Time | 🟨 Time handling (relative, absolute, high resolution) |
| ▼Libraries Extra | |
| Foundation Extra | 🟥 Foundation types built using some simple C++ meta-programming |
| Reflection Auto | 🟥 Describe C++ structs at compile time without listing all fields |
| Serialization Binary Type Erased | 🟥 Implementation of SerializationBinary using a different approach |
| Platforms | |
| 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) |
| Single File Amalgamation | |
| Tests | |
| Tools |