cpp/utility/functional/move only function/operator=

Assigns a new target to or destroys its target.

@1@ Moves the target of to  or destroys the target of  (if any) if  is empty, by. is in a valid state with an unspecified value after move assignment.

@2@ Copy assignment operator is deleted. does not satisfy.

@3@ Destroys the current target if it exists. is empty after the call.

@4@ Sets the target of to the callable, or destroys the current target if  is a null function pointer, a null pointer to member function, or an empty , as if by executing. . The program is ill-formed or has undefined behavior if the selected constructor call is ill-formed or has undefined behavior.