object& operator=( object&& other);
The contents of the object are replaced with the contents of
other using move semantics:
*other.storage() == *sp, ownership of the underlying memory is transferred in constant time, with no possibility of exceptions. After assignment, the moved-from object behaves as if newly constructed with its current storage pointer.
*other.storage() != *sp, an element-wise copy is performed, which may throw. In this case, the moved-from object is not changed.
Constant or linear in
Strong guarantee. Calls to
The object to move.