std::indirectly_copyable_storable
來自 cppreference.com
< cpp | 迭代器 (iterator)
定義於標頭檔案 <iterator> |
||
template< class In, class Out > concept indirectly_copyable_storable = |
(C++20 起) | |
indirectly_copyable_storable
概念指定了 indirectly_readable
型別與 indirectly_writable
型別之間的關係。除了 indirectly_copyable
,此概念還指定可以透過中間物件執行從 indirectly_readable
型別的複製。
[編輯] 語義要求
當且僅當給定型別為 In
的可解引用值 i
時,In
和 Out
才建模 std::indirectly_copyable_storable<In, Out>
- 在定義 std::iter_value_t<In> obj(*i); 後,
obj
等於先前由 *i 表示的值,並且 - 如果 std::iter_reference_t<In> 是右值引用型別,則在
obj
初始化後,*i 處於有效但未指定的狀態。
[編輯] 相等性保持
標準庫概念的 requires 表示式中宣告的表示式必須是 相等性保持的(除非另有說明)。
[編輯] 參見
(C++20) |
指定值可以從 indirectly_readable 型別複製到 indirectly_writable 型別(概念) |
指定值可以從 indirectly_readable 型別移動到 indirectly_writable 型別,並且移動可以透過中間物件執行(概念) |