Namespaces
Variants

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 から返されるイテレータとセンチネルを比較する
(関数)