home | help
std::expected::emplace(3)      C++ Standard Libary     std::expected::emplace(3)

NAME
     std::expected::emplace - std::expected::emplace

Synopsis
	T is not cv void
	template<  class...  Args >					     (1)
     (since C++23)
	constexpr T& emplace( Args&&... args ) noexcept;
	template< class U, class... Args >
	constexpr T& emplace( std::initializer_list<U> il, Args&&...  args   (2)
     (since C++23)
	) noexcept;
	T is cv void
	constexpr  void  emplace() noexcept;				     (3)
     (since C++23)

	Constructs an expected value in-place. After the call,	has_value()  re-
     turns true.

	1)  Destroys  the  contained  value, then initializes the expected value
     contained in
	*this as if by direct-initializing an object of type T	from  the  argu-
     ments
	std::forward<Args>(args)....
	This overload participates in overload resolution only if
	std::is_nothrow_constructible_v<T, Args...> is true.
	2)  Destroys  the  contained  value, then initializes the expected value
     contained in
	*this as if by direct-initializing an object of type T	from  the  argu-
     ments il and
	std::forward<Args>(args)....
	This overload participates in overload resolution only if
	std::is_nothrow_constructible_v<T,  std::initializer_list<U>&,	Args...>
     is true.
	3) If *this contains an unexpected value, destroys that value.

Parameters
	args - the arguments to pass to the constructor
	il   - the initializer list to pass to the constructor

Return value
	1,2) A reference to the new contained value.
	3) (none)

Notes
	If the construction of T is potentially-throwing, this function  is  not
     defined. In
	this  case,  it  is the responsibility of the user to create a temporary
     object and
	move or copy it.

Example
	 This section is incomplete
	 Reason: no example

See also
	operator= assigns contents
		  (public member function)

Category:
	  * Todo no example

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

home | help