34 #ifndef __CLAW_TYPES_HPP__
35 #define __CLAW_TYPES_HPP__
39 #ifdef CLAW_HAS_LONG_LONG
42 meta::type_list<signed long long int, meta::no_type>
43 non_standard_signed_types;
46 meta::type_list<unsigned long long int, meta::no_type>
47 non_standard_unsigned_types;
49 #else // !def CLAW_HAS_LONG_LONG
51 typedef meta::no_type non_standard_signed_types;
52 typedef meta::no_type non_standard_unsigned_types;
54 #endif // CLAW_HAS_LONG_LONG
57 typedef meta::type_list
61 meta::type_list<signed int, non_standard_signed_types>
80 template<std::
size_t Size,
typename TypeList>
84 typedef typename TypeList::head_type head_type;
85 typedef typename TypeList::queue_type queue_type;
90 <
sizeof(head_type) * 8 == Size, head_type,
91 typename find_type_by_size<Size, queue_type>::type >::result type;
96 template<std::
size_t Size>
110 template<std::
size_t Size>
113 typedef typename find_type_by_size<Size, signed_integers>::type type;
122 template<std::
size_t Size>
125 typedef typename find_type_by_size<Size, unsigned_integers>::type type;
130 typedef unsigned_integer_of_size<32>::type u_int_32;
132 typedef integer_of_size<8>::type int_8;
133 typedef integer_of_size<16>::type int_16;
134 typedef integer_of_size<32>::type int_32;
138 #endif // __CLAW_TYPES_HPP__