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".| C++ Senioreas
The 11th post in C++ meta programming series. What is SFINAE? How and When to use it? And when should we avoid using it?| C++ Senioreas
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?| C++ Senioreas
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.| C++ Senioreas
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?| C++ Senioreas
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?| C++ Senioreas
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++ Senioreas
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++ Senioreas
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.| C++ Senioreas
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.| C++ Senioreas
This is the second post in C++ meta programming series. Learn about basic templates usage, why it's needed, and how can it help you writing a generic code.| C++ Senioreas
Why does C++ meta programming is so important and powerful? This is a short introduction to C++ meta programming, it's abilities, and strengths. The first article in a series about C++ meta programming.| C++ Senioreas
Fold-expressions in the extreme. How do fold-expressions behave when there is no arguments? what about a single argument case?| C++ Senioreas
explicit(bool) C++20 feature discussion, motivation, usage example, proposal and more. Basic explanation about explicit and implicit conversions pros and cons.| C++ Senioreas
C++ Riddle – involves shared_ptr, string_view and some metaprogramming.| C++ Senioreas
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 cor…| C++ Senioreas