std::basic_iostream
Определено в заголовке <istream> | ||
|---|---|---|
template<
class CharT,
class Traits = std::char_traits<CharT>
> class basic_iostream :
public basic_istream<CharT, Traits>,
public basic_ostream<CharT, Traits>
|
Шаблон класса basic_iostream обеспечивает поддержку операций ввода/вывода высокого уровня для потоков. Поддерживаемые операции включают последовательный чтение или запись и форматирование. Данная функциональность реализована поверх интерфейса, предоставляемого классом std::basic_streambuf. К нему осуществляется доступ через класс std::basic_ios.
Диаграмма наследования
Предоставляются несколько определений типов для общих типов символов:
Определено в заголовке <istream> |
|
|---|---|
| Тип | Определение |
std::iostream | std::basic_iostream<char> |
std::wiostream | std::basic_iostream<wchar_t> |
Типы членов
| Тип члена | Определение |
|---|---|
char_type | CharT |
traits_type | Traits; программа некорректна, если Traits::char_type не является CharT. |
int_type | Traits::int_type |
pos_type | Traits::pos_type |
off_type | Traits::off_type |
Члены-функции
| создаёт объект (публичный член-функция) |
|
|
[виртуальный] | уничтожает объект (виртуальная публичная член-функция) |
Защищённые члены-функции
|
(C++11) | выполняет перемещающее присваивание другому basic_iostream (защищённый член-функция) |
|
(C++11) | обменивает состояние с другим basic_iostream (публичный член-функция) |
Наследованно от std::basic_istream
Члены-функции
Форматированный ввод |
|
| извлекает форматированные данные (публичный член-функция std::basic_istream<CharT,Traits>) |
|
Неформатированный ввод |
|
| извлекает символы (публичный член-функция std::basic_istream<CharT,Traits>) |
|
| считывает следующий символ без его извлечения (публичный член-функция std::basic_istream<CharT,Traits>) |
|
| отменяет извлечение символа (публичный член-функция std::basic_istream<CharT,Traits>) |
|
| помещает символ в поток ввода (публичный член-функция std::basic_istream<CharT,Traits>) |
|
| извлекает символы до тех пор, пока не встретится заданный символ (публичный член-функция std::basic_istream<CharT,Traits>) |
|
| извлекает и игнорирует символы до тех пор, пока не встретится заданный символ (публичный член-функция std::basic_istream<CharT,Traits>) |
|
| извлекает блоки символов (публичный член-функция std::basic_istream<CharT,Traits>) |
|
| извлекает уже доступные блоки символов (публичный член-функция std::basic_istream<CharT,Traits>) |
|
| возвращает количество извлечённых символов последней операцией неформатированного ввода (публичный член-функция std::basic_istream<CharT,Traits>) |
|
Позиционирование |
|
| возвращает указатель позиции ввода (публичный член-функция std::basic_istream<CharT,Traits>) |
|
| устанавливает указатель позиции ввода (публичный член-функция std::basic_istream<CharT,Traits>) |
|
Разное |
|
| синхронизирует с основным устройством хранения данных (публичный член-функция std::basic_istream<CharT,Traits>) |
|
Члены-классы
| реализует базовый логику подготовки потока к операциям ввода (публичный член-класс std::basic_istream<CharT,Traits>) |
Наследуется от std::basic_ostream
Члены-функции
Форматированный вывод |
|
| вставляет отформатированные данные (общедоступная функция-член std::basic_ostream<CharT,Traits>) |
|
Неформатированный вывод |
|
| вставляет символ (общедоступная функция-член std::basic_ostream<CharT,Traits>) |
|
| вставляет блоки символов (общедоступная функция-член std::basic_ostream<CharT,Traits>) |
|
Размещение |
|
| возвращает указатель на позицию вывода (общедоступная функция-член std::basic_ostream<CharT,Traits>) |
|
| устанавливает указатель на позицию вывода (общедоступная функция-член std::basic_ostream<CharT,Traits>) |
|
Разное |
|
| синхронизирует с базовым устройством хранения данных (общедоступная функция-член std::basic_ostream<CharT,Traits>) |
|
Вложенные классы
| реализует базовые логические операции подготовки потока к операциям вывода (общедоступный вложенный класс std::basic_ostream<CharT,Traits>) |
Наследуется от std::basic_ios
Типы членов
| Тип члена | Определение |
|---|---|
char_type | CharT |
traits_type | Traits |
int_type | Traits::int_type |
pos_type | Traits::pos_type |
off_type | Traits::off_type |
Члены-функции
Функции состояния |
|
| проверяет, не произошла ли ошибка, т.е. операции ввода/вывода доступны (общедоступная функция-член std::basic_ios<CharT,Traits>) |
|
| проверяет, достигнут ли конец файла (общедоступная функция-член std::basic_ios<CharT,Traits>) |
|
| проверяет, произошла ли ошибка (общедоступная функция-член std::basic_ios<CharT,Traits>) |
|
| проверяет, произошла ли невосстановимая ошибка (общедоступная функция-член std::basic_ios<CharT,Traits>) |
|
проверяет, произошла ли ошибка (синоним fail()) (общедоступная функция-член std::basic_ios<CharT,Traits>) |
|
проверяет, не произошла ли ошибка (синоним !fail()) (общедоступная функция-член std::basic_ios<CharT,Traits>) |
|
| возвращает флаги состояния (общедоступная функция-член std::basic_ios<CharT,Traits>) |
|
| устанавливает флаги состояния (общедоступная функция-член std::basic_ios<CharT,Traits>) |
|
| изменяет флаги состояния (общедоступная функция-член std::basic_ios<CharT,Traits>) |
|
Форматирование |
|
| копирует информацию о форматировании (общедоступная функция-член std::basic_ios<CharT,Traits>) |
|
| управляет символом заполнения (общедоступная функция-член std::basic_ios<CharT,Traits>) |
|
Разное |
|
| управляет маской исключений (общедоступная функция-член std::basic_ios<CharT,Traits>) |
|
| устанавливает локаль (общедоступная функция-член std::basic_ios<CharT,Traits>) |
|
| управляет ассоциированным буфером потока (общедоступная функция-член std::basic_ios<CharT,Traits>) |
|
| управляет связанным потоком (общедоступная функция-член std::basic_ios<CharT,Traits>) |
|
| сужает символы (общедоступная функция-член std::basic_ios<CharT,Traits>) |
|
| расширяет символы (общедоступная функция-член std::basic_ios<CharT,Traits>) |
|
Унаследованно от std::ios_base
Члены-функции
Форматирование |
|
| управляет флагами форматирования (публичная функция-член std::ios_base) |
|
| устанавливает определённый флаг форматирования (публичная функция-член std::ios_base) |
|
| сбрасывает определённый флаг форматирования (публичная функция-член std::ios_base) |
|
| управляет точностью десятичных знаков для операций с плавающей точкой (публичная функция-член std::ios_base) |
|
| управляет шириной поля (публичная функция-член std::ios_base) |
|
Локали |
|
| устанавливает локаль (публичная функция-член std::ios_base) |
|
| возвращает текущую локаль (публичная функция-член std::ios_base) |
|
Внутренний расширяемый массив |
|
|
[статическая] | возвращает уникальный целое число, используемое в качестве индекса к pword() и iword() (публичная статическая функция-член std::ios_base) |
| если необходимо, изменяет размер приватного хранилища и обеспечивает доступ к элементу типа long по указанному индексу (публичная функция-член std::ios_base) |
|
| если необходимо, изменяет размер приватного хранилища и обеспечивает доступ к элементу типа void* по указанному индексу (публичная функция-член std::ios_base) |
|
Разное |
|
| регистрирует функцию обратного вызова событий (публичная функция-член std::ios_base) |
|
|
[статическая] | устанавливает, будут ли C++ и C библиотеки ввода-вывода взаимодействовать (публичная статическая функция-член std::ios_base) |
Вложенные классы |
|
| исключение потока (публичный вложенный класс std::ios_base) |
|
| инициализирует стандартные объекты потоков (публичный вложенный класс std::ios_base) |
|
Типы и константы членов |
|||||||||||||||||||||||||||||||||||||||
| Тип | Объяснение | ||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Тип режима открытия потока Также определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
| Тип флагов форматирования Также определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
| Тип состояния потока Также определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
| Тип направления поиска Также определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
| Указывает тип события (перечисление) |
|||||||||||||||||||||||||||||||||||||||
| Тип обратного вызова функции (typedef) |
|||||||||||||||||||||||||||||||||||||||
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применён к | Поведение, как опубликовано | Корректное поведение |
|---|---|---|---|
| LWG 271 | C++98 | типы членов char_type, traits_type, int_type, pos_type и off_type не были определены( std::basic_istream и std::basic_ostream оба определяют эти типы, что приводило к неоднозначности) | определение этих типов |
См. также
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_iostream