operator==,<,>,<=,>=,<=>(ranges::transform_view::iterator)
ja.cppreference.net より
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> &&
std::three_way_comparable<ranges::iterator_t<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); と等価です。
return !(x < y);5)
return x.current_ <=> y.current_; と等価です。ここで current_ はベースとなるイテレータです。これらの関数は通常の修飾なしまたは修飾あり名前探索では可視ではなく、引数依存の名前探索によってのみ発見されます。ただし、std::ranges::transform_view::iterator<Const> が引数の関連クラスである場合に限ります。
パラメータ
| x, y | - | 比較するイテレータ |
戻り値
比較結果
関連項目
|
(C++20)
|
sentinelと
transform_view::begin
から返されたイテレータを比較する
(関数) |