std::ranges::filter_view<V,Pred>::sentinel
class /*sentinel*/; | (начиная с C++20) (только для иллюстрации*) |
Тип возвращаемого значения filter_view::end, когда базовое view V не моделирует common_range.
Поля данных
| Член | Описание |
|---|---|
V end_ (private) | sentinel базового view(объект-член, используемый только для иллюстрации*) |
Функции-члены
| создаёт sentinel (открытая функция-член) |
|
| возвращает базовый sentinel (открытая функция-член) |
std::ranges::filter_view::sentinel::sentinel
/*sentinel*/() = default; | (1) | (начиная с C++20) |
constexpr explicit /*sentinel*/( filter_view& parent ); | (2) | (начиная с C++20) |
1) Выполняет инициализацию значением для
end_ с помощью инициализатора по умолчанию для члена (= ranges::sentinel_t<V>()).
2) Инициализирует
end_ значением ranges::end(parent.base_). std::ranges::filter_view::sentinel::base
constexpr ranges::sentinel_t<V> base() const; | (начиная с C++20) |
Эквивалентно return end_;.
Функции, не являющиеся членами
|
(C++20) | сравнивает базовый итератор и базовый sentinel (функция) |
operator==(std::ranges::filter_view::iterator, std::ranges::filter_view::sentinel)
friend constexpr bool operator==( const /*iterator*/& x,
const /*sentinel*/& y );
| (начиная с C++20) |
Эквивалентно return x.current_ == y.end_;, где current_ — базовый итератор, обёрнутый в filter_view::iterator.
Оператор != синтезируется из operator==.
Эта функция не видна при обычном неквалифицированном или квалифицированном поиске и может быть найдена только с помощью поиска с учётом аргументов, если std::ranges::filter_view::sentinel является ассоциированным классом аргументов.
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/ranges/filter_view/sentinel