Spec-Zone.ru › C++

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

constexpr auto end() requires (!/*simple-view*/<V>);
(1) (начиная с C++20)
constexpr auto end() const requires
    ranges::range<const V> &&
    std::indirect_unary_predicate<const Pred, ranges::iterator_t<const V>>;
(2) (начиная с C++20)

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

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

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

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

Параметры

(нет)

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

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

Пример

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

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

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

См. также

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

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

Spec-Zone.ru

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