Files
cppdraft_translate/cppdraft/move/iter/op/comp.md
2025-10-25 03:02:53 +03:00

3.9 KiB
Raw Blame History

[move.iter.op.comp]

24 Iterators library [iterators]

24.5 Iterator adaptors [predef.iterators]

24.5.4 Move iterators and sentinels [move.iterators]

24.5.4.8 Comparisons [move.iter.op.comp]

🔗

template<class Iterator1, class Iterator2> constexpr bool operator==(const move_iterator<Iterator1>& x, const move_iterator<Iterator2>& y); template<[sentinel_for](iterator.concept.sentinel#concept:sentinel_for "24.3.4.7Concept sentinel_­for[iterator.concept.sentinel]")<Iterator> S> friend constexpr bool operator==(const move_iterator& x, const move_sentinel<S>& y);

1

#

Constraints: x.base() == y.base() is well-formed and convertible to bool.

2

#

Returns: x.base() == y.base().

🔗

template<class Iterator1, class Iterator2> constexpr bool operator<(const move_iterator<Iterator1>& x, const move_iterator<Iterator2>& y);

3

#

Constraints: x.base() < y.base() is well-formed and convertible to bool.

4

#

Returns: x.base() < y.base().

🔗

template<class Iterator1, class Iterator2> constexpr bool operator>(const move_iterator<Iterator1>& x, const move_iterator<Iterator2>& y);

5

#

Constraints: y.base() < x.base() is well-formed and convertible to bool.

6

#

Returns: y < x.

🔗

template<class Iterator1, class Iterator2> constexpr bool operator<=(const move_iterator<Iterator1>& x, const move_iterator<Iterator2>& y);

7

#

Constraints: y.base() < x.base() is well-formed and convertible to bool.

8

#

Returns: !(y < x).

🔗

template<class Iterator1, class Iterator2> constexpr bool operator>=(const move_iterator<Iterator1>& x, const move_iterator<Iterator2>& y);

9

#

Constraints: x.base() < y.base() is well-formed and convertible to bool.

10

#

Returns: !(x < y).

🔗

template<class Iterator1, [three_way_comparable_with](cmp.concept#concept:three_way_comparable_with "17.12.4Concept three_­way_­comparable[cmp.concept]")<Iterator1> Iterator2> constexpr compare_three_way_result_t<Iterator1, Iterator2> operator<=>(const move_iterator<Iterator1>& x, const move_iterator<Iterator2>& y);

11

#

Returns: x.base() <=> y.base().