ranges_basic_istream_view

ranges_basic_istream_view (입력 스트림 뷰)

std::ranges::basic_istream_view은 기반 입력 스트림에서 반복적으로 값을 추출해 생성하는 input_range 뷰예요. C++20부터 사용할 수 있어요.

출처: cppreference

본문

<ranges> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.

template< std::movable Val, class CharT,
          class Traits = std::char_traits<CharT> >
    requires std::default_initializable<Val> &&
             /*stream-extractable*/<Val, CharT, Traits>
class basic_istream_view
    : public ranges::view_interface<basic_istream_view<Val, CharT, Traits>>

(1) (since C++20)

    1. 기반 입력 스트림에서 Val 타입 값을 반복 추출해 생성하는 input_range 뷰. 기본 생성된 뷰는 끝-시퀀스 반복자를 표현해요.

멤버 함수 (Member functions)

  • (constructor) — istream 뷰 생성
  • begin — 첫 번째 값을 읽고 반복자 반환 (뷰가 끝이 아니면)
  • end — std::default_sentinel 반환

예제 (Example)

이 코드를 실행해 봐요.

#include <ranges>
#include <sstream>
#include <iostream>

int main()
{
    std::istringstream iss("10 20 30");
    for (int x : std::views::istream<int>(iss))
        std::cout << x << ' '; // 10 20 30
}

참고 (Notes)

views::istream<T>(stream)로 생성해요. 널/구분된 값들을 스트림에서 읽어 범위처럼 순회할 수 있어요.

더 알아보기 (Learn more)

cppreference