MEL
Microthread & Execution library
mel::execution::Executor< ThreadPool > Class Reference

Executor specialization using a ThreadPool as execution agent. More...

#include <ThreadPoolExecutor.h>

Public Member Functions

 Executor (std::shared_ptr< ThreadPool > pool)
 
 Executor (Executor &&ex)
 
 Executor (const Executor &ex)
 
Executoroperator= (const Executor &ex)
 
Executoroperator= (Executor &&ex)
 
void setOpts (const ThreadPoolExecutorOpts &opts)
 
const ThreadPoolExecutorOptsgetOpts ()
 
std::weak_ptr< ThreadPool > & getPool ()
 
const std::weak_ptr< ThreadPool > & getPool () const
 
template<class I , class F >
::mel::parallelism::Barrier loop (I &&begin, I &&end, F &&functor, int increment)
 
template<class TArg , class... FTypes>
::mel::parallelism::Barrier parallel (ExFuture< ThreadPool, TArg > fut, std::exception_ptr &except, FTypes &&... functions)
 
template<class ReturnTuple , class TArg , class... FTypes>
::mel::parallelism::Barrier parallel_convert (ExFuture< ThreadPool, TArg > fut, std::exception_ptr &except, ReturnTuple &result, FTypes &&... functions)
 
template<class TRet , class TArg , class F >
void launch (F &&f, TArg &&arg, ExFuture< ThreadPool, TRet > output) const noexcept
 
template<class TRet , class F >
void launch (F &&f, ExFuture< ThreadPool, TRet > output) const noexcept
 
template<class I , class F >
::mel::parallelism::Barrier loop (I &&begin, I &&end, F &&functor, int increment)
 
template<class TArg , class... FTypes>
::mel::parallelism::Barrier parallel (ExFuture< ThreadPool, TArg > fut, std::exception_ptr &excpt, FTypes &&... functions)
 
template<class ReturnTuple , class TArg , class... FTypes>
::mel::parallelism::Barrier parallel_convert (ExFuture< ThreadPool, TArg > fut, std::exception_ptr &except, ReturnTuple &result, FTypes &&... functions)
 

Detailed Description

Executor specialization using a ThreadPool as execution agent.

Member Function Documentation

◆ launch()

template<class TRet , class TArg , class F >
void mel::execution::Executor< ThreadPool >::launch ( F &&  f,
TArg &&  arg,
ExFuture< ThreadPool, TRet >  output 
) const
inlinenoexcept

brief mandatory interface from Executor


The documentation for this class was generated from the following file: