| enum class U8Enum : unsigned char { |
| Min = 0, |
| Max = 255, |
| }; |
| enum class I8Enum : signed char { |
| Min = -128, |
| Max = 127, |
| }; |
| enum class U16Enum : unsigned short { |
| Min = 0, |
| Max = 65535, |
| }; |
| enum class I16Enum : short { |
| Min = -32768, |
| Max = 32767, |
| }; |
| enum class U32Enum : unsigned { |
| Min = 0, |
| MaxMinusOne = 4294967294, |
| Max = 4294967295, |
| }; |
| enum class I32Enum : int { |
| Min = -2147483648, |
| Max = 2147483647, |
| }; |
| enum class U64Enum : unsigned long long { |
| Min = 0, |
| MaxMinusOne = 18446744073709551614ULL, |
| Max = 18446744073709551615ULL, |
| }; |
| enum class I64Enum : long long { |
| Min = -9223372036854775807LL - 1, |
| MinPlusOne = -9223372036854775807LL, |
| MaxMinusOne = 9223372036854775806LL, |
| Max = 9223372036854775807LL, |
| }; |
| |
| int main() { |
| auto u8 = U8Enum::Max; |
| auto i8 = I8Enum::Max; |
| auto u16 = U16Enum::Max; |
| auto i16 = I16Enum::Max; |
| auto u32 = U32Enum::Max; |
| auto i32 = I32Enum::Max; |
| auto u64 = U64Enum::Max; |
| auto i64 = I64Enum::Max; |
| return 0; |
| } |