18#ifndef AMINO_BUILTIN_TYPES_H
19#define AMINO_BUILTIN_TYPES_H
104 "enum_t's underlying type mismatch.");
107static_assert(
sizeof(
char_t ) == 1,
"char_t should be a 8-bit integer");
108static_assert(
sizeof(
short_t ) == 2,
"short_t should be a 16-bit integer");
109static_assert(
sizeof(
int_t ) == 4,
"int_t should be a 32-bit integer");
110static_assert(
sizeof(
long_t ) == 8,
"long_t should be a 64-bit integer");
112static_assert(
sizeof(
uchar_t ) == 1,
"uchar_t should be a 8-bit integer");
113static_assert(
sizeof(
ushort_t) == 2,
"ushort_t should be a 16-bit integer");
114static_assert(
sizeof(
uint_t ) == 4,
"uint_t should be a 32-bit integer");
115static_assert(
sizeof(
ulong_t ) == 8,
"ulong_t should be a 64-bit integer");
117static_assert(
sizeof(
float_t ) == 4,
"float_t should be a 32-bit number");
118static_assert(
sizeof(
double_t) == 8,
"double_t should be a 64-bit number");
120static_assert(
sizeof(
bool_t ) == 1,
"bool_t should occupy one byte");
121static_assert(
sizeof(
enum_t ) == 4,
"enum_t should be a 32-bit integer");
125static_assert(std::is_integral<char_t >::value,
"char_t should be an integer");
126static_assert(std::is_integral<short_t >::value,
"short_t should be an integer");
127static_assert(std::is_integral<int_t >::value,
"int_t should be an integer");
128static_assert(std::is_integral<long_t >::value,
"long_t should be an integer");
129static_assert(std::is_integral<uchar_t >::value,
"uchar_t should be an integer");
130static_assert(std::is_integral<ushort_t>::value,
"ushort_t should be an integer");
131static_assert(std::is_integral<uint_t >::value,
"uint_t should be an integer");
132static_assert(std::is_integral<ulong_t >::value,
"ulong_t should be an integer");
133static_assert(std::is_integral<bool_t >::value,
"bool_t should be an integer");
137 std::is_floating_point<float_t>::value,
138 "float_t should be a floating point number");
140 std::is_floating_point<double_t>::value,
141 "double_t should be a floating point number");
143 std::is_integral<enum_underlying_t>::value,
144 "enum_t's underlying type should be an integer");
147static_assert(std::is_signed<char_t >::value,
"char_t should be signed");
148static_assert(std::is_signed<short_t>::value,
"short_t should be signed");
149static_assert(std::is_signed<int_t >::value,
"int_t should be signed");
150static_assert(std::is_signed<long_t >::value,
"long_t should be signed");
152static_assert(std::is_unsigned<uchar_t >::value,
"uchar_t should be unsigned");
153static_assert(std::is_unsigned<ushort_t>::value,
"ushort_t should be unsigned");
154static_assert(std::is_unsigned<uint_t >::value,
"uint_t should be unsigned");
155static_assert(std::is_unsigned<ulong_t >::value,
"ulong_t should be unsigned");
157static_assert(std::is_unsigned<bool_t >::value,
"bool_t should be unsigned");
161 std::is_signed<enum_underlying_t>::value,
162 "enum_t's underlying type should be signed");
unsigned short ushort_t
Type alias for Amino's ushort type, an unsigned 16-bit integer.
bool bool_t
Type alias for Amino's bool type, a boolean.
double double_t
Type alias for Amino's 64-bit float-point number.
enum_t
Type alias for a standin for a Amino's enumeration type.
signed char char_t
Type alias for Amino's char type, a signed 8-bit integer.
float float_t
Type alias for Amino's 32-bit float-point number.
unsigned long long ulong_t
Type alias for Amino's ulong type, an unsigned 64-bit integer.
unsigned char uchar_t
Type alias for Amino's uchar type, an unsigned 8-bit integer.
unsigned int uint_t
Type alias for Amino's uint type, an unsigned 32-bit integer.
signed long long long_t
Type alias for Amino's long type, a signed 64-bit integer.
signed short short_t
Type alias for Amino's short type, a signed 16-bit integer.
int_t enum_underlying_t
Type alias for the underlying type of Amino's enumerations.
signed int int_t
Type alias for Amino's int type, a signed 32-bit integer.