Home ⌂Doc Index ◂Up ▴
Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::internal::lambda_reduce_body< Range, Value, RealBody, Reduction > Class Template Reference

Auxiliary class for parallel_reduce; for internal use only. More...

#include <parallel_reduce.h>

Collaboration diagram for tbb::internal::lambda_reduce_body< Range, Value, RealBody, Reduction >:

Public Member Functions

 lambda_reduce_body (const Value &identity, const RealBody &body, const Reduction &reduction)
 
 lambda_reduce_body (const lambda_reduce_body &other)
 
 lambda_reduce_body (lambda_reduce_body &other, tbb::split)
 
void operator() (Range &range)
 
void join (lambda_reduce_body &rhs)
 
Value result () const
 

Private Member Functions

lambda_reduce_bodyoperator= (const lambda_reduce_body &other)
 

Private Attributes

const Value & identity_element
 
const RealBody & my_real_body
 
const Reduction & my_reduction
 
Value my_value
 

Detailed Description

template<typename Range, typename Value, typename RealBody, typename Reduction>
class tbb::internal::lambda_reduce_body< Range, Value, RealBody, Reduction >

Auxiliary class for parallel_reduce; for internal use only.

The adaptor class that implements parallel_reduce Body using given anonymous function objects.

Definition at line 295 of file parallel_reduce.h.

Constructor & Destructor Documentation

◆ lambda_reduce_body() [1/3]

template<typename Range, typename Value, typename RealBody, typename Reduction>
tbb::internal::lambda_reduce_body< Range, Value, RealBody, Reduction >::lambda_reduce_body ( const Value &  identity,
const RealBody &  body,
const Reduction &  reduction 
)
inline

Definition at line 306 of file parallel_reduce.h.

307  : identity_element(identity)
308  , my_real_body(body)
309  , my_reduction(reduction)
310  , my_value(identity)
311  { }

◆ lambda_reduce_body() [2/3]

template<typename Range, typename Value, typename RealBody, typename Reduction>
tbb::internal::lambda_reduce_body< Range, Value, RealBody, Reduction >::lambda_reduce_body ( const lambda_reduce_body< Range, Value, RealBody, Reduction > &  other)
inline

Definition at line 312 of file parallel_reduce.h.

◆ lambda_reduce_body() [3/3]

template<typename Range, typename Value, typename RealBody, typename Reduction>
tbb::internal::lambda_reduce_body< Range, Value, RealBody, Reduction >::lambda_reduce_body ( lambda_reduce_body< Range, Value, RealBody, Reduction > &  other,
tbb::split   
)
inline

Member Function Documentation

◆ join()

template<typename Range, typename Value, typename RealBody, typename Reduction>
void tbb::internal::lambda_reduce_body< Range, Value, RealBody, Reduction >::join ( lambda_reduce_body< Range, Value, RealBody, Reduction > &  rhs)
inline

◆ operator()()

template<typename Range, typename Value, typename RealBody, typename Reduction>
void tbb::internal::lambda_reduce_body< Range, Value, RealBody, Reduction >::operator() ( Range &  range)
inline

◆ operator=()

template<typename Range, typename Value, typename RealBody, typename Reduction>
lambda_reduce_body& tbb::internal::lambda_reduce_body< Range, Value, RealBody, Reduction >::operator= ( const lambda_reduce_body< Range, Value, RealBody, Reduction > &  other)
private

◆ result()

template<typename Range, typename Value, typename RealBody, typename Reduction>
Value tbb::internal::lambda_reduce_body< Range, Value, RealBody, Reduction >::result ( ) const
inline

Definition at line 330 of file parallel_reduce.h.

330  {
331  return my_value;
332  }

References tbb::internal::lambda_reduce_body< Range, Value, RealBody, Reduction >::my_value.

Referenced by tbb::parallel_deterministic_reduce(), and tbb::parallel_reduce().

Here is the caller graph for this function:

Member Data Documentation

◆ identity_element

template<typename Range, typename Value, typename RealBody, typename Reduction>
const Value& tbb::internal::lambda_reduce_body< Range, Value, RealBody, Reduction >::identity_element
private

Definition at line 300 of file parallel_reduce.h.

◆ my_real_body

template<typename Range, typename Value, typename RealBody, typename Reduction>
const RealBody& tbb::internal::lambda_reduce_body< Range, Value, RealBody, Reduction >::my_real_body
private

◆ my_reduction

template<typename Range, typename Value, typename RealBody, typename Reduction>
const Reduction& tbb::internal::lambda_reduce_body< Range, Value, RealBody, Reduction >::my_reduction
private

◆ my_value

template<typename Range, typename Value, typename RealBody, typename Reduction>
Value tbb::internal::lambda_reduce_body< Range, Value, RealBody, Reduction >::my_value
private

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

Copyright © 2005-2020 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.