std::basic_ispanstream
Определено в заголовке <spanstream> | ||
|---|---|---|
template<
class CharT,
class Traits = std::char_traits<CharT>
> class basic_ispanstream
: public basic_istream<CharT, Traits>
| (с C++23) |
Шаблон класса std::basic_ispanstream реализует операции ввода для потоков, основанных на фиксированных буферах.
На низком уровне класс по существу оборачивает реализацию исходного устройства std::basic_spanbuf в интерфейс более высокого уровня std::basic_istream. Предоставляется полный интерфейс для уникальных std::basic_spanbuf членов.
Диаграмма наследования
Предоставляются несколько определений типов для общих типов символов:
Определено в заголовке <spanstream> |
|
|---|---|
| Тип | Определение |
std::ispanstream | std::basic_ispanstream<char> |
std::wispanstream | std::basic_ispanstream<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 |
Члены данных
| Член объекта | Определение |
|---|---|
sb (private) | Оборачиваемый std::basic_spanbuf.(член объекта, только для иллюстрации*) |
Члены-функции
|
(C++23) | создаёт basic_ispanstream (публичный член-функция) |
| (деструктор)
[virtual] (C++23) | уничтожает basic_ispanstream (виртуальная публичная член-функция) |
|
(C++23) | выполняет присваивание по ссылке basic_ispanstream (публичный член-функция) |
|
(C++23) | обменивает двумя basic_ispanstream объектами (публичный член-функция) |
|
(C++23) | получает адрес обернутого сырого span устройства (публичный член-функция) |
Операции с базовым буфером |
|
|
(C++23) | получает или устанавливает базовый буфер обернутого span устройства (публичный член-функция) |
Функции, не являющиеся членами
|
(C++23) | специализация алгоритма std::swap (шаблон функции) |
Наследуется от 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_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) |
|
Внутренний расширяемый массив |
|
|
[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) |
|||||||||||||||||||||||||||||||||||||||
| Указывает тип события (перечисление) |
|||||||||||||||||||||||||||||||||||||||
| Тип обратного вызова функции (typedef) |
|||||||||||||||||||||||||||||||||||||||
Примечания
| Макрокоманда проверки наличия функции | Значение | Стандарт | Функция |
|---|---|---|---|
__cpp_lib_spanstream | 202106L | (C++23) |
std::spanbuf, std::spanstream |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_ispanstream