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