Namespaces
Variants

std::ranges::zip_view<뷰>::end

From ko.cppreference.net
 
 
Ranges 라이브러리
Range 어댑터
 
 
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_을 기본 뷰들의 튜플이라고 합시다.

1) 다음과 동등합니다:
  • 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_));.
2) 다음과 동등합니다:
  • 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)
범위의 끝을 나타내는 센티널을 반환합니다
(customization point object)