15 #ifndef CORE_OPERATION_REDUCTION_OP_H_
16 #define CORE_OPERATION_REDUCTION_OP_H_
90 for (
auto& el : tl_results) {
Contains code required by all agents.
BDM_OP_HEADER(ReductionOp)
Functor< void, Agent *, T * > * agent_functor_
const std::vector< T > & GetResults() const
void operator()(Agent *agent) override
void Initialize(Functor< void, Agent *, T * > *agent_functor, Functor< T, const SharedData< T > & > *reduce_functor)
SharedData< T > tl_results_
std::vector< T > results_
Functor< T, const SharedData< T > & > * reduce_functor_
The SharedData class avoids false sharing between threads.
static ThreadInfo * GetInstance()
int GetMyThreadId() const
Interface for implementing an operation.
T operator()(const SharedData< T > &tl_results) override