Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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()
       returns 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 ar-
       guments
	  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  ar-
       guments 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	tempo-
       rary 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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::expected::emplace&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help