Шаблон класса специализация basic_ios<charT, traits> служит в качестве виртуального базового класса для шаблонов классов basic_istream, basic_ostreamи шаблоны классов , полученных из них. basic_iostream - это шаблон класса, производный от обоих basic_istream<charT, traits> и basic_ostream<charT, traits>.
Специализация шаблона класса basic_streambuf<charT, traits> служит базовым классом для шаблонов классов basic_stringbuf и basic_filebuf.
Специализация шаблона класса basic_istream<charT, traits> служит базовым классом для шаблонов классов basic_istringstream и basic_ifstream.
Специализация шаблона класса basic_ostream<charT, traits> служит базовым классом для шаблонов классов basic_ostringstream и basic_ofstream.
Специализация шаблона класса basic_iostream<charT, traits> служит базовым классом для шаблонов классов basic_stringstream и basic_fstream.
Другие typedef-names определяют экземпляры шаблонов классов, специализированных для типовchar или wchar_t.
Типы streampos и wstreampos используются для позиционирования потоков, специализирующихся на char и wchar_t соответственно.
[ Note: Этот синопсис предполагает замкнутость между streampos и char_traits<char>. Реализация может избежать этой замкнутости путем замены эквивалентных типов. Один из способов сделать это может быть
template<class stateT> class fpos { ... }; // depends on nothing using _STATE = ... ; // implementation private declaration of stateT using streampos = fpos<_STATE>; template<> struct char_traits<char> { using pos_type = streampos; }
— end note ]