名稱空間
變體
操作

std::indirectly_swappable

來自 cppreference.com
 
 
迭代器庫
迭代器概念
迭代器原語
演算法概念與工具
間接可呼叫概念
常用演算法要求
indirectly_swappable (間接可交換)
(C++20)
工具
迭代器介面卡
範圍訪問
(C++11)(C++14)
(C++14)(C++14)  
(C++11)(C++14)
(C++14)(C++14)  
(C++17)(C++20)
 
定義於標頭檔案 <iterator>
template< class I1, class I2 = I1 >

concept indirectly_swappable =
    std::indirectly_readable<I1> &&
    std::indirectly_readable<I2> &&
    requires( const I1 i1, const I2 i2 )
    {
        ranges::iter_swap(i1, i1);
        ranges::iter_swap(i1, i2);
        ranges::iter_swap(i2, i1);
        ranges::iter_swap(i2, i2);

    };
(C++20 起)

概念 indirectly_swappable 指定了兩種分別建模 std::indirectly_readable 的型別之間的關係,其中它們所引用的型別可以交換。

[編輯] 語義要求

I1I2 僅當它們所包含的所有概念都被建模時,才建模 indirectly_swappable

[編輯] 等價性保留

標準庫概念的 requires 表示式 中宣告的表示式要求是 等價性保留 的(除非另有說明)。

[編輯] 參閱

透過應用運算子*指定型別是間接可讀的
(概念) [編輯]
(C++20)
交換兩個可解引用物件所引用的值
(定製點物件)[編輯]