33#define WX_TYPELIST_1(t1) WxTypeList<t1, WxNullType>
34#define WX_TYPELIST_2(t1, t2) WxTypeList<t1, WX_TYPELIST_1(t2)>
35#define WX_TYPELIST_3(t1, t2, t3) WxTypeList<t1, WX_TYPELIST_2(t2, t3)>
36#define WX_TYPELIST_4(t1, t2, t3, t4) WxTypeList<t1, WX_TYPELIST_3(t2, t3, t4)>
37#define WX_TYPELIST_5(t1, t2, t3, t4, t5) WxTypeList<t1, WX_TYPELIST_4(t2, t3, t4, t5)>
38#define WX_TYPELIST_6(t1, t2, t3, t4, t5, t6) \
39 WxTypeList<t1, WX_TYPELIST_5(t2, t3, t4, t5, t6)>
40#define WX_TYPELIST_7(t1, t2, t3, t4, t5, t6, t7) \
41 WxTypeList<t1, WX_TYPELIST_6(t2, t3, t4, t5, t6, t7)>
42#define WX_TYPELIST_8(t1, t2, t3, t4, t5, t6, t7, t8) \
43 WxTypeList<t1, WX_TYPELIST_7(t2, t3, t4, t5, t6, t7, t8)>
44#define WX_TYPELIST_9(t1, t2, t3, t4, t5, t6, t7, t8, t9) \
45 WxTypeList<t1, WX_TYPELIST_8(t2, t3, t4, t5, t6, t7, t8, t9)>
46#define WX_TYPELIST_10(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) \
47 WxTypeList<t1, WX_TYPELIST_9(t2, t3, t4, t5, t6, t7, t8, t9, t10)>
48#define WX_TYPELIST_11(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) \
49 WxTypeList<t1, WX_TYPELIST_10(t2, t3, t4, t5, t6, t7, t8, t9, t10, t11)>
50#define WX_TYPELIST_12(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) \
51 WxTypeList<t1, WX_TYPELIST_11(t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12)>
52#define WX_TYPELIST_13(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13) \
53 WxTypeList<t1, WX_TYPELIST_12(t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13)>
54#define WX_TYPELIST_14(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) \
56 WX_TYPELIST_13(t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14)>
57#define WX_TYPELIST_15(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) \
60 t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15)>
61#define WX_TYPELIST_16( \
62 t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) \
65 t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16)>
66#define WX_TYPELIST_17( \
67 t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17) \
71 t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17)>
72#define WX_TYPELIST_18( \
73 t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18) \
92#define WX_TYPELIST_19(t1, \
130#define WX_TYPELIST_20(t1, \
178template<
class TList,
template<
class>
class Unit>
class WxTypeMap;
184template<
class T1,
class T2,
template<
class>
class Unit>
189 template<
typename T>
struct Rebind
198template<
class AtomicType,
template<
class>
class Unit>
211template<
template<
class>
class Unit>
class WxTypeMap<WxNullType, Unit>
214 template<
typename T>
struct Rebind
225template<
class T,
class H>
231template<
class T,
class H>
WxTypeMap can be used to generate a whole class hierachy at compile time.
Definition: wxtypelist.h:200
H::template Rebind< T >::Result & wxTypeMapExtract(H &obj)
Say one has created WxTypeMap from a typelist and class Unit.
Definition: wxtypelist.h:226
WxTypeList class provides a means of defining a list of types (hence the name "typelist").
Definition: wxtypelist.h:22
U Tail
Definition: wxtypelist.h:24
T Head
Definition: wxtypelist.h:23
Definition: wxtypelist.h:203
Unit< T > Result
Definition: wxtypelist.h:204
Unit< T > Result
Definition: wxtypelist.h:216
Unit< T > Result
Definition: wxtypelist.h:191