我从Template with Multiple pack as input parameter看下面的例子。
#include <iostream>
#include <tuple>
// A template to hold a parameter pack.
template < typename... >
struct Typelist {};
// Declaration of a template with multiple parameter pack.
template< typename TypeListOne
, typename TypeListTwo
>
struct SomeStruct;
// Specialization of template with multiple parameter packs
template< typename... TypesOne
, typename... TypesTwo
>
struct SomeStruct< Typelist < TypesOne... >
, Typelist < TypesTwo... >
>
{
// Can use TypesOne... and TypesTwo... how ever
// you want here. For example:
typedef std::tuple< TypesOne... > TupleTypeOne;
typedef std::tuple< TypesTwo... > TupleTypeTwo;
};
我想知道如何实例化SomeStruct的对象。
答案 0 :(得分:1)
例如:
SomeStruct <Typelist <char, int, char>,
Typelist <int, double>> var;