21 Strings library [strings]

21.2 Character traits [char.traits]

21.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 Clause [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 meet the requirements of CopyAssignable (Table [tab:copyassignable]), CopyConstructible (Table [tab:copyconstructible]), and DefaultConstructible (Table [tab:defaultconstructible]) types.

If eof() can be held in char_type then some iostreams operations may give surprising results.