-
C++17 Signal-Slots (Part 1)
The signals library achieves clean API design, standard conformity, the best possible runtime performance defeating virtual function, while also securing recursion- and modification-safety, all with j...
-
Running To Stand Still
Not long ago, while I was working on a game engine, I couldn't have imagined joining one of the most renowned software companies, while working with a completely different tech-stack. I was so special...
-
Explore C++20 Bit Flag with Designated Initializer and Concepts
The bit flag or bit mask is a recurring topic in the C++ community. Since enum class has been added, the attempt to create a more type-safe and/or easier-to-use bit flag has never ended. It never succ...
-
DLL exporting a CRTP base
Today I started working on hot reloading support for my SC2 bot, so I can modify the code and automatically reload the modified DLL without closing the game. This required changing the architecture fr...
-
Incremental namespace refactoring for large code base
Why I bothered refactoring namespaces On a weekend, I decided to finally clean up the messy namespaces in a ~140k LOC solution. There is a single level namespace for each project, but the architectur...
-
Chaining static objects with static linked list
The Problem Every C++ book nowadays would tell you to avoid using static variables, or at least, avoid defining static variables that depend on each other. However, in some cases they are just irrepla...