std:: indirectly_copyable_storable
|
定義済みヘッダ
<iterator>
|
||
|
template
<
class
In,
class
Out
>
concept indirectly_copyable_storable
=
|
(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 であることが要求されます(特に明記されている場合を除く)。
関連項目
|
(C++20)
|
indirectly_readable
型から
indirectly_writable
型へ値がコピー可能であることを指定する
(コンセプト) |
|
(C++20)
|
indirectly_readable
型から
indirectly_writable
型へ値がムーブ可能であり、中間オブジェクトを介してムーブが実行可能であることを指定する
(コンセプト) |