std::basic_spanstream

std::basic_spanstream (고정 버퍼 입출력 스트림)

고정 크기 버퍼 기반 스트림에 대한 입력·출력 연산을 구현하는 클래스 템플릿이에요. C++23부터 있어요.

출처: cppreference

본문

<spanstream> 헤더에 정의돼 있어요.

template<
    class CharT,
    class Traits = std::char_traits<CharT>
> class basic_spanstream
    : public basic_iostream<CharT, Traits>;

클래스 템플릿 std::basic_spanstream은 고정 크기 버퍼 기반 스트림에 대한 입력·출력 연산을 구현해요. 저수준에서는 std::basic_spanbuf의 원시 장치 구현을 std::basic_iostream의 고수준 인터페이스로 감싸요. 고유 std::basic_spanbuf 멤버에 대한 완전한 인터페이스를 제공해요.

공통 문자 타입 typedef

  • std::spanstreamstd::basic_spanstream<char>
  • std::wspanstreamstd::basic_spanstream<wchar_t>

멤버 함수

  • (constructor) — spanstream을 생성해요(선택적으로 span으로 초기화).
  • span — 기본 버퍼의 std::span을 얻거나 설정해요.
  • rdbuf — 기반 spanbuf에 접근해요.
  • operator= — 이동 대입.

예제

#include <spanstream>
#include <iostream>

int main()
{
    char buf[64]{};
    std::spanstream ss(std::span<char>(buf));
    ss << "Hello, spanstream!";
    std::cout << buf << '\n'; // "Hello, spanstream!"
}

더 알아보기 (Learn more)

cppreference