libcoro
1.0
Coroutine support library for C++20
|
makes a variant future - multiple futures shares single space More...
#include <future_variant.h>
Public Member Functions | |
template<std::invocable<> Fn> | |
auto & | operator<< (Fn &&fn) |
Redirect return value to future object. More... | |
void | reset () |
Delete any underlying future and return object into uninitalized state. More... | |
template<typename promise_type > | |
auto & | get_promise (promise_type &p) |
Initialize underlying future and retrieves promise. More... | |
template<typename fut_type = void> | |
_details::future_variant_getter< fut_type, future_variant > | get () |
Retrieve result of the future. More... | |
awaiter | operator co_await () |
Helps to co_wait on future regardless on which variant is active. More... | |
void | wait () |
Helps to wait on future regardless on which variant is active. More... | |
Friends | |
template<typename fut_type , typename ... X> | |
fut_type & | get (future_variant< X... > &me) |
Retrieve reference to future - if it is current variant. More... | |
template<typename fut_type , typename ... X> | |
const fut_type & | get (const future_variant< X... > &me) |
Retrieve reference to future - if it is current variant. More... | |
template<typename fut_type , typename ... X> | |
bool | holds_alternative (future_variant< X... > &me) |
tests whether holds given variant More... | |
makes a variant future - multiple futures shares single space
It is similar as variant over futures, but it is much easier to use
Types | list of types hosted by this object |
You can use operator << to redirect result to this future object. This operator returns a reference to a selected future, which can be used to chain a callback
;
You can use get_promise to initialize future and get promise at the same time
Definition at line 106 of file future_variant.h.