home | help
std::experi...al::emplace(3)   C++ Standard Libary  std::experi...al::emplace(3)

NAME
     std::experimental::optional::emplace - std::experimental::optional::emplace

Synopsis
	template< class... Args >				   (library fun-
     damentals TS)
	void emplace( Args&&... args );
	template< class U, class... Args >
	void emplace( std::initializer_list<U> ilist, Args&&...    (library fun-
     damentals TS)
	args );

	Constructs  the  contained  value  in-place. If *this already contains a
     value before
	the call, the contained value is destroyed by calling its destructor.

	1) Initializes the contained value by direct-initializing (but not
	direct-list-initializing) with	std::forward<Args>(args)...  as  parame-
     ters.
	2)  Initializes  the  contained  value	by  calling its constructor with
     ilist,
	std::forward<Args>(args)... as parameters. This overload participates in
     overload
	resolution only if std::is_constructible<T, std::initializer_list<U>&,
	Args&&...>::value is true.

Parameters
	args...   -   the arguments to pass to the constructor
	ilist	  -   the initializer list to pass to the constructor

Type requirements
	-
	T must be constructible from Args...
	-
	T must be constructible from std::initializer_list and Args...

Return value
	(none)

Exceptions
	Any exception thrown by the selected constructor of T. If  an  exception
     is thrown,
	*this does not contain a value after this call (the previously contained
     value, if
	any, had been destroyed).

See also
	operator= assigns contents
		  (public member function)

Category:
	  * Noindexed pages

http://cppreference.com 	   2024.06.10	    std::experi...al::emplace(3)

home | help