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

< cpp‎ | io‎ | basic ispanstream

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_range` ， std::convertible_to<ROS, std::span<CharT>> 为 false 而 std::convertible_to<ROS, std::span<const CharT>> 为 true 才参与重载决议。

### 参数

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

### 返回值

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

### 示例

| 本节未完成 原因：暂无示例

### 参阅

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