std::basic_ios
Определён в заголовочном файле <ios> | ||
|---|---|---|
template<
class CharT,
class Traits = std::char_traits<CharT>
> class basic_ios
: public std::ios_base
|
Класс std::basic_ios предоставляет средства для взаимодействия с объектами, имеющими интерфейс std::basic_streambuf. Несколько объектов std::basic_ios могут ссылаться на один фактический объект std::basic_streambuf.
Диаграмма наследования
Предоставлены несколько псевдонимов типов для распространённых типов символов:
Определены в заголовочном файле <ios> |
|
|---|---|
| Тип | Определение |
std::ios | std::basic_ios<char> |
std::wios | std::basic_ios<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 |
Открытые функции-члены
| создаёт объект (открытая функция-член) |
|
|
[виртуальная] | уничтожает объект (виртуальная открытая функция-член) |
|
operator= | оператор копирующего присваивания удалён (открытая функция-член) |
Функции состояния |
|
| проверяет, не произошла ли ошибка, то есть доступны ли операции ввода-вывода (открытая функция-член) |
|
| проверяет, достигнут ли конец файла (открытая функция-член) |
|
| проверяет, произошла ли ошибка (открытая функция-член) |
|
| проверяет, произошла ли неустранимая ошибка (открытая функция-член) |
|
проверяет, произошла ли ошибка (синоним fail()) (открытая функция-член) |
|
проверяет, не произошла ли ошибка (синоним !fail()) (открытая функция-член) |
|
| возвращает флаги состояния (открытая функция-член) |
|
| устанавливает флаги состояния (открытая функция-член) |
|
| изменяет флаги состояния (открытая функция-член) |
|
Форматирование |
|
| копирует сведения о форматировании (открытая функция-член) |
|
| управляет символом заполнения (открытая функция-член) |
|
Прочее |
|
| управляет маской исключений (открытая функция-член) |
|
| задаёт локаль (открытая функция-член) |
|
| управляет связанным буфером потока (открытая функция-член) |
|
| управляет связанным потоком (открытая функция-член) |
|
| сужает символы (открытая функция-член) |
|
| расширяет символы (открытая функция-член) |
|
Защищённые функции-члены
инициализирует объект std::basic_ios, созданный конструктором по умолчанию (защищённая функция-член) |
|
|
(C++11) | перемещает данные из другого объекта std::basic_ios, за исключением rdbuf (защищённая функция-член) |
|
(C++11) | меняется данными с другим объектом std::basic_ios, за исключением rdbuf (защищённая функция-член) |
заменяет rdbuf, не сбрасывая его состояние ошибки (защищённая функция-член) |
Унаследовано от 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) |
|
Типы-члены и константы |
|||||||||||||||||||||||||||||||||||||||
| Тип | Описание | ||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| тип режима открытия потока
(псевдоним типа) |
|||||||||||||||||||||||||||||||||||||||
| тип флагов форматирования Также определены следующие константы:
(псевдоним типа) |
|||||||||||||||||||||||||||||||||||||||
| тип состояния потока Также определены следующие константы:
(псевдоним типа) |
|||||||||||||||||||||||||||||||||||||||
| тип направления перемещения Также определены следующие константы:
(псевдоним типа) |
|||||||||||||||||||||||||||||||||||||||
| задаёт тип события (перечисление) |
|||||||||||||||||||||||||||||||||||||||
| тип функции обратного вызова (псевдоним типа) |
|||||||||||||||||||||||||||||||||||||||
Примечания
Простая реализация std::basic_ios хранит только следующие члены (все они зависят от параметров шаблона и поэтому не могут быть частью std::ios_base):
- символ заполнения (см.
fill()) - указатель на связанный поток (см.
tie()) - указатель на связанный буфер потока (см.
rdbuf()).
Реальные реализации различаются:
Microsoft Visual Studio хранит только эти три члена.
LLVM libc++ хранит на один член меньше: он хранит указатель rdbuf как член типа void* в ios_base.
GNU libstdc++ хранит ещё 4 члена: три кэшированных фасета и флаг, указывающий, что символ заполнения был инициализирован.
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/basic_ios