std::ios_base
Определено в заголовочном файле <ios> | ||
|---|---|---|
class ios_base; |
Класс ios_base — это многоцелевой класс, который служит базовым классом для всех классов потоков ввода-вывода. Он хранит несколько типов данных:
long, так и члены void*, которые могут быть реализованы в виде двух массивов произвольной длины или одного массива структур с двумя элементами, или другого контейнера.imbue(), std::basic_ios::copyfmt(), и ~ios_base().Типичная реализация содержит константы-члены, соответствующие всем значениям fmtflags, iostate, openmode и seekdir, показанные ниже, переменные-члены для хранения текущей точности, ширины и флагов форматирования, маски исключений, состояния ошибки буфера, изменяемого контейнера, хранящего обратные вызовы, текущей заданной локали, приватного хранилища и статической целочисленной переменной для xalloc().
Члены-функции
| создаёт объект (защищённая функция-член) |
|
|
[виртуальный] | уничтожает объект (виртуальная публичная функция-член) |
| присваивает потоку (публичная функция-член) |
|
Форматирование |
|
| управляет флагами форматирования (публичная функция-член) |
|
| устанавливает определённый флаг форматирования (публичная функция-член) |
|
| сбрасывает определённый флаг форматирования (публичная функция-член) |
|
| управляет десятичной точностью операций с плавающей запятой (публичная функция-член) |
|
| управляет шириной поля (публичная функция-член) |
|
Локали |
|
| устанавливает локаль (публичная функция-член) |
|
| возвращает текущую локаль (публичная функция-член) |
|
Внутренний расширяемый массив |
|
|
[статический] | возвращает уникальное целочисленное значение, которое безопасно использовать в качестве индекса для pword() и iword() (публичная статическая функция-член) |
| при необходимости изменяет размер приватного хранилища и обеспечивает доступ к элементу типа long по заданному индексу (публичная функция-член) |
|
| при необходимости изменяет размер приватного хранилища и обеспечивает доступ к элементу типа void* по заданному индексу (публичная функция-член) |
|
Разное |
|
| регистрирует функцию обратного вызова события (публичная функция-член) |
|
|
[статический] | устанавливает, будут ли библиотеки C++ и C ввода-вывода взаимодействовать (публичная статическая функция-член) |
Вложенные классы |
|
| исключение потока (публичный вложенный класс) |
|
| инициализирует стандартные объекты потоков (публичный вложенный класс) |
|
Типы и константы членов |
|||||||||||||||||||||||||||||||||||||||
| Тип | Объяснение | ||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Тип режима открытия потока Также определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
| Тип флагов форматирования Также определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
| Тип состояния потока Также определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
| Тип направления поиска Также определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
| Указывает тип события (перечисление) |
|||||||||||||||||||||||||||||||||||||||
| Тип обратного вызова функции (typedef) |
|||||||||||||||||||||||||||||||||||||||
| (до C++17) | ||||||||||||||
Отчёты об ошибках
Следующие отчёты об ошибках, меняющие поведение, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применимо к | Поведение как опубликовано | Правильное поведение |
|---|---|---|---|
|
LWG 1357 (N3110) | C++98 |
std::ios_base определённые оператор ~, оператор&и оператор| для типов openmode, fmtflags иiostate, нарушая требования BitmaskType[1] | удалены эти определения |
- Тип BitmaskType должен поддерживать побитовые операции самостоятельно. Внешняя поддержка побитовых операций не должна предоставляться.
См. также
| управляет произвольным буфером потока (шаблон класса) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/ios_base