operator==,<,>,<=,>=<=>(ranges::transform_view::iterator)
From cppreference.com
< cpp | ranges | transform 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.current_ == y.current_; に相当します。ここで、
current_ は基底となるイテレータです。2) return x.current_ < y.current_; に相当します。ここで、
current_ は基底となるイテレータです。3) return y < x; に相当します。
4) return !(y < x); に相当します。
5) return !(x < y); に相当します。
6) return x.current_ <=> y.current_; に相当します。ここで、
current_ は基底となるイテレータです。これらの関数は、通常の非修飾または修飾探索では見えず、std::ranges::transform_view::iterator<Const> が引数に関連付けられたクラスである場合にのみ、引数依存探索によって見つけることができます。
!= 演算子は operator== から合成される。
[編集] パラメータ
| x, y | - | 比較するイテレータ |
[編集] 戻り値
比較結果
[編集] 関連項目
| (C++20) |
transform_view::begin から返されたイテレータとセンチネルを比較します。 (関数) |