iter_swap(ranges::cartesian_product_view::iterator)

来自cppreference.com


 
 
范围库
范围适配器
 
 
friend constexpr void iter_swap( const /*iterator*/& x, const /*iterator*/& y )

    noexcept (/* 见描述 */)
    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 - 指向要交换元素的迭代器

返回值

(无)

异常

异常说明等价于如下表达式的逻辑与: noexcept(ranges::iter_swap(std::get<i>(x.current_), std::get<i>(y.current_))) 取遍整数 0 ≤ i ≤ sizeof...(Vs)

参阅

(C++20)
交换两个可解引用对象所引用的值
(定制点对象)
交换两个迭代器所指向的元素
(函数模板)