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
并传入当前对象
*
this
中包装的
std::basic_spanbuf
地址以完成安装。
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>
的公开成员函数)
|