1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
template<typename ... A, int... B>
struct foo1 : foo1<A..., (sizeof... (A)+B)...>
{
foo1() {
int x = sizeof... (A);
}
}
template<int... X> int bar1()
{
auto s = sizeof... (X);
chomp(X)...;
return X+...;
}
template<class R, typename ... Args>
struct invoke1<R(fp*)(FArgs...)>
{
};
template < typename ... A, int ... B >
struct foo2 : foo2< A ..., ( sizeof ... ( A ) + B ) ... >
{
foo2() {
int x = sizeof ... ( A );
}
}
template < int ... X > int bar2()
{
auto s = sizeof ... ( X );
chomp( X ) ...;
return X + ...;
}
template < class R, typename ... Args >
struct invoke2 < R ( fp* ) ( FArgs ... ) >
{
};
|