operator==,!=,<,<=,>,>=,<=>(std::move_iterator) - cppreference.com (original) (raw)
Defined in header | ||
---|---|---|
template< class Iter1, class Iter2 > bool operator==( const std::move_iterator<Iter1>& lhs, const std::move_iterator<Iter2>& rhs ); | (1) | (constexpr since C++17) |
template< class Iter1, class Iter2 > bool operator!=( const std::move_iterator<Iter1>& lhs, const std::move_iterator<Iter2>& rhs ); | (2) | (constexpr since C++17) (until C++20) |
template< class Iter1, class Iter2 > bool operator< ( const std::move_iterator<Iter1>& lhs, const std::move_iterator<Iter2>& rhs ); | (3) | (constexpr since C++17) |
template< class Iter1, class Iter2 > bool operator<=( const std::move_iterator<Iter1>& lhs, const std::move_iterator<Iter2>& rhs ); | (4) | (constexpr since C++17) |
template< class Iter1, class Iter2 > bool operator> ( const std::move_iterator<Iter1>& lhs, const std::move_iterator<Iter2>& rhs ); | (5) | (constexpr since C++17) |
template< class Iter1, class Iter2 > bool operator>=( const std::move_iterator<Iter1>& lhs, const std::move_iterator<Iter2>& rhs ); | (6) | (constexpr since C++17) |
template< class Iter1, std::three_way_comparable_with<Iter1> Iter2 > constexpr std::compare_three_way_result_t<Iter1, Iter2> operator<=>( const std::move_iterator<Iter1>& lhs, const std::move_iterator<Iter2>& rhs ); | (7) | (since C++20) |
Compares the underlying iterators of lhs and rhs.
1) This overload participates in overload resolution only if lhs.base() == rhs.base() is well-formed and convertible to bool. 3-6) These overloads participate in overload resolution only if lhs.base() < rhs.base() is well-formed and convertible to bool. The != operator is synthesized from operator==. | (since C++20) |
---|
[edit] Parameters
lhs, rhs | - | iterator adaptors to compare |
---|
[edit] Return value
lhs.base() == rhs.base()
!(lhs == rhs)
lhs.base() < rhs.base()
!(rhs < lhs)
rhs < lhs
!(lhs < rhs)
lhs.base() <=> rhs.base()