Spec-Zone.ru › C++

std::ranges::take_while_view<V,Pred>::end

constexpr auto end() requires (!__SimpleView<V>);
(1) (since C++20)
constexpr auto end() const requires
    ranges::range<const V> &&
    std::indirect_unary_predicate<const Pred, ranges::iterator_t<const V>>;
(2) (since C++20)

Возвращает sentinel, представляющий конец представления.

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

1) Эффективно возвращает /*sentinel*/<false>(ranges::end(base_), std::addressof(pred())).
2) Эффективно возвращает /*sentinel*/<true>(ranges::end(base_), std::addressof(pred())).

Перегрузка (1) не участвует в разрешении перегрузки, если V является простым представлением (то есть, если V и const V являются представлениями с одинаковыми типами итератора и конечной точки).

Параметры

(нет)

Значение результата

A sentinel representing the end of the view.

Пример

Отчёты об ошибках

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

DR Применён к Поведение, как опубликовано Правильное поведение
LWG 3450 C++20 перегрузка const может возвращать sentinel, не сравнимый с итератором ограничено

См. также

begin
(C++20)
возвращает итератор в начало
(публичный член-функция)
operator==
(C++20)
сравнивает sentinel с итератором, возвращённым из take_while_view::begin
(функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/take_while_view/end

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API