operator==,<,>,<=,>=,<=>(ranges::adjacent_view::iterator)
From cppreference.com
< cpp | ranges | adjacent view | iterator
| friend constexpr bool operator==( const /*iterator*/& x, const /*iterator*/& y ); |
(1) | (C++23から) |
| friend constexpr bool operator<( const /*iterator*/& x, const /*iterator*/& y ) requires ranges::random_access_range<Base>; |
(2) | (C++23から) |
| friend constexpr bool operator>( const /*iterator*/& x, const /*iterator*/& y ) requires ranges::random_access_range<Base>; |
(3) | (C++23から) |
| friend constexpr bool operator<=( const /*iterator*/& x, const /*iterator*/& y ) requires ranges::random_access_range<Base>; |
(4) | (C++23から) |
| friend constexpr bool operator>=( const /*iterator*/& x, const /*iterator*/& y ) requires ranges::random_access_range<Base>; |
(5) | (C++23から) |
| friend constexpr auto operator<=>( const /*iterator*/& x, const /*iterator*/& y ) requires ranges::random_access_range<Base> && |
(6) | (C++23から) |
基になるイテレータを比較します。current_をイテレータの基になる配列とします。
1) return x.current_.back() == y.current_.back() に相当します。
2) return x.current_.back() < y.current_.back() に相当します。
3) return y < x; と同等です。
4) return !(y < x); と同等です。
5) return !(x < y); と同等です。
6) return x.base() <=> y.base(); に相当します。
これらの関数は、通常の 非修飾 または 修飾 ルックアップでは見えず、std::ranges::adjacent_view::iterator<Const> が引数の関連クラスである場合にのみ、引数依存名前探索 によって見つけることができます。
!= 演算子は operator== から合成される。
[編集] パラメータ
| x, y | - | 比較するイテレータ |
[編集] 戻り値
比較結果。
[編集] 関連項目
| (C++23) |
センチネルと adjacent_view::begin から返されたイテレータを比較します。 (関数) |