Namespaces
Variants

iter_swap (ranges::cartesian_product_view:: iterator )

From cppreference.net
Ranges library
Range adaptors
friend constexpr void iter_swap ( const /*iterator*/ & x, const /*iterator*/ & y )

noexcept ( /* см. описание */ )
требует ( std:: indirectly_swappable <
ranges:: iterator_t < /*maybe-const*/ < Const, First >>> и ... и

std:: indirectly_swappable < ranges:: iterator_t < /*maybe-const*/ < Const, Vs >>> ) ;
(начиная с C++23)

Применяет ranges:: iter_swap к сохраненным базовым итераторам. Формально, для каждого целого числа 0 ≤ i ≤ sizeof... ( Vs ) , выполняет ranges:: iter_swap ( std :: get < i > ( x. current_ ) , std :: get < i > ( y. current_ ) ) , где current_ является базовым кортежем итераторов.

Эта функция не видна при обычном unqualified или qualified lookup , и может быть найдена только с помощью argument-dependent lookup , когда cartesian_product_view:: iterator <Const> является ассоциированным классом аргументов.

Содержание

Параметры

x, y - итераторы на элементы для обмена

Возвращаемое значение

(нет)

Исключения

Спецификация исключений эквивалентна логическому И выражения noexcept ( ranges:: iter_swap ( std :: get < i > ( x. current_ ) , std :: get < i > ( y. current_ ) ) ) для каждого целого числа 0 ≤ i ≤ sizeof... ( Vs ) .

Смотрите также

(C++20)
обменивает значения, на которые ссылаются два разыменовываемых объекта
(объект точки кастомизации)
обменивает элементы, на которые указывают два итератора
(шаблон функции)