Namespaces
Variants

iter_swap(ranges::cartesian_product_view::iterator)

来自 zh.cppreference.net
 
 
范围库
范围适配器
 
 
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)
交换两个可解引用对象所引用的值
(定制点对象)
交换两个迭代器指向的元素
(函数模板)