命名空间
变体
操作

iter_swap(ranges::cartesian_product_view::iterator)

来自 cppreference.com
 
 
范围库
范围适配器
 
 
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 - 要交换的元素的迭代器

[编辑] 返回值

(无)

[编辑] 异常

异常规范等效于表达式 noexcept(ranges::iter_swap(std::get<i>(x.current_), std::get<i>(y.current_))) 的逻辑与,对于每个整数 0 ≤ i ≤ sizeof...(Vs)

[编辑] 另请参阅

(C++20)
交换两个可解引用的对象的引用值
(自定义点对象)[编辑]
交换两个迭代器指向的元素
(函数模板) [编辑]