20 Strings library [strings]

20.2 Character traits [char.traits]

20.2.2 Traits typedefs [char.traits.typedefs]

using char_type = CHAR_T;
The type char_­type is used to refer to the character container type in the implementation of the library classes defined in [string.classes] and [input.output].
using int_type = INT_T;
Requires: For a certain character container type char_­type, a related container type INT_­T shall be a type or class which can represent all of the valid characters converted from the corresponding char_­type values, as well as an end-of-file value, eof().
The type int_­type represents a character container type which can hold end-of-file to be used as a return type of the iostream class member functions.225
using off_type = implementation-defined; using pos_type = implementation-defined;
Requires: Requirements for off_­type and pos_­type are described in [iostreams.limits.pos] and [iostream.forward].
using state_type = STATE_T;
Requires: state_­type shall satisfy the Cpp17CopyAssignable (Table 28), Cpp17CopyConstructible (Table 26), and Cpp17DefaultConstructible (Table 24) requirements.
If eof() can be held in char_­type then some iostreams operations may give surprising results.