41 #define TYPELIST_1(T1) ::Chroma::Typelist<T1, ::Chroma::NullType>
43 #define TYPELIST_2(T1, T2) ::Chroma::Typelist<T1, TYPELIST_1(T2) >
45 #define TYPELIST_3(T1, T2, T3) ::Chroma::Typelist<T1, TYPELIST_2(T2, T3) >
47 #define TYPELIST_4(T1, T2, T3, T4) ::Chroma::Typelist<T1, TYPELIST_3(T2, T3, T4) >
49 #define TYPELIST_5(T1, T2, T3, T4, T5) \
50 ::Chroma::Typelist<T1, TYPELIST_4(T2, T3, T4, T5) >
52 #define TYPELIST_6(T1, T2, T3, T4, T5, T6) \
53 ::Chroma::Typelist<T1, TYPELIST_5(T2, T3, T4, T5, T6) >
55 #define TYPELIST_7(T1, T2, T3, T4, T5, T6, T7) \
56 ::Chroma::Typelist<T1, TYPELIST_6(T2, T3, T4, T5, T6, T7) >
58 #define TYPELIST_8(T1, T2, T3, T4, T5, T6, T7, T8) \
59 ::Chroma::Typelist<T1, TYPELIST_7(T2, T3, T4, T5, T6, T7, T8) >
61 #define TYPELIST_9(T1, T2, T3, T4, T5, T6, T7, T8, T9) \
62 ::Chroma::Typelist<T1, TYPELIST_8(T2, T3, T4, T5, T6, T7, T8, T9) >
64 #define TYPELIST_10(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) \
65 ::Chroma::Typelist<T1, TYPELIST_9(T2, T3, T4, T5, T6, T7, T8, T9, T10) >
67 #define TYPELIST_11(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) \
68 ::Chroma::Typelist<T1, TYPELIST_10(T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) >
70 #define TYPELIST_12(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) \
71 ::Chroma::Typelist<T1, TYPELIST_11(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
74 #define TYPELIST_13(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) \
75 ::Chroma::Typelist<T1, TYPELIST_12(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
78 #define TYPELIST_14(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
80 ::Chroma::Typelist<T1, TYPELIST_13(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
83 #define TYPELIST_15(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
84 T11, T12, T13, T14, T15) \
85 ::Chroma::Typelist<T1, TYPELIST_14(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
86 T11, T12, T13, T14, T15) >
88 #define TYPELIST_16(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
89 T11, T12, T13, T14, T15, T16) \
90 ::Chroma::Typelist<T1, TYPELIST_15(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
91 T11, T12, T13, T14, T15, T16) >
93 #define TYPELIST_17(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
94 T11, T12, T13, T14, T15, T16, T17) \
95 ::Chroma::Typelist<T1, TYPELIST_16(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
96 T11, T12, T13, T14, T15, T16, T17) >
98 #define TYPELIST_18(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
99 T11, T12, T13, T14, T15, T16, T17, T18) \
100 ::Chroma::Typelist<T1, TYPELIST_17(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
101 T11, T12, T13, T14, T15, T16, T17, T18) >
103 #define TYPELIST_19(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
104 T11, T12, T13, T14, T15, T16, T17, T18, T19) \
105 ::Chroma::Typelist<T1, TYPELIST_18(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
106 T11, T12, T13, T14, T15, T16, T17, T18, T19) >
108 #define TYPELIST_20(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
109 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) \
110 ::Chroma::Typelist<T1, TYPELIST_19(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
111 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) >
113 #define TYPELIST_21(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
114 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) \
115 ::Chroma::Typelist<T1, TYPELIST_20(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
116 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) >
118 #define TYPELIST_22(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
119 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) \
120 ::Chroma::Typelist<T1, TYPELIST_21(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
121 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) >
123 #define TYPELIST_23(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
124 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) \
125 ::Chroma::Typelist<T1, TYPELIST_22(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
126 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) >
128 #define TYPELIST_24(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
129 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) \
130 ::Chroma::Typelist<T1, TYPELIST_23(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
131 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) >
133 #define TYPELIST_25(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
134 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) \
135 ::Chroma::Typelist<T1, TYPELIST_24(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
136 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
137 T21, T22, T23, T24, T25) >
139 #define TYPELIST_26(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
140 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
141 T21, T22, T23, T24, T25, T26) \
142 ::Chroma::Typelist<T1, TYPELIST_25(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
143 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
144 T21, T22, T23, T24, T25, T26) >
146 #define TYPELIST_27(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
147 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
148 T21, T22, T23, T24, T25, T26, T27) \
149 ::Chroma::Typelist<T1, TYPELIST_26(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
150 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
151 T21, T22, T23, T24, T25, T26, T27) >
153 #define TYPELIST_28(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
154 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
155 T21, T22, T23, T24, T25, T26, T27, T28) \
156 ::Chroma::Typelist<T1, TYPELIST_27(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
157 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
158 T21, T22, T23, T24, T25, T26, T27, T28) >
160 #define TYPELIST_29(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
161 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
162 T21, T22, T23, T24, T25, T26, T27, T28, T29) \
163 ::Chroma::Typelist<T1, TYPELIST_28(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
164 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
165 T21, T22, T23, T24, T25, T26, T27, T28, T29) >
167 #define TYPELIST_30(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
168 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
169 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) \
170 ::Chroma::Typelist<T1, TYPELIST_29(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
171 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
172 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) >
174 #define TYPELIST_31(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
175 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
176 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) \
177 ::Chroma::Typelist<T1, TYPELIST_30(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
178 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
179 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) >
181 #define TYPELIST_32(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
182 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
183 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) \
184 ::Chroma::Typelist<T1, TYPELIST_31(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
185 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
186 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) >
188 #define TYPELIST_33(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
189 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
190 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) \
191 ::Chroma::Typelist<T1, TYPELIST_32(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
192 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
193 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) >
195 #define TYPELIST_34(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
196 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
197 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) \
198 ::Chroma::Typelist<T1, TYPELIST_33(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
199 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
200 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) >
202 #define TYPELIST_35(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
203 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
204 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
205 T31, T32, T33, T34, T35) \
206 ::Chroma::Typelist<T1, TYPELIST_34(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
207 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
208 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
209 T31, T32, T33, T34, T35) >
211 #define TYPELIST_36(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
212 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
213 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
214 T31, T32, T33, T34, T35, T36) \
215 ::Chroma::Typelist<T1, TYPELIST_35(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
216 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
217 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
218 T31, T32, T33, T34, T35, T36) >
220 #define TYPELIST_37(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
221 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
222 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
223 T31, T32, T33, T34, T35, T36, T37) \
224 ::Chroma::Typelist<T1, TYPELIST_36(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
225 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
226 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
227 T31, T32, T33, T34, T35, T36, T37) >
229 #define TYPELIST_38(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
230 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
231 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
232 T31, T32, T33, T34, T35, T36, T37, T38) \
233 ::Chroma::Typelist<T1, TYPELIST_37(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
234 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
235 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
236 T31, T32, T33, T34, T35, T36, T37, T38) >
238 #define TYPELIST_39(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
239 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
240 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
241 T31, T32, T33, T34, T35, T36, T37, T38, T39) \
242 ::Chroma::Typelist<T1, TYPELIST_38(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
243 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
244 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
245 T31, T32, T33, T34, T35, T36, T37, T38, T39) >
247 #define TYPELIST_40(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
248 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
249 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
250 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40) \
251 ::Chroma::Typelist<T1, TYPELIST_39(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
252 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
253 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
254 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40) >
256 #define TYPELIST_41(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
257 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
258 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
259 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41) \
260 ::Chroma::Typelist<T1, TYPELIST_40(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
261 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
262 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
263 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41) >
265 #define TYPELIST_42(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
266 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
267 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
268 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42) \
269 ::Chroma::Typelist<T1, TYPELIST_41(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
270 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
271 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
272 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42) >
274 #define TYPELIST_43(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
275 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
276 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
277 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43) \
278 ::Chroma::Typelist<T1, TYPELIST_42(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
279 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
280 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
281 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43) >
283 #define TYPELIST_44(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
284 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
285 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
286 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44) \
287 ::Chroma::Typelist<T1, TYPELIST_43(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
288 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
289 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
290 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44) >
292 #define TYPELIST_45(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
293 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
294 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
295 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
296 T41, T42, T43, T44, T45) \
297 ::Chroma::Typelist<T1, TYPELIST_44(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
298 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
299 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
300 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
301 T41, T42, T43, T44, T45) >
303 #define TYPELIST_46(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
304 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
305 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
306 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
307 T41, T42, T43, T44, T45, T46) \
308 ::Chroma::Typelist<T1, TYPELIST_45(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
309 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
310 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
311 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
312 T41, T42, T43, T44, T45) >
314 #define TYPELIST_47(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
315 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
316 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
317 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
318 T41, T42, T43, T44, T45, T46, T47) \
319 ::Chroma::Typelist<T1, TYPELIST_46(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
320 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
321 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
322 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
323 T41, T42, T43, T44, T45, T46, T47) >
325 #define TYPELIST_48(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
326 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
327 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
328 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
329 T41, T42, T43, T44, T45, T46, T47, T48) \
330 ::Chroma::Typelist<T1, TYPELIST_47(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
331 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
332 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
333 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
334 T41, T42, T43, T44, T45, T46, T47, T48) >
336 #define TYPELIST_49(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
337 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
338 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
339 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
340 T41, T42, T43, T44, T45, T46, T47, T48, T49) \
341 ::Chroma::Typelist<T1, TYPELIST_48(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
342 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
343 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
344 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
345 T41, T42, T43, T44, T45, T46, T47, T48, T49) >
347 #define TYPELIST_50(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
348 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
349 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
350 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
351 T41, T42, T43, T44, T45, T46, T47, T48, T49, T50) \
352 ::Chroma::Typelist<T1, TYPELIST_49(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
353 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
354 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
355 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
356 T41, T42, T43, T44, T45, T46, T47, T48, T49, T50) >
369 template <
class T,
class U>
393 template <
class T,
class U>
409 template <
class TList,
int index>
struct TypeAt;
411 template <
class Head,
class Tail>
417 template <
class Head,
class Tail,
int i>
435 template <
class TList,
int index,
442 template <
class Head,
class Tail,
typename DefaultType>
448 template <
class Head,
class Tail,
int i,
typename DefaultType>
463 template <
class TList,
class T>
struct IndexOf;
471 template <
class T,
class Tail>
477 template <
class Head,
class Tail,
class T>
483 enum { value = (temp == -1 ? -1 : 1 + temp) };
494 template <
class TList,
class T>
struct Append;
506 template <
class Head,
class Tail>
512 template <
class Head,
class Tail,
class T>
528 template <
class TList,
class T>
struct Erase;
536 template <
class T,
class Tail>
542 template <
class Head,
class Tail,
class T>
564 template <
class T,
class Tail>
570 template <
class Head,
class Tail,
class T>
593 template <
class Head,
class Tail>
611 template <
class TList,
class T,
class U>
struct Replace;
613 template <
class T,
class U>
619 template <
class T,
class Tail,
class U>
625 template <
class Head,
class Tail,
class T,
class U>
643 template <
class T,
class U>
649 template <
class T,
class Tail,
class U>
655 template <
class Head,
class Tail,
class T,
class U>
679 template <
class Head,
class Tail>
702 template <
class Head,
class Tail,
class T>
729 template <
class Head,
class Tail>
Asqtad Staggered-Dirac operator.
LinOpSysSolverMGProtoClover::T T
typedef TYPELIST_1(T) Result
Typelist< Head, Tail > Result
Typelist< Head, typename Append< Tail, T >::Result > Result
Replace< Tail, TheMostDerived, Head >::Result L
MostDerived< Tail, Head >::Result TheMostDerived
Typelist< TheMostDerived, L > Result
Typelist< Head, typename EraseAll< Tail, T >::Result > Result
EraseAll< Tail, T >::Result Result
Typelist< Head, typename Erase< Tail, T >::Result > Result
MostDerived< Tail, T >::Result Candidate
Select< SUPERSUBCLASS(Candidate, Head), Head, Candidate >::Result Result
Erase< L1, Head >::Result L2
Typelist< Head, L2 > Result
NoDuplicates< Tail >::Result L1
Typelist< Head, typename ReplaceAll< Tail, T, U >::Result > Result
Typelist< U, typename ReplaceAll< Tail, T, U >::Result > Result
Typelist< Head, typename Replace< Tail, T, U >::Result > Result
Typelist< U, Tail > Result
typedef TYPELIST_1(T) Result
Append< typename Reverse< Tail >::Result, Head >::Result Result
TypeAtNonStrict< Tail, i - 1, DefaultType >::Result Result
TypeAt< Tail, i - 1 >::Result Result
multi1d< LatticeColorMatrix > U
Type manipulator support.
#define SUPERSUBCLASS(T, U)