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 296 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 307 of file parallel_reduce.h.

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

◆ 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 313 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

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 301 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-2019 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.