Namensräume
Varianten
Aktionen

iter_swap(ranges::adjacent_view::iterator)

Von cppreference.com
< cpp‎ | ranges‎ | adjacent view‎ | iterator
 
 
Bereichsbibliothek
Range-Adaptoren
 
 
friend constexpr void iter_swap( const /*iterator*/& x, const /*iterator*/& y )

    noexcept( /*siehe unten*/ )

        requires std::indirectly_swappable<ranges::iterator_t<Base>>;
(seit C++23)

Tauscht die Objekte aus, auf die von zwei zugrunde liegenden Iterator-Arrays (bezeichnet als current_) gezeigt wird.

Äquivalent zu

for (std::size_t i{}; i != N; ++i)
{
    std::ranges::iter_swap(x.current_[i], y.current_[i]);
}

Das Verhalten ist undefiniert, wenn vor der Operation keiner der Iteratoren in x.current_ gleich einem Iterator in y.current_ ist.

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

Inhalt

[edit] Parameter

x, y - iteratoren

[edit] Rückgabewert

(keine)

[edit] Ausnahmen

noexcept-Spezifikation:  
noexcept(std::ranges::iter_swap(declval<ranges::iterator_t<Base>>(),
                                declval<ranges::iterator_t<Base>>()))

[edit] 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]