iter_swap(ranges::cartesian_product_view::iterator)
friend constexpr void iter_swap( const /*iterator*/& x, const /*iterator*/& y )
noexcept (/* see description */)
requires (std::indirectly_swappable<
ranges::iterator_t</*maybe-const*/<Const, First>>> and ... and
std::indirectly_swappable<ranges::iterator_t</*maybe-const*/<Const, Vs>>>);
|
(seit C++23) | |
Wendet ranges::iter_swap auf die gespeicherten zugrunde liegenden Iteratoren an. Formal führt für jede ganze Zahl 0 ≤ i ≤ sizeof...(Vs) die Operation ranges::iter_swap(std::get<i>(x.current_), std::get<i>(y.current_)) aus, wobei current_ das zugrunde liegende Tupel von Iteratoren ist.
Diese Funktion ist für normale unqualifizierte oder qualifizierte Suche nicht sichtbar und kann nur durch argumentabhängige Suche gefunden werden, wenn cartesian_product_view::iterator<Const> eine assoziierte Klasse der Argumente ist.
Parameter
| x, y | - | Iteratoren zu den auszutauschenden Elementen |
Rückgabewert
(keine)
Exceptions
Die Ausnahmespezifikation entspricht dem logischen UND des Ausdrucks noexcept ( ranges:: iter_swap ( std :: get < i > ( x. current_ ) , std :: get < i > ( y. current_ ) ) ) für jede ganze Zahl 0 ≤ i ≤ sizeof... ( Vs ) .
Siehe auch
|
(C++20)
|
tauscht die Werte aus, auf die zwei dereferenzierbare Objekte verweisen
(Anpassungspunktobjekt) |
|
tauscht die Elemente aus, auf die zwei Iteratoren zeigen
(Funktionstemplate) |