|
Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
|
Non-blocking combinator resolving on the first completed task. More...
#include <cstddef>#include <type_traits>#include <utility>#include <variant>#include "corium/async/Task.hpp"
Include dependency graph for WhenAny.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | corium::async::WhenAnyResult< ResultTypes > |
| Result container for whenAny combinator. More... | |
| struct | corium::async::detail::WrapVoid< T > |
| struct | corium::async::detail::WrapVoid< void > |
Namespaces | |
| namespace | corium |
| namespace | corium::async |
| namespace | corium::async::detail |
Typedefs | |
| template<typename T > | |
| using | corium::async::detail::wrap_void_t = typename WrapVoid< T >::type |
Functions | |
| template<size_t Index, typename TaskType , typename ResultVariant > | |
| bool | corium::async::detail::checkTaskDone (TaskType &task, size_t &winnerIndex, ResultVariant &resultVariant) |
| template<size_t Index, typename TaskType > | |
| void | corium::async::detail::resumeTask (TaskType &task) |
| template<typename... Tasks> | |
| auto | corium::async::whenAny (Tasks &&... tasks) |
| Awaits the first task among multiple tasks to complete. | |
| template<typename... Tasks, size_t... Is> | |
| Task< WhenAnyResult< typename std::decay_t< Tasks >::ValueType... > > | corium::async::detail::whenAnyImpl (std::index_sequence< Is... >, Tasks... tasks) |
Non-blocking combinator resolving on the first completed task.