Objects of types defined in the C++ standard library may be moved
from (
[class.copy.ctor])
.Move operations may be explicitly specified or
implicitly generated
.Unless otherwise specified, such moved-from objects shall
be placed in a valid but unspecified state
.