Namensräume
Varianten
Aktionen

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

Von cppreference.com
 
 
Bereichsbibliothek
Range-Adaptoren
 
 
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 ein Sentinel.

Sei current_ das zugrunde liegende 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 jede ganze Zahl 0 ≤ i ≤ sizeof...(Vs) true ist. Andernfalls wird false zurückgegeben.
3) Äquivalent zu: return x.current_ <=> y.current_;

Diese Funktionen sind für die gewöhnliche unqualifizierte oder qualifizierte Suche nicht sichtbar und können nur durch argumentabhängige Suche gefunden werden, wenn std::ranges::cartesian_product_view::iterator<Const> eine zugehörige Klasse der Argumente ist.

Der Operator != wird aus operator== synthetisiert.

Inhalt

[editieren] Parameter

x, y - Iteratoren oder Sentinels zum Vergleichen

[editieren] Rückgabewert

Das Ergebnis des Vergleichs.

[editieren] Beispiel

[editieren] Siehe auch

vergleicht ein Sentinel mit einem von cartesian_product_view::begin zurückgegebenen Iterator
(Funktion) [bearbeiten]