Spec-Zone.ru › C++

std::basic_ospanstream

Определено в заголовке <spanstream>
template<
    class CharT,
    class Traits = std::char_traits<CharT>
> class basic_ospanstream
    : public basic_ostream<CharT, Traits>
(с C++23)

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

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

cpp/io/ios base cpp/io/basic ios cpp/io/basic ostreamstd-basic ospanstream-inheritance.svg

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

Предоставляются несколько определений типов для общих типов символов:

Определено в заголовке <spanstream>
Тип Определение
std::ospanstream std::basic_ospanstream<char>
std::wospanstream std::basic_ospanstream<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_ospanstream
(публичная функция-член)
(деструктор)
[virtual] (C++23)
Разрушает basic_ospanstream
(виртуальная публичная функция-член)
operator=
(C++23)
Перемещающая присваивания basic_ospanstream
(публичная функция-член)
swap
(C++23)
Меняет местами два объекта basic_ospanstream
(публичная функция-член)
rdbuf
(C++23)
Получает адрес обернутого необработанного устройства span
(публичная функция-член)
Операции с базовым буфером
span
(C++23)
Получает или устанавливает базовый буфер обернутого span устройства
(публичная функция-член)

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

std::swap(std::basic_ospanstream)
(C++23)
Специализирует алгоритм std::swap
(шаблон функции)

Наследуется от std::basic_ostream

Члены-функции

Форматированный вывод
operator<<
Вставляет форматированные данные
(публичная функция-член std::basic_ostream<CharT,Traits>)
Неформатированный вывод
put
Вставляет символ
(публичная функция-член std::basic_ostream<CharT,Traits>)
write
Вставляет блоки символов
(публичная функция-член std::basic_ostream<CharT,Traits>)
Позиционирование
tellp
Возвращает указатель позиции вывода
(публичная функция-член std::basic_ostream<CharT,Traits>)
seekp
Устанавливает указатель позиции вывода
(публичная функция-член std::basic_ostream<CharT,Traits>)
Разное
flush
Синхронизируется с базовым устройством хранения
(публичная функция-член std::basic_ostream<CharT,Traits>)

Члены-классы

sentry
Реализует базовый алгоритм подготовки потока для операций вывода
(публичный класс-член 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

Члены-функции

Функции состояния
good
проверяет, не возникла ли ошибка, т.е. доступны операции ввода-вывода
(общедоступная функция-член std::basic_ios<CharT,Traits>)
eof
проверяет, достигнут ли конец файла
(общедоступная функция-член std::basic_ios<CharT,Traits>)
fail
проверяет, возникла ли ошибка
(общедоступная функция-член std::basic_ios<CharT,Traits>)
bad
проверяет, возникла ли неисправимая ошибка
(общедоступная функция-член std::basic_ios<CharT,Traits>)
operator!
проверяет, возникла ли ошибка (синоним fail())
(общедоступная функция-член std::basic_ios<CharT,Traits>)
operator bool
проверяет, не возникла ли ошибка (синоним !fail())
(общедоступная функция-член std::basic_ios<CharT,Traits>)
rdstate
возвращает флаги состояния
(общедоступная функция-член std::basic_ios<CharT,Traits>)
setstate
устанавливает флаги состояния
(общедоступная функция-член std::basic_ios<CharT,Traits>)
clear
изменяет флаги состояния
(общедоступная функция-член std::basic_ios<CharT,Traits>)
Форматирование
copyfmt
копирует информацию о форматировании
(общедоступная функция-член std::basic_ios<CharT,Traits>)
fill
управляет символом заполнения
(общедоступная функция-член std::basic_ios<CharT,Traits>)
Разное
exceptions
управляет маской исключений
(общедоступная функция-член std::basic_ios<CharT,Traits>)
imbue
устанавливает локаль
(общедоступная функция-член std::basic_ios<CharT,Traits>)
rdbuf
управляет связанным буфером потока
(общедоступная функция-член std::basic_ios<CharT,Traits>)
tie
управляет связанным потоком
(общедоступная функция-член std::basic_ios<CharT,Traits>)
narrow
сужает символы
(общедоступная функция-член std::basic_ios<CharT,Traits>)
widen
расширяет символы
(общедоступная функция-член std::basic_ios<CharT,Traits>)

Наследуется от std::ios_base

Члены-функции

Форматирование
flags
управляет флагами формата
(общедоступная функция-член std::ios_base)
setf
устанавливает определённый флаг формата
(общедоступная функция-член std::ios_base)
unsetf
сбрасывает определённый флаг формата
(общедоступная функция-член std::ios_base)
precision
управляет десятичной точностью операций с плавающей точкой
(общедоступная функция-член std::ios_base)
width
управляет шириной поля
(общедоступная функция-член std::ios_base)
Локали
imbue
устанавливает локаль
(общедоступная функция-член std::ios_base)
getloc
возвращает текущую локаль
(общедоступная функция-член std::ios_base)
Внутренний расширяемый массив
xalloc
[static]
возвращает уникальное целое число, безопасное для использования в качестве индекса для pword() и iword()
(общедоступная статическая функция-член std::ios_base)
iword
при необходимости перераспределяет частное хранилище и обеспечивает доступ к элементу типа long по заданному индексу
(общедоступная функция-член std::ios_base)
pword
при необходимости перераспределяет частное хранилище и обеспечивает доступ к элементу типа void* по заданному индексу
(общедоступная функция-член std::ios_base)
Разное
register_callback
регистрирует функцию обратного вызова события
(общедоступная функция-член std::ios_base)
sync_with_stdio
[static]
устанавливает, взаимодействуют ли библиотеки C++ и C ввода-вывода
(общедоступная статическая функция-член std::ios_base)
Вложенные классы
failure
исключение потока
(общедоступный вложенный класс std::ios_base)
Init
инициализирует стандартные объекты потоков
(общедоступный вложенный класс std::ios_base)

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

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

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

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

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

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

Константа Объяснение
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)
iostate
Тип состояния потока

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

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

(typedef)
seekdir
Тип направления поиска

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

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

(typedef)
event
Указывает тип события
(перечисление)
event_callback
Тип обратной функции-обработчика событий
(typedef)

Примечания

Макрос проверки наличия функции Значение Std Функция
__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_ospanstream

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API