30 #ifndef __CLAW_TYPE_LIST_HPP__
31 #define __CLAW_TYPE_LIST_HPP__
58 template<
typename Head,
typename Queue>
61 typedef Head head_type;
62 typedef Queue queue_type;
72 template<
typename Delimiter,
typename TypeList>
77 template<
typename Delimiter>
92 template<
typename Delimiter,
typename TypeList>
100 <
typename TypeList::head_type,
119 template<
typename T1>
129 template<
typename T1,
typename T2>
139 template<
typename T1,
typename T2,
typename T3>
150 template<
typename T1,
typename T2,
typename T3,
typename T4>
161 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
173 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
186 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
187 typename T6,
typename T7>
199 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
200 typename T6,
typename T7,
typename T8>
212 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
213 typename T6,
typename T7,
typename T8,
typename T9>
219 <T2, T3, T4, T5, T6, T7, T8, T9>
::result
227 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
228 typename T6,
typename T7,
typename T8,
typename T9,
typename T10>
234 <T2, T3, T4, T5, T6, T7, T8, T9, T10>
::result
242 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
243 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
250 <T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
::result
258 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
259 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
260 typename T11,
typename T12>
266 <T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
::result
274 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
275 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
276 typename T11,
typename T12,
typename T13>
282 <T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
::result
290 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
291 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
292 typename T11,
typename T12,
typename T13,
typename T14>
298 <T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
::result
306 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
307 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
308 typename T11,
typename T12,
typename T13,
typename T14,
315 <T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
::result
324 template<
typename T1,
typename T2 =
no_type,
typename T3 =
no_type,
336 < T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
338 >::left_part_type result;
353 template<
typename T,
typename List>
378 template<
typename List>
384 typename List::queue_type>::result
403 template<
typename List>
428 template<
typename T,
typename List>
429 struct type_list_contains;
431 template<
typename T,
typename Tail>
449 template<
typename T,
typename Head,
typename Tail>
454 result = type_list_contains<T, Tail>::result
460 <
signed char,
unsigned char,
461 signed short,
unsigned short,
462 signed int,
unsigned int,
463 signed long,
unsigned long,
464 signed long long,
unsigned long long,
473 #endif // __CLAW_TYPE_LIST_HPP__