home | help
std::experi...future::then(3)  C++ Standard Libary std::experi...future::then(3)

NAME
     std::experimental::future::then - std::experimental::future::then

Synopsis
	template< class F >
	future</* see below */> then( F&& func ) ;

	Attach	the  continuation  func  to  *this. The behavior is undefined if
     *this has no
	associated shared state (i.e., valid() == false).

	Creates a shared state associated with the future object to be returned,
     and a copy
	fd of func constructed as if by DECAY_COPY(std::forward<F>(func)) evalu-
     ated in the
	thread calling then, where DECAY_COPY is defined as

	template<class T>
	std::decay_t<T> DECAY_COPY(T&& v)
	{
	    return std::forward<T>(v);
	}

	When the shared state currently associated with *this is ready, the con-
     tinuation
	INVOKE(std::move(fd), std::move(*this))  is  called  on  an  unspecified
     thread of
	execution,  where  INVOKE  is the operation defined in Callable. If that
     expression is
	invalid, the behavior is undefined.

	Any value returned from the continuation is stored as the result in  the
     shared state
	of  the returned future object. Any exception propagated from the execu-
     tion of the
	continuation is stored as the exceptional result in the shared state  of
     the returned
	future object.

	Let U be the return type of the continuation (i.e.
	std::result_of_t<std::decay_t<F>(std::experimental::future<T>)>).  If  U
     is
	std::experimental::future<T2> for some type T2, then the return type  of
     then is
	std::experimental::future<T2>,	otherwise  it  is std::experimental::fu-
     ture<U>. This is
	known as implicit unwrapping.

	If implicit unwrapping takes place and the continuation returns  an  in-
     valid future,
	then  the  shared state is made ready with an exception of type std::fu-
     ture_error with
	an error condition of std::future_errc::broken_promise.

	After this function returns, valid() is false.

Parameters
	func - a continuation to be attached

Return value
	A std::experimental::future object associated with the shared state cre-
     ated by this
	object. valid() == true for the returned object.

Example
	 This section is incomplete
	 Reason: no example

Category:
	  * Todo no example

http://cppreference.com 	   2024.06.10	   std::experi...future::then(3)

home | help