ranges_elements_view

ranges_elements_view (요소 뷰)

std::ranges::elements_view은 튜플형 값(예: std::tuple, std::pair)의 뷰를 받아, 각 요소의 N번째 성분만 생성하는 뷰를 만드는 뷰 어댑터예요. C++20부터 사용할 수 있어요.

출처: cppreference

본문

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

template< ranges::input_range V, std::size_t N >
    requires ranges::view<V> &&
             /*has-tuple-element*/<ranges::range_value_t<V>, N> &&
             /*has-tuple-element*/<std::remove_reference_t<
                                       ranges::range_reference_t<V>>, N> &&
             /*returnable-element*/<range_reference_t<V>, N>
class elements_view
    : public ranges::view_interface<elements_view<V, N>>

(since C++20)

    1. 튜플형 값의 뷰 V를 받아 각 요소의 N번째 성분을 생성하는 뷰.

멤버 함수 (Member functions)

  • (constructor) — elements 뷰 생성
  • base — 기본 뷰 반환
  • begin / end — 각 요소의 N번째 성분을 생성하는 반복자/센티널 반환
  • size — 크기 반환 (sized일 때)

참고 (Notes)

views::elements<N>(r)로 생성해요. views::keys(N=0)와 views::values(N=1)는 이 뷰의 특수화예요.

더 알아보기 (Learn more)

cppreference