iter_swap(ranges::adjacent_view::iterator)
来自cppreference.net
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 >> ( ) ) )
declval < ranges:: iterator_t < Base >> ( ) ) )
参见
|
(C++20)
|
交换两个可解引用对象所引用的值
(定制点对象) |
|
交换两个迭代器指向的元素
(函数模板) |