iter_swap(ranges::adjacent_view::iterator)
来自 cppreference.cn
< cpp | ranges | adjacent view | iterator
friend constexpr void iter_swap( const /*iterator*/& x, const /*iterator*/& y ) noexcept( /*见下文*/ ) |
(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>>()))
declval<ranges::iterator_t<Base>>()))
[编辑] 参阅
(C++20) |
交换两个可解引用对象所引用的值 (自定义点对象) |
交换两个迭代器所指向的元素 (函数模板) |