If the associated state contains a deferred function from a call to
std::experimental::async then invoke that function
and return the result. Otherwise, wait until the asynchronous result
associated with an instance of
std::experimental::shared_future is ready, and
then return the stored value or throw the stored exception.
void shared_future<void>::get() const; R& shared_future<R&>::get() const; R const& shared_future<R>::get() const;
from multiple threads on
that share the same associated state are serialized. If the associated
state contains a deferred function then the first call to
invokes the deferred function and stores the returned value or
thrown exception as the asynchronous result.
Block until the asynchronous result associated with
is ready. If the asynchronous result is a
stored exception then throw that exception. Otherwise return the
void then return normally.
for some type
then return the stored reference. Otherwise, return a
const reference to the stored value.
The stored exception, if any.