iter_swap(ranges::cartesian_product_view::iterator)
friend constexpr void iter_swap( const /*iterator*/& x, const /*iterator*/& y )
noexcept (/* see description */)
requires (std::indirectly_swappable<
ranges::iterator_t</*maybe-const*/<Const, First>>> and ... and
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_ 是底层迭代器元组。
此函数无法通过普通的非限定或限定查找可见,只能在实参依赖查找中,当 cartesian_product_view::iterator<Const> 作为实参的关联类时才能找到。
参数
| x, y | - | 指向需交换元素的迭代器 |
返回值
(无)
异常
异常规范等价于对每个整数 0 ≤ i ≤ sizeof... ( Vs ) 的表达式 noexcept ( ranges:: iter_swap ( std :: get < i > ( x. current_ ) , std :: get < i > ( y. current_ ) ) ) 的逻辑与运算结果。
参见
|
(C++20)
|
交换两个可解引用对象所引用的值
(定制点对象) |
|
交换两个迭代器指向的元素
(函数模板) |