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.224
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, CopyConstructible, and DefaultConstructible types.
If eof() can be held in char_type then some iostreams operations may give surprising results.