std::ranges::zip_view<뷰>::end
constexpr auto end()
requires (!(/*simple-view*/<Views> && ...);
|
(1) | (C++23부터) |
constexpr auto end() const
requires (ranges::range<const Views> && ...);
|
(2) | (C++23부터) |
template< class... Rs >
concept /*zip-is-common*/ =
(sizeof...(Rs) == 1 && (ranges::common_range<Rs> && ...))
||
(!(ranges::bidirectional_range<Rs> && ...) && (ranges::common_range<Rs> && ...))
||
((ranges::random_access_range<Rs> && ...) && (ranges::sized_range<Rs> && ...));
|
(3) | (설명 전용*) |
반복자 또는 센티넬을 반환하며, 이는 zip_view의 끝 반복자와 같음으로 비교됩니다.
views_을 기본 뷰들의 튜플이라고 합시다.
return /*sentinel*/<false>(/*tuple-transform*/(ranges::end, views_));,
/*zip-is-common*/<Views...>이false으로 평가되면. 그렇지 않으면,
return begin() + std::iter_difference_t</*iterator*/<false>>(size());,
(ranges::random_access_range<Views> && ...)이true으로 평가되면. 그렇지 않으면,
return /*iterator*/<false>(/*tuple-transform*/(ranges::end, views_));.
return /*sentinel*/<true>(/*tuple-transform*/(ranges::end, views_));,
/*zip-is-common*/<const Views...>이false으로 평가되면. 그렇지 않으면,
return begin() + std::iter_difference_t</*iterator*/<true>>(size());,
ranges::random_access_range<const Views> && ...이true으로 평가되면. 그렇지 않으면,
return /*iterator*/<true>(/*tuple-transform*/(ranges::end, views_));.
매개변수
(없음)
반환값
zip_view
의 끝을 나타내는 반복자 또는 센티넬로서, 위에서 설명한 바와 같습니다.
참고 사항
ranges::
range
<
const
ranges::
zip_view
<
Views...
>>
는 다음 조건이 충족될 때에만 모델링됩니다:
Views...
에 있는 모든 타입
Vi
에 대해,
const
Vi
가
range
를 모델링해야 합니다.
예제
|
이 섹션은 불완전합니다
이유: 예제 없음 |
참고 항목
|
시작을 가리키는 반복자를 반환합니다
(public member function) |
|
|
(C++20)
|
범위의 끝을 나타내는 센티널을 반환합니다
(customization point object) |