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

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

Given a variadic template Types..., I would like to store A<> for each of the types in the pack. This could be done in a tuple of A<>'s, but I'd need to programmatically derive the type of said tuple.

在 c++11/14/17 中甚至可能发生这样的事情吗?

Is such a thing even possible in 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;
};

推荐答案

只需:

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

相关文章