|
Aria 2.0.0
C++23 MVVM framework (C++20 minimum) — reactive, coroutine-first, ABI-layered
|
Awaitable that resolves when ANY of the input task FACTORIES completes (success or error). More...
#include <when_all.hpp>
Public Types | |
| using | Factory = std::function<Task<T>(CancellationToken)> |
| using | Result = typename WhenAnyAwaiter<T>::Result |
Public Member Functions | |
| WhenAnyCancellableAwaiter (std::vector< Factory > factories) | |
| bool | await_ready () const noexcept |
| bool | await_suspend (std::coroutine_handle<> caller) noexcept |
| Result | await_resume () |
Awaitable that resolves when ANY of the input task FACTORIES completes (success or error).
Each factory receives its own CancellationToken; when a winner is established, every loser's token is fired so cooperative inner work unwinds promptly instead of running to completion in the background.
Note: cancellation is best-effort. Inner work that ignores its token still runs to completion off-stage; only its result and exception are dropped.
| using aria::async::WhenAnyCancellableAwaiter< T >::Factory = std::function<Task<T>(CancellationToken)> |
| using aria::async::WhenAnyCancellableAwaiter< T >::Result = typename WhenAnyAwaiter<T>::Result |
|
inlineexplicit |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |