27 #ifndef SCHNEK_TYPETOOLS_H_ 28 #define SCHNEK_TYPETOOLS_H_ 66 template<
class H,
class T>
75 template<
class TList,
unsigned int index,
class DefaultType>
78 template<
class Head,
class Tail,
class DefaultType>
84 template<
class DefaultType,
unsigned int index>
87 typedef DefaultType Result;
90 template<
class Head,
class Tail,
unsigned int index,
class DefaultType>
93 typedef typename TypeAtNonStrict<Tail,index-1,DefaultType>::Result Result;
98 #define TYPELIST_0 NullType 99 #define TYPELIST_1(T1) schnek::Typelist<T1, schnek::NullType> 100 #define TYPELIST_2(T1, T2) schnek::Typelist<T1, TYPELIST_1(T2)> 102 #endif // SCHNEK_TYPETOOLS_H_ Definition: typetools.hpp:67
Definition: typetools.hpp:34
Type OriginalType
Definition: typetools.hpp:45
T Tail
Definition: typetools.hpp:72
H Head
Definition: typetools.hpp:70
Definition: typetools.hpp:42
Definition: typetools.hpp:76
Definition: typetools.hpp:33