A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/Pagghiu/SaneCppLibraries below:

Pagghiu/SaneCppLibraries: Platform Abstraction 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)

Visit the documentation website for more information.

Take a look also at DeepWiki/SaneCppLibraries for an AI-guided walkthrough of the project!

Each library:

Library Description LOC Algorithms 🟥 Placeholder library where templated algorithms will be placed 95 Async 🟨 Async I/O (files, sockets, timers, processes, fs events, threads) 5673 Async Streams 🟥 Concurrently read, write and transform byte streams 1975 Build 🟨 Minimal build system where builds are described in C++ 4159 Containers 🟨 Generic containers (SC::Vector, SC::SmallVector, SC::Array etc.) 779 File 🟩 Synchronous Disk File I/O 692 File System 🟩 File System operations (like copy / delete) for files / directories 1315 File System Iterator 🟩 Enumerates files and directories inside a given path 428 File System Watcher 🟩 Notifications {add, remove, rename, modified} for files / directories 1295 File System Watcher Async 🟩 Async backend for FileSystemWatcher 106 Foundation 🟩 Primitive types, asserts, compiler macros, Function, Span, Result 1173 Hashing 🟩 Compute MD5, SHA1 or SHA256 hashes for a stream of bytes 353 Http 🟥 HTTP parser, client and server 1260 Memory 🟩 Custom allocators, Virtual Memory, Buffer, Segment 1219 Plugin 🟨 Minimal dependency based plugin system with hot-reload 1426 Process 🟩 Create child processes and redirect their input / output 1294 Reflection 🟩 Describe C++ types at compile time for serialization 684 Serialization Binary 🟨 Serialize to and from a binary format using Reflection 572 Serialization Text 🟨 Serialize to / from text formats (JSON) using Reflection 645 Socket 🟨 Synchronous socket networking and DNS lookup 855 Strings 🟩 String formatting / conversion / manipulation (UTF8 / UTF16) 3362 Testing 🟨 Simple testing framework used by all of the other libraries 331 Threading 🟥 Atomic, thread, thread pool, mutex, condition variable 876 Time 🟨 Time handling (relative, absolute, high resolution) 346

Each library is color-coded to signal its status:
🟥 Draft (incomplete, WIP, works on basic case)
🟨 MVP (minimum set of features have been implemented)
🟩 Usable (a reasonable set of useful features has been implemented)
🟦 Complete (all planned features have been implemented)

Some Libraries have C bindings

Libraries can be used as is, adding a single file to your project and without needing any build system.
See Building (user) to just use the library

Shortly:

SCExample showcases integration of Sane C++ Libraries together with Dear ImGui and sokol libraries (see Examples page).

SCExample_04.mp4 SCExampleIOS_01.mp4

Tests are built with the self-hosted SC::Build project generator, describing the builds in C++.
Check Building (contributor) to run the tests.

Alternatively I am also reading the following discords too:

Please take some time to read the Principles and Coding Style.

After that you can read the CONTRIBUTING.md guide.

Sane C++ Libraries are licensed under the MIT License, see LICENSE.txt for more information.

On this YouTube Channel there are some videos showing bits of the development process.

On Sane Coding Blog there is a series of posts about this project.

Relevant yearly posts:


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4