std::ranges::chunk_view<V>::end
cppreference.net에서
Vinput_range만 모델링input_range |
||
constexpr std::default_sentinel_t end() const noexcept;
|
(1) | (C++23부터) |
V forward_range를 모델링forward_range |
||
constexpr auto end() requires (!__simple_view<V>);
|
(2) | (C++23부터) |
constexpr auto end() const requires ranges::forward_range<const V>;
|
(3) | (C++23부터) |
기본 뷰의 끝 반복자와 같은지 비교하는 반복자 또는 iteratorstd::default_sentinel을 반환합니다.
chunk_view1)
2,3) 모델이 forward_range인 경우에 사용할 수 있습니다
Vforward_range. 기본 적응 뷰를 base_로, 저장된 청크 크기를 n_로, 중첩 반복자 클래스를 iterator로 나타냅니다.2) 다음과 같습니다
if constexpr (ranges::common_range<V> && ranges::sized_range<V>)
{
auto missing = (n_ - ranges::distance(base_) % n_) % n_;
return iterator<false>(this, ranges::end(base_), missing);
}
else if constexpr (ranges::common_range<V> && !ranges::bidirectional_range<V>)
return iterator<false>(this, ranges::end(base_));
else
return std::default_sentinel;
3) 다음과 같습니다
if constexpr (ranges::common_range<const V> && ranges::sized_range<const V>)
{
auto missing = (n_ - ranges::distance(base_) % n_) % n_;
return iterator<true>(this, ranges::end(base_), missing);
}
else if constexpr (ranges::common_range<const V> && !ranges::bidirectional_range<const V>)
return iterator<true>(this, ranges::end(base_));
else
return std::default_sentinel;
반환값
위에서 설명한 대로
chunk_view
의 끝을 나타내는 반복자 또는 센티널입니다.
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
시작을 가리키는 반복자를 반환합니다
(public member function) |
|
|
(C++20)
|
범위의 끝을 나타내는 센티널을 반환합니다
(customization point object) |