Namespaces
Variants

std:: basic_spanstream

From cppreference.net
< cpp ‎ | io
Определено в заголовочном файле <spanstream>
template <

class CharT,
class Traits = std:: char_traits < CharT >
> class basic_spanstream

: public basic_iostream < CharT, Traits >
(начиная с C++23)

Шаблон класса std::basic_spanstream реализует операции ввода и вывода для потоков, основанных на фиксированных буферах.

На низком уровне класс по сути оборачивает необработанную реализацию устройства std::basic_spanbuf в высокоуровневый интерфейс std::basic_iostream . Предоставляется полный интерфейс к уникальным членам std::basic_spanbuf .

cpp/io/ios base cpp/io/basic ios cpp/io/basic istream cpp/io/basic ostream cpp/io/basic iostream std-basic spanstream-inheritance.svg

Диаграмма наследования

Предоставлены несколько typedef для распространённых символьных типов:

Определено в заголовке <spanstream>
Тип Определение
std::spanstream std :: basic_spanstream < char >
std::wspanstream std :: basic_spanstream < 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 .
( объект-член только для демонстрации* )

Функции-члены

создает объект basic_spanstream
(public member function)
(destructor)
[virtual]
уничтожает объект basic_spanstream
(virtual public member function)
перемещающее присваивание для basic_spanstream
(public member function)
обменивает два объекта basic_spanstream
(public member function)
получает адрес обернутого объекта span устройства
(public member function)
Операции с базовым буфером
получает или устанавливает базовый буфер обернутого объекта span устройства
(public member function)

Функции, не являющиеся членами класса

специализирует алгоритм 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_ostream

Функции-члены

Форматированный вывод
вставляет форматированные данные
(публичная функция-член std::basic_ostream<CharT,Traits> )
Неформатированный вывод
вставляет символ
(публичная функция-член std::basic_ostream<CharT,Traits> )
вставляет блоки символов
(публичная функция-член std::basic_ostream<CharT,Traits> )
Позиционирование
возвращает индикатор позиции вывода
(публичная функция-член std::basic_ostream<CharT,Traits> )
устанавливает индикатор позиции вывода
(публичная функция-член std::basic_ostream<CharT,Traits> )
Прочие функции
синхронизирует с базовым устройством хранения
(публичная функция-член std::basic_ostream<CharT,Traits> )

Классы-члены

реализует базовую логику подготовки потока к операциям вывода
(публичный класс-член std::basic_ostream<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 )
устанавливает, являются ли библиотеки ввода-вывода C++ и C взаимосовместимыми
(публичная статическая функция-член std::ios_base )
Классы-члены
исключение потока
(публичный класс-член std::ios_base )
инициализирует объекты стандартных потоков
(публичный класс-член std::ios_base )

Типы членов и константы

Тип Объяснение
тип режима открытия потока

Также определены следующие константы:

Константа Объяснение
app переход в конец потока перед каждой записью
binary открытие в бинарном режиме
in открытие для чтения
out открытие для записи
trunc удаление содержимого потока при открытии
ate переход в конец потока сразу после открытия
noreplace (C++23) открытие в эксклюзивном режиме

(typedef)
тип флагов форматирования

Также определены следующие константы:

Константа Объяснение
dec использование десятичной системы счисления для целочисленного ввода/вывода: см. std::dec
oct использование восьмеричной системы счисления для целочисленного ввода/вывода: см. std::oct
hex использование шестнадцатеричной системы счисления для целочисленного ввода/вывода: см. std::hex
basefield dec | oct | hex . Полезно для операций маскирования
left выравнивание по левому краю (добавляет символы заполнения справа): см. std::left
right выравнивание по правому краю (добавляет символы заполнения слева): см. std::right
internal внутреннее выравнивание (добавляет символы заполнения во внутреннюю указанную точку): см. std::internal
adjustfield left | right | internal . Полезно для операций маскирования
scientific генерация чисел с плавающей точкой в научной нотации, или шестнадцатеричной нотации при комбинации с fixed : см. std::scientific
fixed генерация чисел с плавающей точкой в фиксированной нотации, или шестнадцатеричной нотации при комбинации с scientific : см. std::fixed
floatfield scientific | fixed . Полезно для операций маскирования
boolalpha вставка и извлечение типа bool в алфавитно-цифровом формате: см. std::boolalpha
showbase генерация префикса, указывающего систему счисления для целочисленного вывода, требование индикатора валюты в денежном вводе/выводе: см. std::showbase
showpoint безусловная генерация символа десятичной точки для вывода чисел с плавающей точкой: см. std::showpoint
showpos генерация символа + для неотрицательного числового вывода: см. std::showpos
skipws пропуск начальных пробельных символов перед определенными операциями ввода: см. std::skipws
unitbuf сброс буфера вывода после каждой операции вывода: см. std::unitbuf
uppercase замена определенных строчных букв их эквивалентами в верхнем регистре в определенных операциях вывода: см. std::uppercase

(typedef)
тип состояния потока

Также определены следующие константы:

Константа Объяснение
goodbit нет ошибки
badbit неустранимая ошибка потока
failbit ошибка операции ввода/вывода (ошибка форматирования или извлечения)
eofbit достигнут конец файла в связанной входной последовательности

(typedef)
тип направления позиционирования

Также определены следующие константы:

Константа Объяснение
beg начало потока
end конец потока
cur текущая позиция указателя позиции потока

(typedef)
определяет тип события
(enum)
тип функции обратного вызова
(typedef)

Примечания

Макрос тестирования возможностей Значение Стандарт Функция
__cpp_lib_spanstream 202106L (C++23) std::spanbuf , std::spanstream