std::basic_ospanstream<CharT,Traits>:: basic_ospanstream
From cppreference.net
<
cpp
|
io
|
basic ospanstream
|
explicit
basic_ospanstream
(
std::
span
<
CharT
>
s,
std::
ios_base
::
openmode
mode
=
std:: ios_base :: out ) ; |
(1) | (начиная с C++23) |
|
basic_ospanstream
(
basic_ospanstream
&&
rhs
)
;
|
(2) | (начиная с C++23) |
|
basic_ospanstream
(
const
basic_ospanstream
&
)
=
delete
;
|
(3) | (начиная с C++23) |
Создает новый
basic_ospanstream
.
1)
Использует хранилище, на которое ссылается
s
, в качестве начального внутреннего буфера обёрнутого устройства
std::basic_spanbuf
. Обёрнутый объект
std::basic_spanbuf
конструируется как
basic_spanbuf
<
Char, Traits
>
(
s, mode
|
std::
ios_base
::
out
)
.
2)
Конструктор перемещения. Перемещающее конструирует базовый подобъект
std::basic_ostream
и обёрнутый объект
std::basic_spanbuf
из соответствующих объектов
rhs
, после чего вызывает
set_rdbuf
с адресом обёрнутого
std::basic_spanbuf
в
*
this
для его установки.
3)
Конструктор копирования удален.
basic_ospanstream
не поддерживает копирование.
Содержание |
Параметры
| s | - | std::span ссылающийся на хранилище, которое будет использоваться в качестве начального базового буфера потока | ||||||||||||||||
| mode | - |
определяет режим открытия потока. Могут использоваться следующие константы и их побитовое ИЛИ:
|
||||||||||||||||
| other | - |
другой
basic_ospanstream
для перемещения
|
Исключения
Может выбрасывать исключения, определяемые реализацией.
Пример
Запустить этот код
#include <array> #include <iostream> #include <spanstream> int main() { std::array<char, 10> buffer; std::ospanstream os(buffer); os << "i=" << 1 << " j=" << 2 << '\n' << std::ends; std::cout << buffer.data(); }
Вывод:
i=1 j=2
Смотрите также
создаёт объект
basic_spanbuf
(публичная функция-член
std::basic_spanbuf<CharT,Traits>
)
|