Namespaces
Variants

std::ranges::stride_view<V>:: end

From cppreference.net
Ranges library
Range adaptors
constexpr auto end ( ) requires ( ! /*simple-view*/ < V > ) ;
(1) (C++23 이후)
constexpr auto end ( ) const requires ranges:: range < const V >
(2) (C++23 이후)

iterator 또는 sentinel 를 반환하며, 이는 stride_view 의 끝을 나타냅니다.

base_ stride_ 를 기본 데이터 멤버로 둡니다.

1) Const using Const = false ; 로 정의하고, Base using Base = V ; 로 정의합니다.
2) Const using Const = true ; 로 정의하고, Base using Base = const V ; 로 정의하자.

다음과 동일합니다:

if constexpr (ranges::common_range<Base> &&
              ranges::sized_range<Base> &&
              ranges::forward_range<Base>)
{
    auto missing = (stride_ - ranges::distance(base_) % stride_) % stride_;
    return iterator<Const>(this, ranges::end(base_), missing);
}
else if constexpr (ranges::common_range<Base> &&
                   !ranges::bidirectional_range<Base>)
{
    return iterator<Const>(this, ranges::end(base_));
}
else
{
    return std::default_sentinel;
}

목차

매개변수

(없음)

반환값

기본 뷰 V common_range 를 모델링하는 경우, 마지막 요소 다음 요소를 가리키는 iterator . 그렇지 않은 경우, 끝 iterator와 비교 시 동일함을 반환하는 std::default_sentinel .

참고 사항

stride_view < V > 는 기본 뷰 V common_range 를 모델링할 때마다 이를 모델링합니다.

예제

참고 항목

시작을 가리키는 반복자를 반환합니다
(public member function)
범위의 끝을 나타내는 센티널을 반환합니다
(customization point object)