26 #ifndef CACAO_TYPES_HPP_
27 #define CACAO_TYPES_HPP_ 1
75 static const int8_t
min = INT8_MIN;
76 static const int8_t
max = INT8_MAX;
78 template <>
struct numeric_limits<uint8_t> {
80 static const uint8_t
min = 0;
81 static const uint8_t
max = UINT8_MAX;
83 template <>
struct numeric_limits<int16_t> {
85 static const int16_t
min = INT16_MIN;
86 static const int16_t
max = INT16_MAX;
88 template <>
struct numeric_limits<uint16_t> {
90 static const uint16_t
min = 0;
91 static const uint16_t
max = UINT16_MAX;
93 template <>
struct numeric_limits<int32_t> {
95 static const int32_t
min = INT32_MIN;
96 static const int32_t
max = INT32_MAX;
98 template <>
struct numeric_limits<uint32_t> {
100 static const uint32_t
min = 0;
101 static const uint32_t
max = UINT32_MAX;
103 template <>
struct numeric_limits<int64_t> {
105 static const int64_t
min = INT64_MIN;
106 static const int64_t
max = INT64_MAX;
108 template <>
struct numeric_limits<uint64_t> {
110 static const uint64_t
min = 0;
111 static const uint64_t
max = UINT64_MAX;
116 static const signed char min = SCHAR_MIN;
117 static const signed char max = SCHAR_MAX;
121 static const char min = CHAR_MIN;
122 static const char max = CHAR_MAX;
126 static const short min = SHRT_MIN;
127 static const short max = SHRT_MAX;
131 static const int min = INT_MIN;
132 static const int max = INT_MAX;
136 static const long min = LONG_MIN;
137 static const long max = LONG_MAX;
142 static const unsigned short min = 0;
143 static const unsigned short max = USHRT_MAX;
147 static const unsigned int min = 0;
148 static const unsigned int max = UINT_MAX;
152 static const unsigned char min = 0;
153 static const unsigned char max = UCHAR_MAX;
157 static const unsigned long int min = 0;
158 static const unsigned long int max = ULONG_MAX;
161 template <
class T,
class A>
168 #endif // CACAO_TYPES_HPP_