Function Subspace :: _u64 literal

auto operator""_u64(unsigned long long val) -> u64

For writing u64 literals.

Un-qualified integer literals are 32 bits large (the size of int) and signed values, unless a literal suffix modifies them, such as with _u64 which creates an unsigned 64-bit value. On Windows, this is the same as the ul suffix (which makes an unsigned long) but is platform agnostic, and forces a safe numeric type instead of a primitive value when this is needed (such as for templates or member function access).

Values out of range for u64 will fail to compile.


auto i = 123_u64 - (5_u64).abs();
sus_check(i == 118_u64);