cpprussia C++ Russia 2019 (19.04.2019)

Metaprogramming evolution: The right way to work with type lists


We’ll discuss metaprogramming through the ages and the right way to work with type lists.

We’ll dive deep into metaprogramming through the ages. We’ll discuss general metaprogramming approaches and then proceed to type lists. Step by step, we’ll write a small type list management library similar to Boost.Hana. For each problem we’ll discuss several possible solutions, from outdated, but none the less interesting C++98/03 approaches to advanced C++17 and even C++20 techniques.