iter_swap(ranges::adjacent_view::iterator)
Von de.cppreference.net
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 >> ( ) ) )
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) |