std::experimental::optional<T>::emplace
Min standard notice:
Constructs the contained value in-place. If *this already contains a value before the call, the contained value is destroyed by calling its destructor.
# Declarations
template< class... Args >
void emplace( Args&&... args );
(library fundamentals TS)
template< class U, class... Args >
void emplace( std::initializer_list<U> ilist, Args&&... args );
(library fundamentals TS)
# Parameters
args...: the arguments to pass to the constructorilist: the initializer list to pass to the constructor
# Return value
(none)