operator==,<=>(ranges::cartesian_product_view::iterator)
ja.cppreference.net より
friend constexpr bool operator==( const /*iterator*/& x, const /*iterator*/& y )
requires std::equality_comparable<ranges::iterator_t</*maybe-const*/<Const, First>>>;
|
(1) | (C++23以降) |
friend constexpr bool operator==( const /*iterator*/& x, std::default_sentinel_t );
|
(2) | (C++23以降) |
friend constexpr auto operator<=>( const /*iterator*/& x, const /*iterator*/& y )
requires /*all-random-access*/<Const, First, Vs...>;
|
(2) | (C++23以降) |
2つのイテレータ、またはイテレータと番兵を比較します。
基本となるイテレータのタプルを current_ とします。
1) 以下と同等:
return x.current_ == y.current_;2) もし
true が任意の整数 std::get<i>(x.current_) == ranges::end(std::get<i>(x.parent_->bases_)) に対して true であれば 0 ≤ i ≤ sizeof...(Vs) を返します。そうでなければ false を返します。3) 以下と同等:
return x.current_ <=> y.current_;これらの関数は通常の非修飾または修飾付き名前探索では可視ではなく、引数依存の名前探索によってのみ検出できます(std::ranges::cartesian_product_view::iterator<Const>が引数の関連クラスである場合)。
!= 演算子は から合成operator==されます。
パラメータ
| x, y | - | 比較するイテレータまたはセンチネル |
戻り値
比較の結果。
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
(C++23)
|
cartesian_product_view::begin
から返されるイテレータとセンチネルを比較する
(関数) |