17
Concepts library
[concepts]
17.4
Language-related concepts
[concepts.lang]
17.4.13
Concept
MoveConstructible
[concept.moveconstructible]
🔗
template<class T> concept MoveConstructible = Constructible<T, T> && ConvertibleTo<T, T>;
1
#
If
T
is an object type, then let
rv
be an rvalue of type
T
and
u2
a distinct object of type
T
equal to
rv
.
MoveConstructible
<T>
is satisfied only if
(1.1)
After the definition
T u = rv;
,
u
is equal to
u2
.
(1.2)
T(rv)
is equal to
u2
.
(1.3)
If
T
is not
const
,
rv
's resulting state is valid but unspecified (
[lib.types.movedfrom]
); otherwise, it is unchanged
.