次のコードを検討してください。
template <class Scalar, class Array, class Tuple>
class Test {};
は でArray
ありstd::array
、Tuple
はstd::tuple
です。Types
このクラスでは、多くの SFINAE を使用し、型の完全なリストを含むという大きなタプルを作成したいと考えています。これにより、可変長リストを使用していくつかの条件をテストできます。
したがって、課題は、次の動作を持つ型を作成することです。もしも:
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
。
どうやってするか ?