Namespaces
Variants

iter_swap(ranges::cartesian_product_view::iterator)

Von de.cppreference.net
 
 
Ranges library
Bereichsadapter
 
 
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)