我想构造一个类型,它是一个具有不同模板参数类型的相同类的元组。我的意思是:
想象一下我们有一门课
template<class Arg>
class A
{
//.... details
}
字符串
我想定义如下:
template<class... Args>
struct construct_tuple
{
//assume I can access Args[...]
using type = std::tuple<A<Args[0]>, A<Args[1]>, ..., A<Args[n]>>;
}
型
你能帮帮忙吗?
我相信可能有一个解决方案,通过迭代变量参数和使用元组类型之间的连接,或者使用其他TMP,例如std::enable_if
或std::conditional_t
。
2条答案
按热度按时间aemubtdh1#
虽然你的代码不会尝试构造任何东西,但这将编译并提供你想要的东西。
字符串
jqjz2hbq2#
你只需要使用包扩展,使用:
字符串
将扩大到:
型