18
Concepts library
[concepts]
18.4
Language-related concepts
[concepts.lang]
18.4.13
Concept
move_constructible
[concept.moveconstructible]
🔗
template
<
class
T
>
concept
move_constructible
=
constructible_from
<
T, T
>
&
&
convertible_to
<
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
.
T
models
move_constructible
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.