将每个类型包装在模板化类中的可变参数模板中

时间:2015-09-01 16:39:32

标签: c++ templates c++11 tuples variadic-templates

给定一个可变参数模板Types...,我想为包中的每个类型存储A<>。这可以在A<>的元组中完成,但我需要以编程方式派生出所述元组的类型。

在c ++ 11/14/17中这样的事情是否可能?

template <class T> class A { };

template <class... Types>
class B
{
   // A tuple of A<>'s for each type in Types...
   std::tuple<A<Type1>, A<Type2>, ...> data;
};

1 个答案:

答案 0 :(得分:17)

只需:

template <class... Types>
class B
{
   std::tuple<A<Types>...> data;
};