GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::experimental::shared_future::then(3) C++ Standard Libary std::experimental::shared_future::then(3)

std::experimental::shared_future::then - std::experimental::shared_future::then


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


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)) evaluated 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 continuation
INVOKE(std::move(fd), *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 execution 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>(const std::experimental::shared_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::future<U>. This is
known as implicit unwrapping.


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


After this function returns, valid() is true.


func - A continuation to be attached.


A std::experimental::future object associated with the shared state created by this
object. valid() == true for the returned object.


This section is incomplete
Reason: no example

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.