Namensräume
Varianten
Aktionen

iter_swap(ranges::cartesian_product_view::iterator)

Von cppreference.com
 
 
Bereichsbibliothek
Range-Adaptoren
 
 
friend constexpr void iter_swap( const /*iterator*/& x, const /*iterator*/& y )

    noexcept (/* siehe Beschreibung */)
    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 zugrundeliegenden Iteratoren an. Formal gilt für jede ganze Zahl 0 ≤ i ≤ sizeof...(Vs), dass ranges::iter_swap(std::get<i>(x.current_), std::get<i>(y.current_)) ausgeführt wird, wobei current_ das zugrundeliegende 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 zugehörige Klasse der Argumente ist.

Inhalt

[bearbeiten] Parameter

x, y - Iteratoren zu den zu vertauschenden Elementen

[bearbeiten] Rückgabewert

(keine)

[bearbeiten] Ausnahmen

Die Ausnahmespezifikation ist äquivalent zur logischen UND-Verknüpfung 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).

[bearbeiten] Siehe auch

(C++20)
tauscht die von zwei dereferenzierbaren Objekten referenzierten Werte
(Customization-Punkt-Objekt)[bearbeiten]
Tauscht die Elemente, auf die zwei Iteratoren zeigen
(Funktionstempelat) [edit]