Namespaces
Variants

operator==,<=>(ranges::cartesian_product_view::iterator)

Von de.cppreference.net
 
 
Ranges-Bibliothek
Range-Adapter
 
 
friend constexpr bool operator==( const /*iterator*/& x, const /*iterator*/& y )
    requires std::equality_comparable<ranges::iterator_t</*maybe-const*/<Const, First>>>;
(1) (seit C++23)
friend constexpr bool operator==( const /*iterator*/& x, std::default_sentinel_t );
(2) (seit C++23)
friend constexpr auto operator<=>( const /*iterator*/& x, const /*iterator*/& y )
    requires /*all-random-access*/<Const, First, Vs...>;
(2) (seit C++23)

Vergleicht zwei Iteratoren oder einen Iterator und eine Sentinelle.

Sei current_ das zugrundeliegende Tupel von Iteratoren.

1) Äquivalent zu: return x.current_ == y.current_;
2) Gibt true zurück, wenn std::get<i>(x.current_) == ranges::end(std::get<i>(x.parent_->bases_)) für eine beliebige ganze Zahl true 0 ≤ i ≤ sizeof...(Vs) ist. Andernfalls wird false zurückgegeben.
3) Äquivalent zu: return x.current_ <=> y.current_;

Diese Funktionen sind bei gewöhnlicher unqualifizierter oder qualifizierter Namenssuche nicht sichtbar und können nur durch argumentabhängige Namenssuche (ADL) gefunden werden, wenn std::ranges::cartesian_product_view::iterator<Const> eine assoziierte Klasse der Argumente ist.

Der Operator != wird synthetisiert aus operator==.

Parameter

x, y - zu vergleichende Iteratoren oder Sentinel-Werte

Rückgabewert

Das Ergebnis des Vergleichs.

Beispiel

Siehe auch

(C++23)
vergleicht einen Sentinel mit einem von cartesian_product_view::begin zurückgegebenen Iterator
(Funktion)