Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::interface9::internal::parallel_do_operator_selector< Body, Item > Class Template Reference

For internal use only. More...

#include <parallel_do.h>

Collaboration diagram for tbb::interface9::internal::parallel_do_operator_selector< Body, Item >:

Static Public Member Functions

template<typename A1 , typename A2 >
static void call (const Body &obj, __TBB_FORWARDING_REF(A1) arg1, A2 &arg2)
 

Private Types

typedef parallel_do_feeder< Item > Feeder
 

Static Private Member Functions

template<typename A1 , typename A2 , typename CvItem >
static void internal_call (const Body &obj, __TBB_FORWARDING_REF(A1) arg1, A2 &, void(Body::*)(CvItem) const)
 
template<typename A1 , typename A2 , typename CvItem >
static void internal_call (const Body &obj, __TBB_FORWARDING_REF(A1) arg1, A2 &arg2, void(Body::*)(CvItem, parallel_do_feeder< Item > &) const)
 
template<typename A1 , typename A2 , typename CvItem >
static void internal_call (const Body &obj, __TBB_FORWARDING_REF(A1) arg1, A2 &, void(Body::*)(CvItem &) const)
 
template<typename A1 , typename A2 , typename CvItem >
static void internal_call (const Body &obj, __TBB_FORWARDING_REF(A1) arg1, A2 &arg2, void(Body::*)(CvItem &, parallel_do_feeder< Item > &) const)
 

Detailed Description

template<class Body, typename Item>
class tbb::interface9::internal::parallel_do_operator_selector< Body, Item >

For internal use only.

Selects one of the two possible forms of function call member operator.

Definition at line 62 of file parallel_do.h.

Member Typedef Documentation

◆ Feeder

template<class Body , typename Item >
typedef parallel_do_feeder<Item> tbb::interface9::internal::parallel_do_operator_selector< Body, Item >::Feeder
private

Definition at line 64 of file parallel_do.h.

Member Function Documentation

◆ call()

template<class Body , typename Item >
template<typename A1 , typename A2 >
static void tbb::interface9::internal::parallel_do_operator_selector< Body, Item >::call ( const Body &  obj,
__TBB_FORWARDING_REF(A1)  arg1,
A2 &  arg2 
)
inlinestatic

Definition at line 83 of file parallel_do.h.

Referenced by tbb::interface9::internal::do_iteration_task< Body, Item >::execute(), and tbb::interface9::internal::do_iteration_task_iter< Iterator, Body, Item >::execute().

84  {
85  internal_call( obj, tbb::internal::forward<A1>(arg1), arg2, &Body::operator() );
86  }
static void internal_call(const Body &obj, __TBB_FORWARDING_REF(A1) arg1, A2 &, void(Body::*)(CvItem) const)
Definition: parallel_do.h:66
Here is the caller graph for this function:

◆ internal_call() [1/4]

template<class Body , typename Item >
template<typename A1 , typename A2 , typename CvItem >
static void tbb::interface9::internal::parallel_do_operator_selector< Body, Item >::internal_call ( const Body &  obj,
__TBB_FORWARDING_REF(A1)  arg1,
A2 &  ,
void(Body::*)(CvItem)  const 
)
inlinestaticprivate

Definition at line 66 of file parallel_do.h.

66  {
67  obj(tbb::internal::forward<A1>(arg1));
68  }

◆ internal_call() [2/4]

template<class Body , typename Item >
template<typename A1 , typename A2 , typename CvItem >
static void tbb::interface9::internal::parallel_do_operator_selector< Body, Item >::internal_call ( const Body &  obj,
__TBB_FORWARDING_REF(A1)  arg1,
A2 &  arg2,
void(Body::*)(CvItem, parallel_do_feeder< Item > &)  const 
)
inlinestaticprivate

Definition at line 70 of file parallel_do.h.

70  {
71  obj(tbb::internal::forward<A1>(arg1), arg2);
72  }

◆ internal_call() [3/4]

template<class Body , typename Item >
template<typename A1 , typename A2 , typename CvItem >
static void tbb::interface9::internal::parallel_do_operator_selector< Body, Item >::internal_call ( const Body &  obj,
__TBB_FORWARDING_REF(A1)  arg1,
A2 &  ,
void(Body::*)(CvItem &)  const 
)
inlinestaticprivate

Definition at line 74 of file parallel_do.h.

74  {
75  obj(arg1);
76  }

◆ internal_call() [4/4]

template<class Body , typename Item >
template<typename A1 , typename A2 , typename CvItem >
static void tbb::interface9::internal::parallel_do_operator_selector< Body, Item >::internal_call ( const Body &  obj,
__TBB_FORWARDING_REF(A1)  arg1,
A2 &  arg2,
void(Body::*)(CvItem &, parallel_do_feeder< Item > &)  const 
)
inlinestaticprivate

Definition at line 78 of file parallel_do.h.

78  {
79  obj(arg1, arg2);
80  }

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.