Namespaces
Variants

iter_swap(ranges::adjacent_view::iterator)

С ru.cppreference.net
 
 
Библиотека диапазонов
Адаптеры диапазонов
 
 
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)
обменивает значения, на которые ссылаются два разыменовываемых объекта
(объект точки настройки)
обменивает элементы, на которые указывают два итератора
(шаблон функции)