>>45 www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf Types char16_t and char32_t denote distinct types with the same size, signedness, and alignment as uint_least16_t and uint_least32_t, respectively, in <cstdint>, called the underlying types.