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