using u8 = /* uint_fast8_t or uint8_t , see below */;
using u16 = /* uint_fast16_t or uint16_t, see below */;
using u32 = /* uint_fast32_t or uint32_t, see below */;
using u64 = /* uint_fast64_t or uint64_t, see below */;
Type alias uN (where N is 8, 16, 32 and 64)
is uint_fastN_t if UINT_FASTN_MAX equal to
UINTN_MAX, otherwise is uintN_t.
This aliases using as template parameter DigitT in
basic_integer.
If available GCC extension with type __uint128_t you can use
u64 as valid value in DigitT, otherwise only
u8, u16 and u32.