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

来自cppreference.com
< 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) (无)

示例

参阅

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