std::ranges::enumerate_view<V>::end
От ru.cppreference.net
constexpr auto end() requires (!__simple_view<V>);
|
(1) | (начиная с C++23) |
constexpr auto end() const requires /*range-with-movable-references*/<const V>;
|
(2) | (начиная с C++23) |
Возвращает iterator или sentinel, который при сравнении равен конечному итератору 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 |
Смотрите также
|
возвращает итератор на начало
(публичная функция-член) |
|
|
(C++20)
|
возвращает страж, указывающий на конец диапазона
(объект точки кастомизации) |