operator==,<=>(ranges::cartesian_product_view::iterator)
Von cppreference.com
< cpp | ranges | cartesian product view | iterator
| 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
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[editieren] Siehe auch
| (C++23) |
vergleicht ein Sentinel mit einem von cartesian_product_view::begin zurückgegebenen Iterator (Funktion) |