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) |
|
Внутренний расширяемый массив |
|
|
[static] | возвращает уникальный целое число, используемое в качестве индекса для pword() и iword() (публичная статическая член-функция std::ios_base) |
| при необходимости изменяет размер частного хранилища и получает доступ к элементу типа long по указанному индексу (публичный член-функция std::ios_base) |
|
| при необходимости изменяет размер частного хранилища и получает доступ к элементу типа void* по указанному индексу (публичный член-функция std::ios_base) |
|
Разное |
|
| регистрирует функцию обратного вызова события (публичный член-функция std::ios_base) |
|
|
[static] | устанавливает, будут ли C++ и C библиотеки ввода-вывода взаимодействовать (публичная статическая член-функция std::ios_base) |
Вложенные классы |
|
| исключение потока (публичный вложенный класс std::ios_base) |
|
| инициализирует стандартные объекты потоков (публичный вложенный класс std::ios_base) |
|
Типы и константы членов |
|||||||||||||||||||||||||||||||||||||||
| Тип | Объяснение | ||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Тип режима открытия потока Также определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
| тип флагов форматирования Также определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
| тип состояния потока Также определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
| тип направления поиска Также определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
| определяет тип события (enum) |
|||||||||||||||||||||||||||||||||||||||
| тип обратной функции вызова (typedef) |
|||||||||||||||||||||||||||||||||||||||
Примечания
Прямое выполнение std::basic_ios хранит только следующие члены (все из которых зависят от параметров шаблона и, следовательно, не могут быть частью std::ios_base):
- символ заполнения (см.
fill()) - указатель связанного потока (см.
tie()) - указатель связанного буфера потока (см.
rdbuf()).
Фактические реализации различаются:
Microsoft Visual Studio хранит только эти три члена.
LLVM libc++ хранит на 1 член меньше: он сохраняет указатель rdbuf как void* член ios_base.
GNU libstdc++ хранит 4 дополнительных члена: три кэшированных фреймворка и флаг, указывающий, что заполнение было инициализировано.
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_ios