Namespaces
Variants

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

From cppreference.net

explicit basic_ispanstream ( std:: span < CharT > s, std:: ios_base :: openmode mode =
std:: ios_base :: in ) ;
(1) (C++23부터)
template < class ROS >
explicit basic_ispanstream ( ROS && r ) ;
(2) (C++23부터)
basic_ispanstream ( basic_ispanstream && rhs ) ;
(3) (C++23부터)
basic_ispanstream ( const basic_ispanstream & ) = delete ;
(4) (C++23부터)

새로운 basic_ispanstream 을 생성합니다.

1) 참조된 저장소 s 를 래핑된 std::basic_spanbuf 장치의 초기 기반 버퍼로 사용합니다. 래핑된 std::basic_spanbuf 객체는 basic_spanbuf < Char, Traits > ( s, mode | std:: ios_base :: in ) 로 생성됩니다.
2) r 이 참조하는 저장소를 std:: span < const CharT > 로 변환한 후, 이를 래핑된 std::basic_spanbuf 장치의 초기 기반 버퍼로 사용합니다. 래핑된 std::basic_spanbuf 객체는 std::ios_base::in 모드로 열립니다. 이 오버로드는 ROS borrowed_range 를 모델링하고, std:: convertible_to < ROS, std:: span < CharT >> false 이며, std:: convertible_to < ROS, std:: span < const CharT >> true 인 경우에만 오버로드 해결에 참여합니다.
3) 이동 생성자. std::basic_istream 기본 하위 객체와 감싸진 std::basic_spanbuf rhs 의 해당 객체들로부터 이동 생성하고, set_rdbuf 를 호출하여 * this 내부의 감싸진 std::basic_spanbuf 주소로 설정합니다.
4) 복사 생성자가 삭제되었습니다. basic_ispanstream 는 복사할 수 없습니다.

목차

매개변수

s - std::span 스트림의 초기 기반 버퍼로 사용할 저장소를 참조하는 객체
r - borrowed_range 스트림의 초기 기반 버퍼로 사용할 범위
mode - 스트림 열기 모드를 지정. 다음 상수들과 이들 간의 비트 OR 연산을 사용할 수 있음:
상수 설명
app 각 쓰기 전에 스트림 끝으로 이동
binary 바이너리 모드 로 열기
in 읽기용으로 열기
out 쓰기용으로 열기
trunc 열 때 스트림 내용을 버림
ate 열자마자 스트림 끝으로 이동
noreplace (C++23) 배타 모드로 열기
other - 이동 생성할 다른 basic_ispanstream 객체

예외

구현에서 정의된 예외를 던질 수 있습니다.

예제

#include <print>
#include <spanstream>
#include <string>
int main()
{
    std::ispanstream is("1 2 3 abc");
    int i, j, k;
    std::string w;
    is >> i >> j >> k >> w;
    std::print("i={}, j={}, k={}, w={}", i, j, k, w);
}

출력:

i=1, j=2, k=3, w=abc

참고 항목

basic_spanbuf 객체를 생성합니다
( std::basic_spanbuf<CharT,Traits> 의 public 멤버 함수)