Manages the launch conditions for aggregated function calls type/value-errors.
More...
|
| aggregated_function_call (const size_t number_slices, bool async_mode, Executor &exec) |
|
| ~aggregated_function_call (void) |
|
bool | sync_aggregation_slices (hpx::lcos::future< void > &stream_future) |
| Returns true if all required slices have visited this point.
|
|
template<typename F , typename... Ts> |
void | post_when (hpx::lcos::future< void > &stream_future, F &&f, Ts &&...ts) |
|
template<typename F , typename... Ts> |
hpx::lcos::future< void > | async_when (hpx::lcos::future< void > &stream_future, F &&f, Ts &&...ts) |
|
template<typename F , typename... Ts> |
hpx::lcos::shared_future< void > | wrap_async (hpx::lcos::future< void > &stream_future, F &&f, Ts &&...ts) |
|
| aggregated_function_call (const aggregated_function_call &other)=default |
|
aggregated_function_call & | operator= (const aggregated_function_call &other)=default |
|
| aggregated_function_call (aggregated_function_call &&other)=default |
|
aggregated_function_call & | operator= (aggregated_function_call &&other)=default |
|
template<
typename Executor>
class cppuddle::kernel_aggregation::detail::aggregated_function_call< Executor >
Manages the launch conditions for aggregated function calls type/value-errors.
Launch conditions: All slice executors must have called the same function (tracked by future all_slices_ready) AND Previous aggregated_function_call on the same Executor must have been launched (tracked by future stream_future) All function calls received from the slice executors are checked if they match the first one in both types and values (throws exception otherwise)