operator==,<,>,<=,>=<=>(ranges::elements_view::iterator)
From cppreference.com
< cpp | 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> && |
(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) |
elements_view::begin によって返されるイテレータとセンチネルを比較します。 (関数) |