ranges_zip_view
ranges_zip_view (지프 뷰)
std::ranges::zip_view은 여러 뷰를 평행하게 순회하며 각 위치에서 모든 뷰의 요소를 묶은 튜플을 생성하는 뷰예요. C++23부터 사용할 수 있어요.
출처: cppreference
본문
<ranges> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.
template< ranges::input_range... Views >
requires (ranges::view<Views> && ...) && (sizeof...(Views) > 0)
class zip_view
: public ranges::view_interface<zip_view<Views...>>
(1) (since C++23)
namespace views {
inline constexpr /*unspecified*/ zip = /*unspecified*/;
}
(2) (since C++23)
-
- 여러 뷰를 평행하게 순회하며 각 위치에서 i번째 요소들을 묶은
std::tuple<...>(또는 2개면 pair)을 생성하는 뷰. 최단 길이까지 순회해요.
- 여러 뷰를 평행하게 순회하며 각 위치에서 i번째 요소들을 묶은
-
- zip 뷰를 생성하는 뷰 팩토리 객체.
멤버 함수 (Member functions)
- (constructor) — zip 뷰 생성
- begin / end — 여러 뷰를 동시에 진행하는 반복자/센티널 반환
- size — 최단 뷰의 크기 반환 (모두 sized일 때)
참고 (Notes)
views::zip(v1, v2, ...)로 생성해요. 여러 범위를 평행 순회할 때 유용해요. 결과 요소는 각 범위의 요소를 포함한 튜플이에요.