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

< cpp‎ | io‎ | basic spanbuf

std::span<CharT> span() const noexcept; | (1) | (C++23 起)
void span( std::span<CharT> s ) noexcept; | (2) | (C++23 起)

1) 若打开模式中设置了 std::ios_base::out 则获取引用被写入区域的 `span` ，否则获取引用底层缓冲区的 `span` 。
2) 使 `basic_spanbuf` 进行 `s` 所引用的缓冲区上的 I/O 。设置指向获取区、放置区或两者的指针。

打开模式中设置的位 （影响指向获取区的指针） | 设置后的返回值
--- | ---
eback() | gptr() | egptr()
std::ios_base::in | s.data() | s.data() | s.data() + s.size()
打开模式中设置的位 （影响指向放置区的指针） | 设置后的返回值
pbase() | pptr() | epptr()
std::ios_base::out && !std::ios_base::ate | s.data() | s.data() | s.data() + s.size()
std::ios_base::out && std::ios_base::ate | s.data() | s.data() + s.size() | s.data() + s.size()

### 参数

s | - | 引用用户提供的缓冲区的 `std::span`

### 返回值

1) 若打开模式中设置了 std::ios_base::out 则为 std::span<CharT>(pbase(), pptr()) ，否则为引用整个底层缓冲区的 std::span<CharT> 。
2) （无）

### 示例

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

### 参阅

str | 替换或获得关联字符串的副本 (`std::basic_stringbuf<CharT,Traits,Allocator>` 的公开成员函数)
view (C++20) | 获得底层字符序列上的视图 (`std::basic_stringbuf<CharT,Traits,Allocator>` 的公开成员函数)
str | 标记缓冲为冻结并返回输入序列的起始指针 (`std::strstreambuf` 的公开成员函数)