Go to the source code of this file.
Namespaces | |
namespace | tl |
Data Structures | |
class | tl::NullType |
Null type which is used to mark end of the TypeList. More... | |
class | tl::TypeList< H, T > |
TypeList template class. More... | |
class | tl::ListLength< TypeList< H, T > > |
Calculate length of the TypeList. More... | |
class | tl::ListLength< NullType > |
Calculate length of the TypeList. More... | |
class | tl::Get< TypeList< H, T >, 0 > |
Select i-th type from TypeList. More... | |
class | tl::Get< TypeList< H, T >, i > |
Select i-th type from TypeList. More... | |
struct | tl::IndexOf< NullType, T > |
Index of type in TypeList. More... | |
struct | tl::IndexOf< TypeList< T, Tail >, T > |
Index of type in TypeList. More... | |
struct | tl::IndexOf< TypeList< Head, Tail >, T > |
Index of type in TypeList. More... | |
Defines | |
#define | CREATE_TYPE_LIST_01(T01) ::tl::TypeList< T01, ::tl::NullType > |
Create TypeList containing one type. | |
#define | CREATE_TYPE_LIST_02(T01, T02) ::tl::TypeList< T01, CREATE_TYPE_LIST_01(T02) > |
Create TypeList containing two types. | |
#define | CREATE_TYPE_LIST_03(T01, T02, T03) ::tl::TypeList< T01, CREATE_TYPE_LIST_02(T02, T03) > |
Create TypeList containing three types. | |
#define | CREATE_TYPE_LIST_04(T01, T02, T03, T04) ::tl::TypeList< T01, CREATE_TYPE_LIST_03(T02, T03, T04) > |
Create TypeList containing four types. | |
#define | CREATE_TYPE_LIST_05(T01, T02, T03, T04, T05) ::tl::TypeList< T01, CREATE_TYPE_LIST_04(T02, T03, T04, T05) > |
Create TypeList containing five types. | |
#define | CREATE_TYPE_LIST_06(T01, T02, T03, T04, T05, T06) ::tl::TypeList< T01, CREATE_TYPE_LIST_05(T02, T03, T04, T05, T06) > |
Create TypeList containing six types. | |
#define | CREATE_TYPE_LIST_07(T01, T02, T03, T04, T05, T06, T07) ::tl::TypeList< T01, CREATE_TYPE_LIST_06(T02, T03, T04, T05, T06, T07) > |
Create TypeList containing seven types. | |
#define | CREATE_TYPE_LIST_08(T01, T02, T03, T04, T05, T06, T07, T08) ::tl::TypeList< T01, CREATE_TYPE_LIST_07(T02, T03, T04, T05, T06, T07, T08) > |
Create TypeList containing eight types. | |
#define | CREATE_TYPE_LIST_09(T01, T02, T03, T04, T05, T06, T07, T08, T09) ::tl::TypeList< T01, CREATE_TYPE_LIST_08(T02, T03, T04, T05, T06, T07, T08, T09) > |
Create TypeList containing nine types. | |
#define | CREATE_TYPE_LIST_10(T01, T02, T03, T04, T05, T06, T07, T08, T09, T10) ::tl::TypeList< T01, CREATE_TYPE_LIST_09(T02, T03, T04, T05, T06, T07, T08, T09, T10) > |
Create TypeList containing ten types. | |
#define | CREATE_TYPE_LIST_11(T01, T02, T03, T04, T05, T06, T07, T08, T09, T10, T11) ::tl::TypeList< T01, CREATE_TYPE_LIST_10(T02, T03, T04, T05, T06, T07, T08, T09, T10, T11) > |
Create TypeList containing 11 types. | |
#define | CREATE_TYPE_LIST_12(T01, T02, T03, T04, T05, T06, T07, T08, T09, T10, T11, T12) ::tl::TypeList< T01, CREATE_TYPE_LIST_11(T02, T03, T04, T05, T06, T07, T08, T09, T10, T11, T12) > |
Create TypeList containing 12 types. |
#define CREATE_TYPE_LIST_01 | ( | T01 | ) | ::tl::TypeList< T01, ::tl::NullType > |
Create TypeList containing one type.
#define CREATE_TYPE_LIST_02 | ( | T01, | |||
T02 | ) | ::tl::TypeList< T01, CREATE_TYPE_LIST_01(T02) > |
Create TypeList containing two types.
#define CREATE_TYPE_LIST_03 | ( | T01, | |||
T02, | |||||
T03 | ) | ::tl::TypeList< T01, CREATE_TYPE_LIST_02(T02, T03) > |
Create TypeList containing three types.
#define CREATE_TYPE_LIST_04 | ( | T01, | |||
T02, | |||||
T03, | |||||
T04 | ) | ::tl::TypeList< T01, CREATE_TYPE_LIST_03(T02, T03, T04) > |
Create TypeList containing four types.
#define CREATE_TYPE_LIST_05 | ( | T01, | |||
T02, | |||||
T03, | |||||
T04, | |||||
T05 | ) | ::tl::TypeList< T01, CREATE_TYPE_LIST_04(T02, T03, T04, T05) > |
Create TypeList containing five types.
#define CREATE_TYPE_LIST_06 | ( | T01, | |||
T02, | |||||
T03, | |||||
T04, | |||||
T05, | |||||
T06 | ) | ::tl::TypeList< T01, CREATE_TYPE_LIST_05(T02, T03, T04, T05, T06) > |
Create TypeList containing six types.
#define CREATE_TYPE_LIST_07 | ( | T01, | |||
T02, | |||||
T03, | |||||
T04, | |||||
T05, | |||||
T06, | |||||
T07 | ) | ::tl::TypeList< T01, CREATE_TYPE_LIST_06(T02, T03, T04, T05, T06, T07) > |
Create TypeList containing seven types.
#define CREATE_TYPE_LIST_08 | ( | T01, | |||
T02, | |||||
T03, | |||||
T04, | |||||
T05, | |||||
T06, | |||||
T07, | |||||
T08 | ) | ::tl::TypeList< T01, CREATE_TYPE_LIST_07(T02, T03, T04, T05, T06, T07, T08) > |
Create TypeList containing eight types.
#define CREATE_TYPE_LIST_09 | ( | T01, | |||
T02, | |||||
T03, | |||||
T04, | |||||
T05, | |||||
T06, | |||||
T07, | |||||
T08, | |||||
T09 | ) | ::tl::TypeList< T01, CREATE_TYPE_LIST_08(T02, T03, T04, T05, T06, T07, T08, T09) > |
Create TypeList containing nine types.
#define CREATE_TYPE_LIST_10 | ( | T01, | |||
T02, | |||||
T03, | |||||
T04, | |||||
T05, | |||||
T06, | |||||
T07, | |||||
T08, | |||||
T09, | |||||
T10 | ) | ::tl::TypeList< T01, CREATE_TYPE_LIST_09(T02, T03, T04, T05, T06, T07, T08, T09, T10) > |
Create TypeList containing ten types.
#define CREATE_TYPE_LIST_11 | ( | T01, | |||
T02, | |||||
T03, | |||||
T04, | |||||
T05, | |||||
T06, | |||||
T07, | |||||
T08, | |||||
T09, | |||||
T10, | |||||
T11 | ) | ::tl::TypeList< T01, CREATE_TYPE_LIST_10(T02, T03, T04, T05, T06, T07, T08, T09, T10, T11) > |
Create TypeList containing 11 types.
#define CREATE_TYPE_LIST_12 | ( | T01, | |||
T02, | |||||
T03, | |||||
T04, | |||||
T05, | |||||
T06, | |||||
T07, | |||||
T08, | |||||
T09, | |||||
T10, | |||||
T11, | |||||
T12 | ) | ::tl::TypeList< T01, CREATE_TYPE_LIST_11(T02, T03, T04, T05, T06, T07, T08, T09, T10, T11, T12) > |
Create TypeList containing 12 types.