55 #ifndef LIB_META_TYPESEQ_UTIL_H 56 #define LIB_META_TYPESEQ_UTIL_H 74 template<
class T,
class TYPES>
77 template<
typename T01
100 , T06,T07,T08,T09,T10
101 , T11,T12,T13,T14,T15
102 , T16,T17,T18,T19,T20
106 typedef Types< T01,T02,T03,T04,T05
107 , T06,T07,T08,T09,T10
108 , T11,T12,T13,T14,T15
109 , T16,T17,T18,T19,T20 >
Seq;
120 template<
class H,
class T>
136 template<
class TYPES>
139 template<
typename T01
161 , T06,T07,T08,T09,T10
162 , T11,T12,T13,T14,T15
163 , T16,T17,T18,T19,T20
167 Types< T01,T02,T03,T04,T05
168 , T06,T07,T08,T09,T10
169 , T11,T12,T13,T14,T15
170 , T16,T17,T18,T19,T20
175 typedef Types< T02,T03,T04,T05
176 , T06,T07,T08,T09,T10
177 , T11,T12,T13,T14,T15
178 , T16,T17,T18,T19,T20 >
Tail;
197 template<
class TYPES, u
int i=1>
202 typedef typename Shifted<Tail,i-1>::Type Type;
206 template<
class TYPES>
219 template<
typename...TYPES,
size_t i>
A template metaprogramming technique for manipulating collections of types.
Implementation namespace for support and library code.
Metaprogramming: Helpers for manipulating lists-of-types.