Namespaces
Variants

std::ranges::enumerate_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 /*range-with-movable-references*/ < const V > ;
(2) (начиная с C++23)

Возвращает итератор или страж , который сравнивается с конечным итератором enumerate_view .

Пусть base_ обозначает базовое представление.

1) Эквивалентно:
if constexpr (ranges::forward_range<V> and 
              ranges::common_range<V>  and 
              ranges::sized_range<V>)
    return /*iterator*/<false>(ranges::end(base_), ranges::distance(base_));
else
    return /*sentinel*/<false>(ranges::end(base_));
2) Эквивалентно:
if constexpr (ranges::forward_range<const V> and 
              ranges::common_range<const V>  and 
              ranges::sized_range<const V>)
    return /*iterator*/<true>(ranges::end(base_), ranges::distance(base_));
else
    return /*sentinel*/<true>(ranges::end(base_));

Содержание

Параметры

(нет)

Возвращаемое значение

Итератор или cентинел , представляющий конец enumerate_view , как описано выше.

Пример

Отчеты о дефектах

Следующие отчеты об изменениях в поведении, содержащие описания дефектов, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Applied to Behavior as published Correct behavior
LWG 3919 C++23 ranges::distance может вызывать неопределенное поведение для sized common
non-forward underlying ranges
для таких диапазонов возвращается тип sentinel

Смотрите также

возвращает итератор на начало
(публичная функция-член)
возвращает страж, указывающий на конец диапазона
(объект точки кастомизации)