名稱空間
變體
操作

iter_swap(ranges::adjacent_view::iterator)

來自 cppreference.com
< cpp‎ | ranges‎ | adjacent view‎ | iterator
 
 
範圍庫 (Ranges library)
範圍介面卡 (Range adaptors)
 
 
friend constexpr void iter_swap( const /*iterator*/& x, const /*iterator*/& y )

    noexcept( /*見下文*/ )

        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>>()))

[編輯] 參閱

(C++20)
交換兩個可解引用物件所引用的值
(自定義點物件)[編輯]
交換兩個迭代器所指向的元素
(函式模板) [編輯]