Variadic Alias Templates
Explore how to implement variadic alias templates in C++, which provide aliases for families of types with varying template parameters. Understand examples including class templates and standard library integer sequences to enhance your template metaprogramming skills.
We'll cover the following...
Implementing variadic alias templates
Everything that can be templatized can also be made variadic. An alias template is an alias (another name) for a family of types. A variadic alias template is a name for a family of types with a variable number of template parameters. With the knowledge accumulated so far, it should be fairly easy to write alias templates. Let’s see an example:
template<typename T, typename... Args>struct foo{};template<typename... Args>using int_foo = foo<int, Args...>;
The class template foo is variadic and takes at least one type template argument. int_foo, on the other hand, is only a different name for a family of types instantiated from the foo type with int as the first type template arguments. These could be used as follows: