std::experimental::ranges::MoveConstructible
From cppreference.com
< cpp | experimental | ranges
| Defined in header <experimental/ranges/concepts> |
||
| template< class T > concept bool MoveConstructible = |
(ranges TS) | |
concept MoveConstructible は、T が参照型であるか、またはその型のオブジェクトが、通常の意味論で、直接初期化およびコピー初期化の両方のコンテキストで、その型の右辺値から構築できるオブジェクト型である場合に満たされます。
より正確には、T がオブジェクト型の場合、MoveConstructible<T> は、以下が与えられた場合にのみ満たされます。
-
rv、型Tの右辺値、および -
u2、型Tのrvと等しい別のオブジェクト。
以下の条件が真である。
- 定義 T u = rv; の後、
uはu2と等しくなります。 -
T{rv}はu2と等しくなります。 - もし
Tが const 修飾されていない場合、rvの結果の状態(上記のどちらかの箇条書きで定義/式が評価された後)は有効ですが未指定です。それ以外の場合は、変更されません。
[編集] 関連項目
| (C++11)(C++11)(C++11) |
型が右辺値参照から構築可能であるかをチェックする (クラステンプレート) |