TemplateMetaprogramming

Template Metaprogramming – How it All Started

/
Metaprogramming is programming on programs. C++ applies metaprogramming at compile time. It started in…
AutomaticReturnType

Automatic Return Type (C++11/14/20)

/
I started my discussion about the  "Automatic Return Type (C++98)" in my last post. Today, I'm faced…
AutomaticReturnType

Automatic Return Type (C++98)

/
Depending on the used C++ standard, there are different ways to return the correct return type of a function…
templates

Dependent Names

/
A dependent name is essentially a name that depends on a template parameter. A dependent name can be…
templates

The Special Friendship of Templates

/
A friend has unrestricted access to the members of a class. Consequently, friendship should be given…
templates

Visiting a std::variant with the Overload Pattern

/
Typically, you use the overload pattern for a std::variant. std::variant is a type-safe union. A std::variant…
templates

Smart Tricks with Parameter Packs and Fold Expressions

/
To complete my post about variadic templates and fold expressions, I present in this post smart tricks…
bundle

The New pdf Bundle is Ready: C++20 Modules

/
I have prepared the pdf bundle. To get it is quite simple.   If you subscribe to the newsletter,…
bundle3

Modern C++ Collection

/
Get all my books about modern C++ in one bundle.   C++20 Concurrency with Modern C++, including…
templates

From Variadic Templates to Fold Expressions

/
In my last two posts, "Variadic Templates or the Power of Three Dots" and "More about Variadic Templates",…