Namespaces
Variants

iter_swap(ranges::adjacent_view::iterator)

Von de.cppreference.net
 
 
Ranges-Bibliothek
Range-Adaptoren
 
 
friend constexpr void iter_swap( const /*iterator*/& x, const /*iterator*/& y )
    noexcept( /*see below*/ )
        requires std::indirectly_swappable<ranges::iterator_t<Base>>;
(seit C++23)

Vertauscht die Objekte, auf die zwei zugrunde liegende Arrays von Iteratoren zeigen (bezeichnet als current_).

Ä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 die gewöhnliche unqualifizierte oder qualifizierte Namenssuche nicht sichtbar und kann nur durch argumentabhängige Namenssuche gefunden werden, wenn adjacent_view::iterator<Const> eine assoziierte Klasse der Argumente ist.

Parameter

x, y - Iteratoren

Rückgabewert

(keine)

Exceptions

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

Siehe auch

(C++20)
vertauscht die Werte, auf die zwei dereferenzierbare Objekte verweisen
(Anpassungspunktobjekt)
vertauscht die Elemente, auf die zwei Iteratoren zeigen
(Funktionstemplate)