命名空间
变体
操作

iter_swap(ranges::adjacent_view::iterator)

来自 cppreference.com
< cpp‎ | 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)
交换两个可解引用的对象引用的值
(定制点对象)[编辑]
交换两个迭代器指向的元素
(函数模板) [编辑]