Sane C++ Libraries Dependencies (October 2025)
Sane C++ Libraries - October 2025
✅ Further reduction of internal dependencies
✅ Bring Your Own Containers example (InteropSTL)
✅ New bootstrap for SC::Tools written in C++
✅ Increased test coverage
✅ Improved CI
✅ Fixes
github.com/Pagghiu/Sane...
#cpp #cplusplus
01.11.2025 10:40 — 👍 2 🔁 0 💬 0 📌 0
InteropSTL: Show std::string and std::vector<char> usage with File an… · Pagghiu/SaneCppLibraries@cb8bca4
…d FileSystem libraries
Sane C++ Libraries has finally become a BYOC (Bring Your Own Containers) project!
We have SC::Strings and SC::Vector<T>, using relative pointers and a "scoped" allocator logic that not everyone may like, but you can now write adapters to use something else
26.10.2025 07:59 — 👍 1 🔁 0 💬 0 📌 0
A drawing showing current state of dependencies between Sane C++ Libraries
Sane C++ Libraries - September 2025
✅Get rid of many inter-library dependencies
✅Stop accidental dependencies additions in CI
✅Free most libraries from dynamic allocation
✅Transform Build from lib to app
✅Add GDB Pretty Printer
✅Many smaller fixes
github.com/Pagghiu/Sane...
#cpp #cplusplus
30.09.2025 22:31 — 👍 1 🔁 0 💬 0 📌 0
Picture of the pretty printers being registered by the new GDB debug visualizer script for Sane C++ Libraries
I've been adding to Sane C++ Libraries a GDB debug visualizer (pretty printer in gdb terminology) taking care of strings and containers.
In addition to the already existing ones for LLDB and MSVC Debugger (.natvis) I think we should be good now!
#cpp #cplusplus
05.09.2025 19:19 — 👍 0 🔁 0 💬 0 📌 0
Release 2025-08 · Pagghiu/SaneCppLibraries
August 2025 Update Blog Post
Single File Libraries
One of the core principles of this project is to be "Easy to Integrate".
I'm always looking for ways to lower the barrier to entry for using these...
Sane C++ Libraries - August 2025
✅ Available as Single File Libs
✅ Threading: Semaphore / Barrier / RWLock (→ Stable)
✅ AsyncStreams: IPC Pipe Streams (→ MVP)
✅ Process: Improve reliability
✅ More fixes (see blog post details)
pagghiu.github.io/site/blog/2025-08-31-SaneCppLibrariesUpdate.html
#cpp
31.08.2025 08:35 — 👍 0 🔁 0 💬 0 📌 0
Of course I would only vibe-code Sane C++ Libraries!
30.08.2025 21:46 — 👍 0 🔁 0 💬 0 📌 0
Screenshot of the Sane C++ Libraries Amalgamation tool, allowing to amalgamate libraries directly in browser.
Screenshot of one example amalgamated single file lib (SaneCppFileSystem.h) showing the initial header section with LOC count for header vs. implementation, explicit list of dependencies, copyright etc.
Sane C++ Libraries are now available as amalgamated single-file libs!
They can be amalgamated offline or directly in-browser at: pagghiu.github.io/SaneCppLibra...
Each amalgamation lists dependencies on other amalgamated libs and the LOC of its header vs. implementation sections.
Have fun!
#cpp
11.08.2025 13:50 — 👍 0 🔁 0 💬 0 📌 0
Release 2025-07 · Pagghiu/SaneCppLibraries
July 2025 Update Blog Post
Automatic Dependency and LOC
List of dependencies between libraries and the number of lines of code (LOC) composing them gives an immediate complexity indication.
For thi...
Sane C++ Libraries - July 2025
Major cleanup month!🧹
✅ Massive reduction in inter-library dependencies
✅ 7 libraries now allocation-free:
- Async
- File
- FileSystem
- FileSystemIterator
- FileSystemWatcher
- Process
- Socket
pagghiu.github.io/site/blog/2025-07-31-SaneCppLibrariesUpdate.html
#cpp
01.08.2025 21:21 — 👍 0 🔁 0 💬 0 📌 0
FileSystemWatcher: Remove dependency from Async and File libraries · Pagghiu/SaneCppLibraries@563c03e
I have been removing the dependency of the Sane C++ FileSystemWatcher library from the Async one.
There's a new mini-lib now called FileSystemWatcherAsync wiring them together explicitly when event loops are needed.
It feels so much cleaner now!
github.com/Pagghiu/Sane...
28.07.2025 20:58 — 👍 0 🔁 0 💬 0 📌 0
I wonder if I should capitalize on this by distributing them as isolated single file libraries...
23.07.2025 20:21 — 👍 0 🔁 0 💬 0 📌 0
I have been removing many inter-dependencies between Sane C++ "Libraries" (mainly Strings/Memory/Containers)
The following libraries do not allocate anymore! 🎉
✅ Async
✅ File
✅ FileSystem
✅ FileSystemWatcher
✅ FileSystemIterator
✅ Process
✅ Socket
See: pagghiu.github.io/SaneCppLibra...
#cpp
23.07.2025 20:21 — 👍 0 🔁 0 💬 1 📌 0
Release 2025-06 · Pagghiu/SaneCppLibraries
June 2025 Update Blog Post
Async File System Operations
A major new feature this month is the unified AsyncFileSystemOperation that provides async file system operations across all platforms. This ...
Sane C++ Libraries June 2025:
✅ Async FS Ops
- {copy|remove|rename}{file|folder}
- {open|close|read|write}file
✅ AsyncUDP {SendTo | ReceiveFrom}
✅ FileSystem {Iterator | Watcher} / Memory dependencies cleanup
Blog
pagghiu.github.io/site/blog/20...
Github
github.com/Pagghiu/Sane...
#cpp #cplusplus
30.06.2025 22:02 — 👍 2 🔁 0 💬 0 📌 0
This week I have been adding a few more obvious Async FileSystem Ops:
✅ file/directory rename
✅ file/directory remove
pagghiu.github.io/SaneCppLibra...
#cpp #cplusplus
28.06.2025 08:58 — 👍 2 🔁 0 💬 0 📌 0
Sane C++ Libraries: Async
Async FileSystem Operation has been added to Sane C++ Libraries for:
✅file open/close
✅file read/write
✅file copy
All ops are executed on user supplied thread-pool for IOCP(win)/kqueue(mac)/epoll(linux), with special code path for io_uring(linux)!
pagghiu.github.io/SaneCppLibra...
#cpp #cplusplus
21.06.2025 15:11 — 👍 2 🔁 0 💬 0 📌 1
I have been adding to Sane C++ Libraries some async primitives needed to send and receive bytes to and from UDP sockets (sendTo and receiveFrom).
As always implemented for IOCP, kqueue / epoll and io_uring!
Documentation:
pagghiu.github.io/SaneCppLibra...
Commit:
github.com/Pagghiu/Sane...
#cpp
11.06.2025 20:25 — 👍 0 🔁 0 💬 0 📌 0
Pagghiu/SaneCppLibraries | DeepWiki
The Sane C++ Libraries project provides a comprehensive set of platform abstraction libraries for macOS, Windows, and Linux. This documentation covers the architecture, components, and integration app
Sane C++ Libraries May 2025:
✅ AsyncSequence
- Serial execution of async requests
✅ SC::Async
- Smaller memory footprint
- Improved cancellation handling
deepwiki.com/Pagghiu/Sane...
Blog:
pagghiu.github.io/site/blog/20...
Github:
github.com/Pagghiu/Sane...
Have a nice weekend!
#cpp #cplusplus
31.05.2025 08:59 — 👍 1 🔁 0 💬 0 📌 0
I've added a ProcessFork class to Sane C++ Libraries after discovering that "fork" on Windows can be approximated with RtlCloneUserProcess.
There are a ton of limitations but it's useful to serialize a data structure without blocking for IO or copying it for async IO.
Nice!
#cpp
12.04.2025 06:49 — 👍 0 🔁 0 💬 0 📌 0
std::launder is so 2024
05.04.2025 11:07 — 👍 1 🔁 0 💬 0 📌 0
An example of "struct dumping" in Sane C++ Libraries.
Anything SC::Segment based (Vector / String / VectorMap etc.) can be dumped and restored by just casting it (well, start_lifetime_as 🤭).
I guess it's not rocket science but recent additions make creating this simple and easy.
#cpp #cplusplus
05.04.2025 07:06 — 👍 2 🔁 0 💬 1 📌 0
Sane Coding Blog - ☔️ Sane C++ March 25
Sane Coding Blog
Sane C++ Libraries improvements for March 2025:
✅ Custom Allocators (Segment / Containers)
✅ Relative Pointers
Blog:
pagghiu.github.io/site/blog/2025-03-31-SaneCppLibrariesUpdate.html
Github:
github.com/Pagghiu/SaneCppLibraries/releases/tag/release%2F2025%2F03
Have a nice week!
#cpp #cplusplus
31.03.2025 20:19 — 👍 1 🔁 0 💬 0 📌 0
This is going to be hard!
Fun fact: I was just incidentally thinking right now about using thread_local static to store a memory allocator.
18.03.2025 21:46 — 👍 1 🔁 0 💬 0 📌 0
While debugging some of the recent container issues for Sane C++ Libraries I have been starting to track the number of allocation and deallocations calls.
The test suite by itself is doing 20K allocations and ~50K re-allocations 🫠.
Is it MAYBE time to add support for custom allocators? 😅
18.03.2025 21:43 — 👍 0 🔁 0 💬 0 📌 0
I have been slapping volatile where I think it makes sense to force the optimizer think twice about making weird assumptions around that code.
Hopefully this will not be so bad performance wise.
I could maybe replace that offset == 0 conditional with some branchless code to improve things further...
17.03.2025 23:14 — 👍 0 🔁 0 💬 0 📌 0
Foundation: Refactor Segment to reduce and isolate UB · Pagghiu/SaneCppLibraries@7a97c14
I've been pushing one more refactoring for Sane C++ Libraries Containers (never enough!) to take advantage of all of my recently acquired know-how on fighting UB connected to violating compiler aliasing analysis...or at least isolate it!
Hopefully this is now better than before 🧹
#cpp #cplusplus
17.03.2025 23:00 — 👍 1 🔁 0 💬 1 📌 0
Mapping Address Independent Pointer: offset_ptr - 1.87.0
Ok I was just told on the Italian C++ Discord about a presentation that linked to boost::interprocess::offset_ptr
www.boost.org/doc/libs/1_8...
Looking at the code it just seems to slap const volatile everywhere and be happy with that 😅
www.boost.org/doc/libs/1_8...
Can we consider Boost UB free? 🤭
14.03.2025 10:29 — 👍 0 🔁 0 💬 0 📌 0
yeah, the thing is you may never hit specific UB manifestation until maybe someday with some compiler / platform combination after modifying some unrelated code or with a specific runtime workload.
That's why UB are so bad, and in C++ it's too easy hitting one of the many defined by the standard 😮💨
13.03.2025 19:53 — 👍 0 🔁 0 💬 0 📌 0
Most SSO implementations I have seen use an union of pointer+size and the buffer. They discriminate the union depending on value of capacity (if > than buffer array size then you’re on the heap and viceversa).
There is no pointer arithmetic in this case, correct.
13.03.2025 10:30 — 👍 1 🔁 0 💬 2 📌 0
that is exactly what you wrote @jeremy.laumon.name , sorry I was reading your message too quickly 😅
13.03.2025 08:48 — 👍 1 🔁 0 💬 0 📌 0
Well I just replied to myself in another post, that the issue is not only that on some platform such equivalences do not hold, but that once declared UB, compiler writers started to use them for very obscure optimizations breaking your code anyway even on platforms where equivalences would be valid.
13.03.2025 08:47 — 👍 1 🔁 0 💬 1 📌 0
Founder/CEO at Rive
https://rive.app
fascinated by (too?) many things. Engineering, Psychology, Music, Game design ...
Working on the Havok Navigation SDK
@RichardKogelnig@mastodon.social
A passionate indie game craftsman, fluent in coding and hand gestures 🤌
Deeply in ❤️ with Game tech, Compilers, Weird music.
💬 🇬🇧 🇮🇹 🇪🇸
📍 Granada, Spain
Undo is the leader in debugging large-scale Linux codebases. We help developers understand complex code and fix bugs faster.
French C++ developer, consultant & co-founder @ siliceum.
Performance optimization, multithreading, rendering APIs and game engines.
I know too much about Webkit and JS for my own good.
I do reverse engineering for fun!
Programming! - previously at Epic Games, Unity Technologies, Paradox Dev Studios
https://blog.s-schoener.com
Engine programmer @ Asobo Studio (A Plague Tale: Requiem, MSFS 2020, A Plague Tale: Innocence, ...).
Opinions are my own.
https://tcantenot.github.io
https://x.com/ThierryCantenot
Math & Art Videos.
* https://youtube.com/Inigo_Quilez
* https://iquilezles.org
Created Shadertoy, Pixar's Wondermoss, Quill, and more.
An Amiga and demoscene lover, an Arch Linux and real-time graphics enthusiast, a game industry rendering programmer.
Author of the nCine 2D game framework: https://ncine.github.io ⚙️
Ex ARM, Natural Motion, Frostbite, The Multiplayer Group.
voicecoding latency and throughput hacker. How did I get here and what am I doing in this hand basket? he/him
Graphics Software Engineer. Currently at Plastic, previously at AMD, Intel, Microsoft, gamedev, television... Developer of VMA, D3D12MA, D3d12info projects.
Engine/Lead Tools Programmer at Keen Games. Interested in Engine/Game/Tool/System programming and API design.
We enjoy creating awesome stuff using software & electronics, and helping others to do the same.
Games Graphics Performance by day, aspiring composer by night. Co-author of https://www.amazon.co.uk/Mastering-Graphics-Programming-Vulkan-principles-ebook/dp/B0BKGLBN89
Mostly 3D+AI+voice. Building https://mixreel.ai
Flutter/Dart/C++/PyTorch/Blender
https://github.com/nmfisher/thermion
https://nick-fisher.com
https://playmixworld.com
https://bit.ly/3RkzFfH
Software Engineer. LinkedIn co-founder. Creator/maintainer of several open source projects https://pongasoft.com
Rendering engineer @ Codemasters (EA). Interested in Graphics, Game engines, Gamedev & Math.
Father. Game developer from Rome, Italy. Lover of narrative games. Directed/coded/designed Still There and Blockstorm.
Website: www.peevo.art
Samwise Game Dialogue Writing Tool: samwise.dev
Open source developer & programming educator.
github.com/nicbarker for my projects.
https://www.youtube.com/@nicbarkeragain for programming videos.
ex engineering @canva & game dev @cerebralfix
Carbon-based open sourcerer, code necromancer and a former alien. Author of C++20 std::format and http://github.com/fmtlib/fmt. Opinions are not mine.