operator==,<,>,<=,>=,<=>(ranges::elements_view::iterator)
friend constexpr bool operator==( const /*iterator*/& x, const /*iterator*/& y )
requires std::equality_comparable<ranges::iterator_t<Base>>;
| (1) | (начиная с C++20) |
friend constexpr bool operator<( const /*iterator*/& x, const /*iterator*/& y )
requires ranges::random_access_range<Base>;
| (2) | (начиная с C++20) |
friend constexpr bool operator>( const /*iterator*/& x, const /*iterator*/& y )
requires ranges::random_access_range<Base>;
| (3) | (начиная с C++20) |
friend constexpr bool operator<=( const /*iterator*/& x, const /*iterator*/& y )
requires ranges::random_access_range<Base>;
| (4) | (начиная с C++20) |
friend constexpr bool operator>=( const /*iterator*/& x, const /*iterator*/& y )
requires ranges::random_access_range<Base>;
| (5) | (начиная с C++20) |
friend constexpr auto operator<=>( const /*iterator*/& x, const /*iterator*/& y )
requires ranges::random_access_range<Base> &&
std::three_way_comparable<ranges::iterator_t<Base>>;
| (6) | (начиная с C++20) |
Сравнивает базовые итераторы.
1) Эквивалентно
return x.base() == y.base();.
2) Эквивалентно
return x.base() < y.base();.
3) Эквивалентно
return y < x;.
4) Эквивалентно
return !(y < x);.
5) Эквивалентно
return !(x < y);.
6) Эквивалентно
return x.base() <=> y.base();.Эти функции не видны при обычном поиске без уточнения имени или поиске с уточнением имени и могут быть найдены только посредством поиска с учётом аргументов, если std::ranges::elements_view::iterator<Const> является ассоциированным классом аргументов.
Оператор != синтезируется из operator==.
Параметры
| x, y | - | сравниваемые итераторы |
Возвращаемое значение
Результат сравнения.
См. также
|
(C++20) | сравнивает sentinel с итератором, возвращённым из elements_view::begin (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/ranges/elements_view/iterator/operator_cmp