名前空間
変種
操作

std::indirectly_swappable

From cppreference.com
 
 
イテレータライブラリ
イテレータのコンセプト
イテレータのプリミティブ
アルゴリズムのコンセプトとユーティリティ
間接呼び出し可能コンセプト
共通アルゴリズム要件
indirectly_swappable
(C++20)
(C++20)
(C++20)
(C++20)
ユーティリティ
(C++20)
イテレータアダプタ
Rangeアクセス
(C++11)(C++14)
(C++14)(C++14)  
(C++11)(C++14)
(C++14)(C++14)  
(C++17)(C++20)
(C++17)
(C++17)
 
ヘッダ <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をモデルとする2つの型の間で、それらが参照する型を交換できるという関係を指定します。

[編集] 意味要件

I1I2indirectly_swappableをモデルとするのは、それが内包するすべての概念がモデル化されている場合のみです。

[編集] 等価性保持

標準ライブラリのコンセプトのrequiresで宣言された式は、(特に明記されていない限り)等価性保持である必要があります。

[編集] 関連項目

型が演算子 * を適用することで間接的に読み取り可能であることを規定する
(コンセプト) [編集]
(C++20)
2つの間接参照可能なオブジェクトが参照する値を交換する
(カスタマイゼーションポイントオブジェクト)[編集]
English 日本語 中文(简体) 中文(繁體)