Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
Loading...
Searching...
No Matches
WhenAll.hpp File Reference

Non-blocking combinator awaiting completion of multiple parallel tasks. More...

#include <tuple>
#include <type_traits>
#include <utility>
#include "corium/async/Task.hpp"
+ Include dependency graph for WhenAll.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  corium
 
namespace  corium::async
 
namespace  corium::async::detail
 

Functions

template<typename... Tasks>
auto corium::async::whenAll (Tasks &&... tasks)
 Awaits concurrent or sequential completion of multiple Task coroutines.
 
template<typename... Tasks>
Task< std::tuple< typename std::decay_t< Tasks >::ValueType... > > corium::async::detail::whenAllValueImpl (Tasks... tasks)
 
template<typename... Tasks>
Task< void > corium::async::detail::whenAllVoidImpl (Tasks... tasks)
 

Variables

template<typename... Tasks>
constexpr bool corium::async::detail::all_void_tasks_v = (std::is_void_v<typename std::decay_t<Tasks>::ValueType> && ...)
 

Detailed Description

Non-blocking combinator awaiting completion of multiple parallel tasks.