21 Strings library [strings]

21.2 Character traits [char.traits]

21.2.3 Traits typedefs [char.traits.typedefs]

using int_type = see below;
Preconditions: int_­type shall be able to represent all of the valid characters converted from the corresponding char_­type values, as well as an end-of-file value, eof().227
using state_type = see below;
Preconditions: state_­type meets the Cpp17Destructible (Table 32), Cpp17CopyAssignable (Table 31), Cpp17CopyConstructible (Table 29), and Cpp17DefaultConstructible (Table 27) requirements.
If eof() can be held in char_­type then some iostreams operations can give surprising results.