friend constexpr bool operator==( const /*iterator*/& x, const /*iterator*/& y ) requires std::equality_comparable<ranges::iterator_t<Base>>; | (1) | (since C++20) |
friend constexpr bool operator<( const /*iterator*/& x, const /*iterator*/& y ) requires ranges::random_access_range<Base>; | (2) | (since C++20) |
friend constexpr bool operator>( const /*iterator*/& x, const /*iterator*/& y ) requires ranges::random_access_range<Base>; | (3) | (since C++20) |
friend constexpr bool operator<=( const /*iterator*/& x, const /*iterator*/& y ) requires ranges::random_access_range<Base>; | (4) | (since C++20) |
friend constexpr bool operator>=( const /*iterator*/& x, const /*iterator*/& y ) requires ranges::random_access_range<Base>; | (5) | (since 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) | (since C++20) |
Compares the underlying iterators.
return x.current_ == y.current_;
, where current_
is the underlying iterator.return x.current_ < y.current_;
, where current_
is the underlying iterator.return y < x;
return !(y < x);
return !(x < y);
return x.current_ <=> y.current_;
, where current_
is the underlying iterator.These functions are not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when std::ranges::transform_view::iterator<Const>
is an associated class of the arguments.
The !=
operator is synthesized from operator==
.
x, y | - | iterators to compare |
result of comparison.
(C++20) | compares a sentinel with an iterator returned from transform_view::begin (function) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/transform_view/iterator/operator_cmp