std::basic_spanstream<CharT,Traits>::basic_spanstream

来自cppreference.com
< cpp‎ | io‎ | basic spanstream

explicit basic_spanstream( std::span<CharT> s, std::ios_base::openmode mode =
                               std::ios_base::in | std::ios_base::out );
(1) (C++23 起)
basic_spanstream( basic_spanstream&& rhs );
(2) (C++23 起)
basic_spanstream( const basic_spanstream& ) = delete;
(3) (C++23 起)

构造新的 basic_spanstream

1)s 所引用的存储为包装的 std::basic_spanbuf 设备的初始底层缓冲区。以 basic_spanbuf<Char, Traits>(s, mode) 构造包装的 std::basic_spanbuf 对象。
2) 移动构造函数。从 rhsstd::basic_iostream 基类子对象和包装的 std::basic_spanbuf 移动构造对应的子对象,然后以 *this 中包装的 std::basic_spanbuf 的地址调用 set_rdbuf 以安装它。
3) 复制构造函数被删除。 basic_spanstream 不可复制。

参数

s - 引用要作为流的初始底层缓冲区的存储的 std::span
mode - 指定打开模式。可以用下列常量或它们之间的逐位或:
常量 解释
app 每次写入前寻位到流结尾
binary 二进制模式打开
in 为读打开
out 为写打开
trunc 在打开时舍弃流的内容
ate 打开后立即寻位到流结尾
noreplace (C++23) 以独占模式打开
other - 要移动的另一 basic_spanstream

异常

可能会抛出由实现定义的异常。

示例

参阅

构造 basic_spanbuf 对象
(std::basic_spanbuf<CharT,Traits> 的公开成员函数)