【发布时间】:2016-09-30 04:31:21
【问题描述】:
我有一个简单的类型列表实现;
template<typename... Ts>
struct Typelist
{
static constexpr size_t count{sizeof...(Ts)};
};
我想用它做的是为类型列表中的每种类型生成std::tuple 或std::vector>;例如:
struct A {};
struct B {};
struct C {};
using myStructs = typelist<A,B,C>;
using myList = tupleOfVectorTypes<myStructs>; tuple<vector<A>, vector<B>, vector<C>>
这是我一直在玩的:
template<template<typename... Ts> class T>
struct List
{
using type = std::tuple<std::vector<Ts>...>;
};
但是,它一直在吐槽它需要一个类型。我尝试将 Ts 包装在 decltype 中,如下所示:
using type = std::tuple<std::vector<decltype(Ts)>...>;
但这也是错误的,我猜我也错误地使用了decltype。
那么,如何根据我抛出的类型列表创建类型向量的元组?
【问题讨论】:
标签: c++ templates vector tuples typelist