18
Concepts library
[concepts]
18.4
Language-related concepts
[concepts.lang]
18.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
.