30 #ifndef __CLAW_TYPE_LIST_HPP__
31 #define __CLAW_TYPE_LIST_HPP__
58 template<
typename Head,
typename Queue>
76 template<
typename Delimiter,
typename TypeList>
81 template<
typename Delimiter>
99 template<
typename Delimiter,
typename TypeList>
103 typedef typename if_then_else
107 <
typename TypeList::head_type,
113 typedef typename if_then_else
126 template<
typename T1>
137 template<
typename T1,
typename T2>
148 template<
typename T1,
typename T2,
typename T3>
160 template<
typename T1,
typename T2,
typename T3,
typename T4>
172 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
185 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
199 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
200 typename T6,
typename T7>
213 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
214 typename T6,
typename T7,
typename T8>
227 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
228 typename T6,
typename T7,
typename T8,
typename T9>
235 <T2, T3, T4, T5, T6, T7, T8, T9>
::result
243 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
244 typename T6,
typename T7,
typename T8,
typename T9,
typename T10>
251 <T2, T3, T4, T5, T6, T7, T8, T9, T10>
::result
259 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
260 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
268 <T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
::result
276 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
277 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
278 typename T11,
typename T12>
285 <T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
::result
293 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
294 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
295 typename T11,
typename T12,
typename T13>
302 <T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
::result
310 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
311 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
312 typename T11,
typename T12,
typename T13,
typename T14>
319 <T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
::result
327 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
328 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
329 typename T11,
typename T12,
typename T13,
typename T14,
337 <T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
::result
346 template<
typename T1,
typename T2 =
no_type,
typename T3 =
no_type,
359 < T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
376 template<
typename T,
typename List>
401 template<
typename List>
407 typename List::queue_type>::result
426 template<
typename List>
451 template<
typename T,
typename List>
452 struct type_list_contains;
454 template<
typename T,
typename Tail>
472 template<
typename T,
typename Head,
typename Tail>
477 result = type_list_contains<T, Tail>::result
483 <
signed char,
unsigned char,
484 signed short,
unsigned short,
485 signed int,
unsigned int,
486 signed long,
unsigned long,
487 #ifndef __STRICT_ANSI__
488 signed long long,
unsigned long long,
498 #endif // __CLAW_TYPE_LIST_HPP__