Namespaces
Variants

iter_swap (ranges::adjacent_view:: iterator )

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