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, не сравнимый с итератором | ограничено |
См. также
|
(C++20) | возвращает итератор в начало (публичный член-функция) |
|
(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