Home ⌂Doc Index ◂Up ▴
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 65 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 67 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 86 of file parallel_do.h.

87  {
88  internal_call( obj, tbb::internal::forward<A1>(arg1), arg2, &Body::operator() );
89  }
static void internal_call(const Body &obj, __TBB_FORWARDING_REF(A1) arg1, A2 &, void(Body::*)(CvItem) const)
Definition: parallel_do.h:69

References tbb::interface9::internal::parallel_do_operator_selector< Body, Item >::internal_call().

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

Here is the call graph for this function:
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 69 of file parallel_do.h.

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

Referenced by tbb::interface9::internal::parallel_do_operator_selector< Body, Item >::call().

Here is the caller graph for this function:

◆ 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 73 of file parallel_do.h.

73  {
74  obj(tbb::internal::forward<A1>(arg1), arg2);
75  }

◆ 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 77 of file parallel_do.h.

77  {
78  obj(arg1);
79  }

◆ 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 81 of file parallel_do.h.

81  {
82  obj(arg1, arg2);
83  }

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.