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