std::basic_ispanstream<CharT,Traits>::basic_ispanstream
来自cppreference.com
< cpp | io | basic ispanstream
explicit
basic_ispanstream(
std::span<CharT>
s, std::ios_base::openmode
mode =
std::ios_base::in ); |
(1) | (C++23 起) |
template<
class
ROS >
explicit basic_ispanstream( ROS&& r ); |
(2) | (C++23 起) |
basic_ispanstream(
basic_ispanstream&&
rhs );
|
(3) | (C++23 起) |
basic_ispanstream(
const
basic_ispanstream&
) =
delete;
|
(4) | (C++23 起) |
构造新的 basic_ispanstream
。
1) 以
s
所引用的存储为包装的
std::basic_spanbuf 设备的初始底层缓冲区。以 basic_spanbuf<Char, Traits>(s, mode | std::ios_base::in) 构造包装的 std::basic_spanbuf 对象。2) 以
r
转换到 std::span<const CharT>
后所引用的存储为包装的 std::basic_spanbuf 设备的初始底层缓冲区。以模式
std::ios_base::in
打开包装的 std::basic_spanbuf 对象。此重载只有在
ROS
实现 borrowed_range
, std::convertible_to<ROS, std::span<CharT>> 为
false 且 std::convertible_to<ROS, std::span<const CharT>> 为
true时才会参与重载决议 。
3) 移动构造函数。从
rhs
的
std::basic_istream
基类子对象和包装的 std::basic_spanbuf 移动构造对应的子对象,然后以
*this 中包装的
std::basic_spanbuf 的地址调用 set_rdbuf
以安装它。4) 复制构造函数被删除。
basic_ispanstream
不可复制。参数
s | - | 引用要作为流的初始底层缓冲区的存储的 std::span | ||||||||||||||||
r | - | 要用作流的初始底层缓冲区的 borrowed_range
|
||||||||||||||||
mode | - | 指定打开模式。可以用下列常量或它们之间的逐位或:
|
||||||||||||||||
other | - | 要移动的另一 basic_ispanstream
|
异常
可能会抛出由实现定义的异常。
示例
本节未完成 原因:暂无示例 |
参阅
(C++23)
|
构造 basic_spanbuf 对象 ( std::basic_spanbuf<CharT,Traits>
的公开成员函数) |