iter_swap(ranges::adjacent_view::iterator)
friend constexpr void iter_swap( const /*iterator*/& x, const /*iterator*/& y )
noexcept( /*see below*/ )
requires std::indirectly_swappable<ranges::iterator_t<Base>>;
| (начиная с C++23) |
Меняет местами объекты, на которые указывают два базовых массива итераторов (обозначенных как current_).
Эквивалентно:
for (std::size_t i{}; i != N; ++i)
{
std::ranges::iter_swap(x.current_[i], y.current_[i]);
}
Поведение не определено, если до выполнения операции ни один из итераторов в x.current_ не равен итератору в y.current_.
Эта функция не видна при обычном неквалифицированном или квалифицированном поиске и может быть найдена только посредством поиска с учетом аргументов, если adjacent_view::iterator<Const> является ассоциированным классом аргументов.
Параметры
| x, y | - | итераторы |
Возвращаемое значение
(нет)
Исключения
noexcept спецификация: noexcept(std::ranges::iter_swap(declval<ranges::iterator_t<Base>>(),
declval<ranges::iterator_t<Base>>()))
См. также
|
(C++20) | меняет местами значения, на которые ссылаются два разыменовываемых объекта (объект-точка настройки) |
| меняет местами элементы, на которые указывают два итератора (шаблон функции) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/ranges/adjacent_view/iterator/iter_swap