std::basic_ispanstream<CharT,Traits>::span

来自cppreference.com

std::span<const CharT> span() const noexcept;
(1) (C++23 起)
void span( std::span<CharT> s ) noexcept;
(2) (C++23 起)
template< class ROS >
void span( ROS&& r ) noexcept;
(3) (C++23 起)
1) 若包装的 std::basic_spanbuf 的打开模式中设置了 std::ios_base::out ,则获取引用被写入区域的 span ,否则获取引用底层缓冲区的 span
2) 使包装的 std::basic_spanbuf 进行 s 所引用的缓冲区上的 I/O 。
3)(2) ,除了如同通过
std::span<const CharT> cs{std::forward<ROS>(r)};
std::span<CharT> s{const_cast<CharT*>(cs.data()), cs.size()};

获得 s 。此重载只有在 ROS 实现 borrowed_rangestd::convertible_to<ROS, std::span<CharT>>falsestd::convertible_to<ROS, std::span<const CharT>>true 时才会参与重载决议。

参数

s - 引用要用作流的新底层缓冲区的 std::span
r - 要用做流的新底层缓冲区的 borrowed_range

返回值

1) 引用底层缓冲区或已写入区域的 std::span ,取决于包装的 std::basic_spanbuf 的打开模式。
2-3) (无)

示例

参阅

(C++23)
根据模式获得或初始化底层缓冲区
(std::basic_spanbuf<CharT,Traits> 的公开成员函数)