Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
Loading...
Searching...
No Matches
corium::async::detail Namespace Reference

Classes

struct  WrapVoid
 
struct  WrapVoid< void >
 

Typedefs

template<typename T >
using wrap_void_t = typename WrapVoid< T >::type
 

Functions

template<size_t Index, typename TaskType , typename ResultVariant >
bool checkTaskDone (TaskType &task, size_t &winnerIndex, ResultVariant &resultVariant)
 
template<size_t Index, typename TaskType >
void resumeTask (TaskType &task)
 
template<typename... Tasks>
Task< std::tuple< typename std::decay_t< Tasks >::ValueType... > > whenAllValueImpl (Tasks... tasks)
 
template<typename... Tasks>
Task< void > whenAllVoidImpl (Tasks... tasks)
 
template<typename... Tasks, size_t... Is>
Task< WhenAnyResult< typename std::decay_t< Tasks >::ValueType... > > whenAnyImpl (std::index_sequence< Is... >, Tasks... tasks)
 

Variables

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

Typedef Documentation

◆ wrap_void_t

template<typename T >
using corium::async::detail::wrap_void_t = typedef typename WrapVoid<T>::type

Function Documentation

◆ checkTaskDone()

template<size_t Index, typename TaskType , typename ResultVariant >
bool corium::async::detail::checkTaskDone ( TaskType &  task,
size_t &  winnerIndex,
ResultVariant &  resultVariant 
)

◆ resumeTask()

template<size_t Index, typename TaskType >
void corium::async::detail::resumeTask ( TaskType &  task)

◆ whenAllValueImpl()

template<typename... Tasks>
Task< std::tuple< typename std::decay_t< Tasks >::ValueType... > > corium::async::detail::whenAllValueImpl ( Tasks...  tasks)
+ Here is the caller graph for this function:

◆ whenAllVoidImpl()

template<typename... Tasks>
Task< void > corium::async::detail::whenAllVoidImpl ( Tasks...  tasks)
+ Here is the caller graph for this function:

◆ whenAnyImpl()

template<typename... Tasks, size_t... Is>
Task< WhenAnyResult< typename std::decay_t< Tasks >::ValueType... > > corium::async::detail::whenAnyImpl ( std::index_sequence< Is... >  ,
Tasks...  tasks 
)
+ Here is the caller graph for this function:

Variable Documentation

◆ all_void_tasks_v

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