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> 的公开成员函数) |