cpp/utility/any/emplace

Changes the contained object to one of type constructed from the arguments.

First destroys the current contained object (if any) by reset, then:

@1@ constructs an object of type, direct-non-list-initialized from , as the contained object.

@2@ constructs an object of type, direct-non-list-initialized from , as the contained object.

Return value
A reference to the new contained object.

Exceptions
Throws any exception thrown by 's constructor. If an exception is thrown, the previously contained object (if any) has been destroyed, and does not contain a value.