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".
Category: Meta Programming Introduction
Substitution Failure is Not an Error – SFINAE
The 11th post in C++ meta programming series. What is SFINAE? How and When to use it? And when should we avoid using it?
Become a Compile-Time Coder
The 10th post in C++ meta programming series. How to use compile-time functions from C++11 to C++20? How to define user-defined compile-time types? What is constexpr and how does it tie up all of the above?
The Exact Solution for a Generic Problem – Part 2
The 9th post in C++ meta programming series. How to protect our solution from less experienced developers in variadic template development cases? Restrictions over variadic params from C++11 to C++20.
The Exact Solution for a Generic Problem – Part 1
The 8th post in C++ meta programming series. What is the problem with a generic solution? Why should we pay extra attention when we solve a problem in a generic way? And how to protect our solution from less experienced developers?
Templates Infinity Theory – From C++11 to C++20 – Part 2
The 7th post in C++ meta programming series. Learn about variadic templates in C++17- How does C++17 helps us handle them, when to use / don't use fold expressions, and what things we need to draw a close attention to when we use them?
Templates Infinity Theory – From C++11 to C++20 – Part 1
The 6th post in C++ meta programming series. Learn about variadic templates- How to use them, and about how to make the code more flexible and maintainable with them.
C++ – Partial / Explicit specialization
This is the 5th post in C++ meta programming series. Learn about explicit & partial template specializations in C++, and about the differences between them.
C++ templates – Beginners most common issue
Separation of templates functions/classes declarations from definitions always raise a common issue at the first time. Read about the reasons for this issue, and how to solve it.
Basic templates usage – Part 2
This is the third post in C++ meta programming series. Learn about basic non-type template parameters, template of templates, and passing functions as template parameters.