Namespaces
Variants

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

Von de.cppreference.net
 
 
Bereichsbibliothek
Bereichsadapter
 
 
friend constexpr bool operator==( const /*iterator*/& x, const /*iterator*/& y )
    requires (std::equality_comparable<
ranges::iterator_t</*maybe-const*/<Const, Views>>> && ...);
(1) (seit C++23)
friend constexpr auto operator<=>( const /*iterator*/& x, const /*iterator*/& y )
    requires ranges::random_access_range<Base>;
(2) (seit C++23)

Vergleicht die zugrunde liegenden Iteratoren.

Sei current_ das zugrunde liegende tupelartige Objekt von Iteratoren zu Elementen der adaptierten Ansichten.

1) Gibt zurück:
  • x.current_ == y.current_ wenn /*all-bidirectional*/<Const, Views...> wahr ist.
  • Andernfalls true, falls eine ganze Zahl 0 <= i < sizeof...(Views) existiert, sodass bool(std::get<i>(x.current_) == std::get<i>(y.current_)) wahr ist.
  • Andernfalls false.
2) Äquivalent zu return x.current_ <=> y.current_;.

Diese Funktion ist für die gewöhnliche unqualifizierte oder qualifizierte Namenssuche nicht sichtbar und kann nur durch argumentabhängige Namenssuche gefunden werden, wenn std::ranges::zip_view::iterator<Const> eine assoziierte Klasse der Argumente ist.

Die Operatoren <, <=, >, >= und != werden aus synthetisiert von operator<=> bzw. operator==.

Parameter

x, y - zu vergleichende Iteratoren

Rückgabewert

Das Ergebnis des Vergleichs

Siehe auch

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