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