The class template shared_future
defines a type for asynchronous return objects
which may share their shared state with other asynchronous return
A default-constructed shared_future
object has no shared state.
shared state can
by conversion from a future
object and shares its shared state with the
original asynchronous provider
of the shared state.
The result (value or exception) of a shared_future
can be set by
calling a respective function on an
object that shares the same shared state.