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)
-
- 튜플형 값의 뷰 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)는 이 뷰의 특수화예요.