19template <
typename... Tasks>
20inline constexpr bool all_void_tasks_v = (std::is_void_v<typename std::decay_t<Tasks>::ValueType> && ...);
22template <
typename... Tasks>
25 co_return std::tuple<typename std::decay_t<Tasks>::ValueType...>{(
co_await tasks)...};
28template <
typename... Tasks>
31 ((void)(
co_await tasks), ...);
40template <
typename... Tasks>
Lazy awaitable C++20 coroutine task with zero dynamic heap allocation.
Lightweight C++20 coroutine task with zero-heap resumption chaining and configurable frame allocator.
Definition Task.hpp:22
auto whenAll(Tasks &&... tasks)
Awaits concurrent or sequential completion of multiple Task coroutines.
Definition WhenAll.hpp:41
Task< void > whenAllVoidImpl(Tasks... tasks)
Definition WhenAll.hpp:29
Task< std::tuple< typename std::decay_t< Tasks >::ValueType... > > whenAllValueImpl(Tasks... tasks)
Definition WhenAll.hpp:23
constexpr bool all_void_tasks_v
Definition WhenAll.hpp:20
Definition AsyncEvent.hpp:14