将元组成员包装在其他模板化类型中
wrapping tuple members in other templated types
我希望能够用模板包声明一个 class,这样 class 本身就会有一个成员变量元组,将每个模板包成员包装在一个某种容器类型。基本目标如下:
template <typename Types...>
class VectorOfMembers
{
public:
// Member tuple where each element is expanded in a container
std::tuple<std::vector<Type[1]>, std::vector<Type[2]>, std::vector<TypeN...>>
};
理想情况下,我也希望能够将任何模板化对象作为包装类型来执行此操作。
好吧,你几乎成功了:
template <typename... Types>
class VectorOfMembers
{
public:
// Member tuple where each element is expanded in a container
std::tuple<std::vector<Types>...> tuple;
};
我希望能够用模板包声明一个 class,这样 class 本身就会有一个成员变量元组,将每个模板包成员包装在一个某种容器类型。基本目标如下:
template <typename Types...>
class VectorOfMembers
{
public:
// Member tuple where each element is expanded in a container
std::tuple<std::vector<Type[1]>, std::vector<Type[2]>, std::vector<TypeN...>>
};
理想情况下,我也希望能够将任何模板化对象作为包装类型来执行此操作。
好吧,你几乎成功了:
template <typename... Types>
class VectorOfMembers
{
public:
// Member tuple where each element is expanded in a container
std::tuple<std::vector<Types>...> tuple;
};