Assign to this object the value of the specified rhs object, and return a non‐`const` reference to this object. The allocators of this object and rhs both remain unchanged. The contents of rhs are either move‐constructed into or move‐assigned to this object. rhs is left in a valid but unspecified state.