std::basic_spanbuf
std::basic_spanbuf (고정 버퍼 스트림 버퍼)
연관 문자 시퀀스가 메모리에 있는 임의 문자 시퀀스인 std::basic_streambuf예요. std::span<CharT> 인스턴스로 초기화되거나 그렇게 만들 수 있어요. C++23부터 있어요.
출처: cppreference
본문
<spanstream> 헤더에 정의돼 있어요.
template<
class CharT,
class Traits = std::char_traits<CharT>
> class basic_spanbuf
: public std::basic_streambuf<CharT, Traits>;
std::basic_spanbuf는 연관 문자 시퀀스가 메모리에 있는 임의 문자 시퀀스인 std::basic_streambuf예요. std::span<CharT> 인스턴스로 초기화되거나 그렇게 만들 수 있어요. std::basic_spanbuf는 고정 버퍼에 대해 I/O를 수행하므로, 기반 버퍼가 소진되면 새 버퍼를 얻으려 시도하지 않아요.
공통 문자 타입 typedef
std::spanbuf—std::basic_spanbuf<char>std::wspanbuf—std::basic_spanbuf<wchar_t>
멤버 타입
char_type,traits_type,int_type,pos_type,off_type.
멤버 함수
- (constructor) — spanbuf를 생성해요.
- span — 기본 버퍼의
std::span을 얻거나 설정해요. - underflow / pbackfail / overflow / seekoff / seekpos / setbuf — 버퍼 연산.
예제
#include <spanstream>
#include <iostream>
int main()
{
char buf[64]{};
std::spanbuf sb(std::span<char>(buf));
std::ostream os(&sb);
os << "Hello, spanbuf!";
std::cout << buf << '\n'; // "Hello, spanbuf!"
}