考虑以下代码:
template <class Scalar, class Array, class Tuple>
class Test {};
哪里Array
是 a std::array
,Tuple
是 a std::tuple
。在这个类中,我将有很多 SFINAE,并且我想创建一个名为的大元组Types
,它将包含完整的类型列表。这将允许我使用可变参数列表测试一些条件。
所以挑战是创建一个具有以下行为的类型。如果:
Scalar = int
Array = std::array<double, 3>
Tuple = std::tuple<char, float, std::string>
然后:
Types = std::tuple<int, double, double, double, char, float, std::string>
这是 , 和 的内部数据Scalar
的Array
串联Tuple
。
怎么做 ?