23 Strings library [strings]

23.2 Character traits [char.traits]

23.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().201
using state_type = see below;
Preconditions: state_type meets the Cpp17Destructible (Table 35), Cpp17CopyAssignable (Table 34), Cpp17CopyConstructible (Table 32), and Cpp17DefaultConstructible (Table 30) requirements.
If eof() can be held in char_type then some iostreams operations can give surprising results.