30 #ifndef TYPE_LIST_TYPE_AT_H_INCLUDED
31 #define TYPE_LIST_TYPE_AT_H_INCLUDED
33 #include <Pb/type_list.h>
71 #define tmp_ALCHEMY_TYPELIST_AT(I) \
72 template <TMP_ARRAY_32(typename T), \
75 TypeList<TMP_ARRAY_32(T)>, \
79 typedef TypeList <TMP_ARRAY_32(T)> container; \
85 tmp_ALCHEMY_TYPELIST_AT(0);
86 tmp_ALCHEMY_TYPELIST_AT(1);
87 tmp_ALCHEMY_TYPELIST_AT(2);
88 tmp_ALCHEMY_TYPELIST_AT(3);
89 tmp_ALCHEMY_TYPELIST_AT(4);
90 tmp_ALCHEMY_TYPELIST_AT(5);
91 tmp_ALCHEMY_TYPELIST_AT(6);
92 tmp_ALCHEMY_TYPELIST_AT(7);
93 tmp_ALCHEMY_TYPELIST_AT(8);
94 tmp_ALCHEMY_TYPELIST_AT(9);
95 tmp_ALCHEMY_TYPELIST_AT(10);
96 tmp_ALCHEMY_TYPELIST_AT(11);
97 tmp_ALCHEMY_TYPELIST_AT(12);
98 tmp_ALCHEMY_TYPELIST_AT(13);
99 tmp_ALCHEMY_TYPELIST_AT(14);
100 tmp_ALCHEMY_TYPELIST_AT(15);
101 tmp_ALCHEMY_TYPELIST_AT(16);
102 tmp_ALCHEMY_TYPELIST_AT(17);
103 tmp_ALCHEMY_TYPELIST_AT(18);
104 tmp_ALCHEMY_TYPELIST_AT(19);
105 tmp_ALCHEMY_TYPELIST_AT(20);
106 tmp_ALCHEMY_TYPELIST_AT(21);
107 tmp_ALCHEMY_TYPELIST_AT(22);
108 tmp_ALCHEMY_TYPELIST_AT(23);
109 tmp_ALCHEMY_TYPELIST_AT(24);
110 tmp_ALCHEMY_TYPELIST_AT(25);
111 tmp_ALCHEMY_TYPELIST_AT(26);
112 tmp_ALCHEMY_TYPELIST_AT(27);
113 tmp_ALCHEMY_TYPELIST_AT(28);
114 tmp_ALCHEMY_TYPELIST_AT(29);
115 tmp_ALCHEMY_TYPELIST_AT(30);
116 tmp_ALCHEMY_TYPELIST_AT(31);
119 #undef tmp_ALCHEMY_TYPELIST_AT
124 template<TMP_ARRAY_32(
typename T)>
135 template<
typename TPop, TMP_ARRAY_31(
typename T)>
141 template<TMP_ARRAY_31(
typename T)>
142 struct pop_front<
TypeList<
MT, TMP_ARRAY_31(T)> >
152 template<TMP_ARRAY_32(
typename T),
typename T>
163 template<TMP_ARRAY_32(
typename T),
typename T>
172 template<TMP_ARRAY_32(
typename T)>