This constructor creates a new shared state that becomes satisfied when both rhs and rhs.get() become satisfied. If rhs is satisfied, but rhs.get() returns an invalid future then the newly created future becomes satisfied with a std::future_error exception, and the exception error code is std::future_errc::broken_promise.
Parameter
Name
Description
rhs
future< future< void > > &&
future(future< T > &&)
Creates a future from a future whose result type is convertible to this future's result type.
Parameters
Name
Description
rhs
future< T > &&
class T
future(std::shared_ptr< shared_state_type >)
Parameter
Name
Description
state
std::shared_ptr< shared_state_type >
Functions
get()
Waits until the shared state becomes ready, then retrieves the value stored in the shared state.
Exceptions
Type
Description
...
any exceptions stored in the shared state.
std::future_error
with std::no_state if the future does not have a shared state.
Returns
Type
Description
void
then(F &&)
Attach a continuation to the future.
Attach a callable func to be invoked when the future is ready. The return type is a future wrapping the return type of func.
Side effects: valid() == false if the operation is successful.
Parameters
Name
Description
func
F &&
a Callable to be invoked when the future is ready. The function might be called immediately, e.g., if the future is ready.
typename F
Returns
Type
Description
internal::then_helper< F, void >::future_t
future<T> where T is std::result_of_t<F, R> (basically). If T matches future<U> then it returns future<U>. The returned future will contain the result of func.
Type Aliases
shared_state_type
Alias Of: typename internal::future_base< void >::shared_state_type
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-05 UTC."],[[["The page provides documentation for various versions of a C++ `future` class, ranging from version 2.10.1 up to the latest release candidate 2.37.0-rc."],["The `future` class specializes the ISO/IEC TS 19571:2016 standard for `void`, and includes constructors for creating new `future` objects, including one that unwraps a nested `future\u003c future\u003c void \u003e \u003e`."],["Key functions of the `future` class include `get()`, which retrieves the value from the shared state, and `then()`, which attaches a continuation function to be executed when the future is ready."],["There are type aliases available, specifically `shared_state_type`, which refers to the shared state of the `future` object."],["The `future` class allows the handling of exceptions, if the future does not have a shared state an exception will be thrown, or if the shared state is satisfied with an exception it will be caught, also the future class can handle a return of void."]]],[]]