Namespaces
Variants

std:: indirectly_copyable_storable

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
indirectly_copyable_storable
(C++20)
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(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>
(C++20以降)

indirectly_copyable_storable コンセプトは、 indirectly_readable 型と indirectly_writable 型の関係を規定します。 indirectly_copyable に加えて、このコンセプトは indirectly_readable 型からのコピーが中間オブジェクトを介して実行可能であることを規定します。

セマンティック要件

In および Out モデル std :: indirectly_copyable_storable < In, Out > は、型 In のデリファレンス可能な値 i が与えられた場合にのみ:

  • 定義 std:: iter_value_t < In > obj ( * i ) ; の後、 obj は以前 * i によって示されていた値と等しくなり、
  • std:: iter_reference_t < In > が右辺値参照型である場合、 * i obj の初期化後に有効だが未規定の状態に置かれる。

等価性保存

標準ライブラリコンセプトの requires expressions で宣言される式は、 equality-preserving であることが要求されます(特に明記されている場合を除く)。

関連項目

indirectly_readable 型から indirectly_writable 型へ値がコピー可能であることを指定する
(コンセプト)
indirectly_readable 型から indirectly_writable 型へ値がムーブ可能であり、中間オブジェクトを介してムーブが実行可能であることを指定する
(コンセプト)