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)
交换两个可解引用对象所引用的值
(定制点对象)
交换两个迭代器指向的元素
(函数模板)