The Mystery of The Missing Bytes

How to save bytes and alignment when containing some types inside a structure. Techniques to avoid wasting space on unique_ptr deleter and on another structures allocators like std vector or map. Taking into account Empty Base Optimization (EBO) and no_unique_address attribute sice C++20. Internal GCC and LLVM compilers implementations.

Design Patterns: RunTime Reflection – C++

One of the most desired Design Patterns is reflection- The ability to use classes metadata (names, functions, properties, etc...) at runtime. By default this is not possible on C++, and sometimes the selected solution is to use macros, but today we are going to archive it without them.

Design Patterns: Decorators – C++

Design Patterns were always different in C++, and a usual use of these patterns in C++ might cause more complications and problems in this language. In this series of articles, I’ll show how to correctly implement them in C++. In this article we’ll see how to implement a compile-time Decorator.

Design Patterns: Factories – C++

Design Patterns were always different in C++, and a usual use of these patterns in C++ might cause more complications and problems in this language. In this series of articles, I'll show how to correctly implement them in C++. In this article we'll see how to build a factory for a template base class.

C++ Illusions: Random

One of the first mistakes that every developer doe is to believe in the theoretical idea that behind "Random". The absolutely unexpected arbitrary result of some unexpected mysterious function. What random really is, and how do we use it the right way on C++?

Maintain Your Iterations – Iterators Customization – Part 3

The third part of the iterators series. Maintain your iterations with your own containers collections. How can you create an iterators friendly collection to fit your legacy iterators-friendly code infrastructure? Create new custom iterator types in C++20.

Template Base Class Collection

How to create a collection of a template base class? How to create a single collection for multiple similar interfaces? Based on Sean Parent talk "Inheritance Is The Base Class of Evil".