|
ROOT 6.14/05 Reference Guide |
Definition at line 22 of file TSequentialExecutor.hxx.
Public Member Functions | |
| TSequentialExecutor () | |
| TSequentialExecutor (TSequentialExecutor &)=delete | |
| template<class F > | |
| void | Foreach (F func, unsigned nTimes) |
| Execute func (with no arguments) nTimes. More... | |
| template<class F , class INTEGER > | |
| void | Foreach (F func, ROOT::TSeq< INTEGER > args) |
| Execute func, taking an element of a sequence as argument. More... | |
| template<class F , class T > | |
| void | Foreach (F func, std::vector< T > &args) |
| Execute func, taking an element of an std::vector as argument. More... | |
| template<class F , class Cond = noReferenceCond<F>> | |
| auto | Map (F func, unsigned nTimes) -> std::vector< typename std::result_of< F()>::type > |
| Execute func (with no arguments) nTimes. More... | |
| template<class F , class INTEGER , class Cond = noReferenceCond<F, INTEGER>> | |
| auto | Map (F func, ROOT::TSeq< INTEGER > args) -> std::vector< typename std::result_of< F(INTEGER)>::type > |
| Execute func, taking an element of a sequence as argument. More... | |
| template<class F , class T , class Cond = noReferenceCond<F, T>> | |
| auto | Map (F func, std::vector< T > &args) -> std::vector< typename std::result_of< F(T)>::type > |
| Execute func, taking an element of an std::vector as argument. More... | |
| template<class F , class R , class Cond = noReferenceCond<F>> | |
| auto | MapReduce (F func, unsigned nTimes, R redfunc) -> typename std::result_of< F()>::type |
| template<class F , class T , class R , class Cond = noReferenceCond<F, T>> | |
| auto | MapReduce (F func, std::vector< T > &args, R redfunc) -> typename std::result_of< F(T)>::type |
| TSequentialExecutor & | operator= (TSequentialExecutor &)=delete |
| template<class T , class R > | |
| auto | Reduce (const std::vector< T > &objs, R redfunc) -> decltype(redfunc(objs)) |
| "Reduce" an std::vector into a single object by passing a function as the second argument defining the reduction operation. More... | |
Public Member Functions inherited from ROOT::TExecutor< TSequentialExecutor > | |
| TExecutor ()=default | |
| TExecutor (size_t) | |
| auto | Map (F func, unsigned nTimes) -> std::vector< typename std::result_of< F()>::type > |
| Execute func (with no arguments) nTimes in parallel. More... | |
| auto | Map (F func, ROOT::TSeq< INTEGER > args) -> std::vector< typename std::result_of< F(INTEGER)>::type > |
| Execute func in parallel, taking an element of a sequence as argument. More... | |
| auto | Map (F func, std::vector< T > &args) -> std::vector< typename std::result_of< F(T)>::type > |
| Execute func in parallel, taking an element of an std::vector as argument. More... | |
| auto | Map (F func, std::initializer_list< T > args) -> std::vector< typename std::result_of< F(T)>::type > |
| Execute func in parallel, taking an element of the std::initializer_list as argument. More... | |
| auto | MapReduce (F func, ROOT::TSeq< INTEGER > args, R redfunc) -> typename std::result_of< F(INTEGER)>::type |
| This method behaves just like Map, but an additional redfunc function must be provided. More... | |
| T * | MapReduce (F func, std::vector< T * > &args) |
| auto | MapReduce (F func, std::initializer_list< T > args, R redfunc) -> typename std::result_of< F(T)>::type |
| T * | Reduce (const std::vector< T * > &mergeObjs) |
| "Reduce" an std::vector into a single object by using the object's Merge More... | |
Additional Inherited Members | |
Public Types inherited from ROOT::TExecutor< TSequentialExecutor > | |
| using | noReferenceCond = typename std::enable_if<"Function can't return a reference" &&!(std::is_reference< typename std::result_of< F(T...)>::type >::value)>::type |
#include <ROOT/TSequentialExecutor.hxx>
|
inlineexplicit |
Definition at line 24 of file TSequentialExecutor.hxx.
|
delete |
Execute func (with no arguments) nTimes.
Functions that take more than zero arguments can be executed (with fixed arguments) by wrapping them in a lambda or with std::bind.
Definition at line 69 of file TSequentialExecutor.hxx.
| void ROOT::TSequentialExecutor::Foreach | ( | F | func, |
| ROOT::TSeq< INTEGER > | args | ||
| ) |
Execute func, taking an element of a sequence as argument.
Definition at line 77 of file TSequentialExecutor.hxx.
| void ROOT::TSequentialExecutor::Foreach | ( | F | func, |
| std::vector< T > & | args | ||
| ) |
Execute func, taking an element of an std::vector as argument.
Definition at line 96 of file TSequentialExecutor.hxx.
| auto ROOT::TSequentialExecutor::Map | ( | F | func, |
| unsigned | nTimes | ||
| ) | -> std::vector<typename std::result_of<F()>::type> |
Execute func (with no arguments) nTimes.
A vector containg executions' results is returned. Functions that take more than zero arguments can be executed (with fixed arguments) by wrapping them in a lambda or with std::bind.
Definition at line 107 of file TSequentialExecutor.hxx.
| auto ROOT::TSequentialExecutor::Map | ( | F | func, |
| ROOT::TSeq< INTEGER > | args | ||
| ) | -> std::vector<typename std::result_of<F(INTEGER)>::type> |
Execute func, taking an element of a sequence as argument.
A vector containg executions' results is returned.
Definition at line 119 of file TSequentialExecutor.hxx.
| auto ROOT::TSequentialExecutor::Map | ( | F | func, |
| std::vector< T > & | args | ||
| ) | -> std::vector<typename std::result_of<F(T)>::type> |
Execute func, taking an element of an std::vector as argument.
A vector containg executions' results is returned.
Definition at line 133 of file TSequentialExecutor.hxx.
| auto ROOT::TSequentialExecutor::MapReduce | ( | F | func, |
| unsigned | nTimes, | ||
| R | redfunc | ||
| ) | -> typename std::result_of<F()>::type |
Definition at line 143 of file TSequentialExecutor.hxx.
| auto ROOT::TSequentialExecutor::MapReduce | ( | F | func, |
| std::vector< T > & | args, | ||
| R | redfunc | ||
| ) | -> typename std::result_of<F(T)>::type |
Definition at line 148 of file TSequentialExecutor.hxx.
|
delete |
| auto ROOT::TSequentialExecutor::Reduce | ( | const std::vector< T > & | objs, |
| R | redfunc | ||
| ) | -> decltype(redfunc(objs)) |
"Reduce" an std::vector into a single object by passing a function as the second argument defining the reduction operation.
Definition at line 156 of file TSequentialExecutor.hxx.