Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
tbb::flow::interface11::limiter_node< T, U > Class Template Reference

Forwards messages only if the threshold has not been reached. More...

#include <flow_graph.h>

Inheritance diagram for tbb::flow::interface11::limiter_node< T, U >:
Collaboration diagram for tbb::flow::interface11::limiter_node< T, U >:

Public Types

typedef T input_type
 
typedef T output_type
 
typedef receiver< input_type >
::predecessor_type 
predecessor_type
 
typedef sender< output_type >
::successor_type 
successor_type
 
- Public Types inherited from tbb::flow::interface11::internal::untyped_receiver
typedef untyped_sender predecessor_type
 The predecessor type for this node. More...
 
- Public Types inherited from tbb::flow::interface11::internal::untyped_sender
typedef untyped_receiver successor_type
 The successor type for this node. More...
 

Public Member Functions

 limiter_node (graph &g, __TBB_DEPRECATED_LIMITER_ARG2(size_t threshold, int num_decrement_predecessors=0))
 Constructor. More...
 
 limiter_node (const limiter_node &src)
 Copy constructor. More...
 
bool register_successor (successor_type &r) __TBB_override
 Replace the current successor with this new successor. More...
 
bool remove_successor (successor_type &r) __TBB_override
 Removes a successor from this node. More...
 
bool register_predecessor (predecessor_type &src) __TBB_override
 Adds src to the list of cached predecessors. More...
 
bool remove_predecessor (predecessor_type &src) __TBB_override
 Removes src from the list of cached predecessors. More...
 
- Public Member Functions inherited from tbb::flow::interface11::graph_node
 graph_node (graph &g)
 
virtual ~graph_node ()
 
- Public Member Functions inherited from tbb::flow::interface11::receiver< T >
bool try_put (const typename internal::async_helpers< T >::filtered_type &t)
 Put an item to the receiver. More...
 
bool try_put (const typename internal::async_helpers< T >::async_type &t)
 
- Public Member Functions inherited from tbb::flow::interface11::internal::untyped_receiver
virtual ~untyped_receiver ()
 Destructor. More...
 
template<typename X >
bool try_put (const X &t)
 Put an item to the receiver. More...
 
- Public Member Functions inherited from tbb::flow::interface11::sender< T >
virtual bool try_get (T &)
 Request an item from the sender. More...
 
virtual bool try_reserve (T &)
 Reserves an item in the sender. More...
 
- Public Member Functions inherited from tbb::flow::interface11::internal::untyped_sender
virtual ~untyped_sender ()
 
virtual bool try_release ()
 Releases the reserved item. More...
 
virtual bool try_consume ()
 Consumes the reserved item. More...
 

Public Attributes

internal::decrementer
< limiter_node< T,
DecrementType >, DecrementType > 
decrement
 The internal receiver< DecrementType > that decrements the count. More...
 
- Public Attributes inherited from tbb::flow::interface11::receiver< T >
__TBB_DEPRECATED typedef T input_type
 The input type of this receiver. More...
 
__TBB_DEPRECATED typedef
internal::async_helpers< T >
::filtered_type 
filtered_type
 
- Public Attributes inherited from tbb::flow::interface11::sender< T >
__TBB_DEPRECATED typedef T output_type
 The output type of this sender. More...
 
__TBB_DEPRECATED typedef
internal::async_helpers< T >
::filtered_type 
filtered_type
 

Protected Member Functions

tasktry_put_task (const T &t) __TBB_override
 Puts an item to this receiver. More...
 
graphgraph_reference () const __TBB_override
 
void reset_receiver (reset_flags) __TBB_override
 put receiver back in initial state More...
 
void reset_node (reset_flags f) __TBB_override
 
- Protected Member Functions inherited from tbb::flow::interface11::receiver< T >
virtual tasktry_put_task_wrapper (const void *p, bool is_async) __TBB_override
 
- Protected Member Functions inherited from tbb::flow::interface11::internal::untyped_receiver
template<typename X >
tasktry_put_task (const X &t)
 
virtual bool is_continue_receiver ()
 
- Protected Member Functions inherited from tbb::flow::interface11::sender< T >
virtual bool try_get_wrapper (void *p, bool is_async) __TBB_override
 
virtual bool try_reserve_wrapper (void *p, bool is_async) __TBB_override
 
- Protected Member Functions inherited from tbb::flow::interface11::internal::untyped_sender
template<typename X >
bool try_get (X &t)
 Request an item from the sender. More...
 
template<typename X >
bool try_reserve (X &t)
 Reserves an item in the sender. More...
 

Private Member Functions

bool check_conditions ()
 
taskforward_task ()
 
void forward ()
 
taskdecrement_counter (long long delta)
 
void initialize ()
 

Private Attributes

size_t my_threshold
 
size_t my_count
 
size_t my_tries
 
internal::reservable_predecessor_cache
< T, spin_mutex
my_predecessors
 
spin_mutex my_mutex
 
internal::broadcast_cache< T > my_successors
 

Friends

class internal::forward_task_bypass< limiter_node< T, DecrementType > >
 
class internal::decrementer< limiter_node< T, DecrementType >, DecrementType >
 
template<typename R , typename B >
class run_and_put_task
 
template<typename X , typename Y >
class internal::broadcast_cache
 
template<typename X , typename Y >
class internal::round_robin_cache
 

Additional Inherited Members

- Protected Attributes inherited from tbb::flow::interface11::graph_node
graphmy_graph
 
graph_nodenext
 
graph_nodeprev
 

Detailed Description

template<typename T, typename U>
class tbb::flow::interface11::limiter_node< T, U >

Forwards messages only if the threshold has not been reached.

This node forwards items until its threshold is reached. It contains no buffering. If the downstream node rejects, the message is dropped.

Definition at line 120 of file flow_graph.h.

Member Typedef Documentation

template<typename T , typename U >
typedef T tbb::flow::interface11::limiter_node< T, U >::input_type

Definition at line 2979 of file flow_graph.h.

template<typename T , typename U >
typedef T tbb::flow::interface11::limiter_node< T, U >::output_type

Definition at line 2980 of file flow_graph.h.

template<typename T , typename U >
typedef receiver<input_type>::predecessor_type tbb::flow::interface11::limiter_node< T, U >::predecessor_type

Definition at line 2981 of file flow_graph.h.

template<typename T , typename U >
typedef sender<output_type>::successor_type tbb::flow::interface11::limiter_node< T, U >::successor_type

Definition at line 2982 of file flow_graph.h.

Constructor & Destructor Documentation

template<typename T , typename U >
tbb::flow::interface11::limiter_node< T, U >::limiter_node ( graph g,
__TBB_DEPRECATED_LIMITER_ARG2(size_t threshold, int num_decrement_predecessors=0)   
)
inline

Constructor.

Definition at line 3102 of file flow_graph.h.

3104  : graph_node(g), my_threshold(threshold), my_count(0),
3106  my_tries(0), decrement(),
3107  init_decrement_predecessors(num_decrement_predecessors),
3108  decrement(num_decrement_predecessors)) {
3109  initialize();
3110  }
#define __TBB_DEPRECATED_LIMITER_ARG4(arg1, arg2, arg3, arg4)
internal::decrementer< limiter_node< T, DecrementType >, DecrementType > decrement
The internal receiver< DecrementType > that decrements the count.
Definition: flow_graph.h:3093
template<typename T , typename U >
tbb::flow::interface11::limiter_node< T, U >::limiter_node ( const limiter_node< T, U > &  src)
inline

Copy constructor.

Definition at line 3121 of file flow_graph.h.

3121  :
3122  graph_node(src.my_graph), receiver<T>(), sender<T>(),
3123  my_threshold(src.my_threshold), my_count(0),
3125  my_tries(0), decrement(),
3126  init_decrement_predecessors(src.init_decrement_predecessors),
3127  decrement(src.init_decrement_predecessors)) {
3128  initialize();
3129  }
#define __TBB_DEPRECATED_LIMITER_ARG4(arg1, arg2, arg3, arg4)
internal::decrementer< limiter_node< T, DecrementType >, DecrementType > decrement
The internal receiver< DecrementType > that decrements the count.
Definition: flow_graph.h:3093

Member Function Documentation

template<typename T , typename U >
bool tbb::flow::interface11::limiter_node< T, U >::check_conditions ( )
inlineprivate

Definition at line 3005 of file flow_graph.h.

References tbb::flow::interface11::internal::successor_cache< T, M >::empty().

3005  { // always called under lock
3006  return ( my_count + my_tries < my_threshold && !my_predecessors.empty() && !my_successors.empty() );
3007  }
internal::reservable_predecessor_cache< T, spin_mutex > my_predecessors
Definition: flow_graph.h:2995
internal::broadcast_cache< T > my_successors
Definition: flow_graph.h:2997

Here is the call graph for this function:

template<typename T , typename U >
task* tbb::flow::interface11::limiter_node< T, U >::decrement_counter ( long long  delta)
inlineprivate

Definition at line 3068 of file flow_graph.h.

References tbb::lock().

3068  {
3069  {
3071  if( delta > 0 && size_t(delta) > my_count )
3072  my_count = 0;
3073  else if( delta < 0 && size_t(delta) > my_threshold - my_count )
3075  else
3076  my_count -= size_t(delta); // absolute value of delta is sufficiently small
3077  }
3078  return forward_task();
3079  }
void lock()
Acquire lock.
Definition: mutex.h:157
friend class scoped_lock
Definition: spin_mutex.h:179

Here is the call graph for this function:

template<typename T , typename U >
void tbb::flow::interface11::limiter_node< T, U >::forward ( )
inlineprivate

Definition at line 3063 of file flow_graph.h.

References __TBB_ASSERT.

3063  {
3064  __TBB_ASSERT(false, "Should never be called");
3065  return;
3066  }
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
Definition: tbb_stddef.h:165
template<typename T , typename U >
task* tbb::flow::interface11::limiter_node< T, U >::forward_task ( )
inlineprivate

Definition at line 3010 of file flow_graph.h.

References __TBB_ASSERT, tbb::flow::interface11::internal::is_graph_active(), tbb::lock(), tbb::flow::interface11::internal::spawn_in_graph_arena(), and tbb::flow::interface11::internal::broadcast_cache< T, M >::try_put_task().

3010  {
3011  input_type v;
3012  task *rval = NULL;
3013  bool reserved = false;
3014  {
3016  if ( check_conditions() )
3017  ++my_tries;
3018  else
3019  return NULL;
3020  }
3021 
3022  //SUCCESS
3023  // if we can reserve and can put, we consume the reservation
3024  // we increment the count and decrement the tries
3025  if ( (my_predecessors.try_reserve(v)) == true ){
3026  reserved=true;
3027  if ( (rval = my_successors.try_put_task(v)) != NULL ){
3028  {
3030  ++my_count;
3031  --my_tries;
3032  my_predecessors.try_consume();
3033  if ( check_conditions() ) {
3034  if ( internal::is_graph_active(this->my_graph) ) {
3035  task *rtask = new ( task::allocate_additional_child_of( *(this->my_graph.root_task()) ) )
3036  internal::forward_task_bypass< limiter_node<T, DecrementType> >( *this );
3038  }
3039  }
3040  }
3041  return rval;
3042  }
3043  }
3044  //FAILURE
3045  //if we can't reserve, we decrement the tries
3046  //if we can reserve but can't put, we decrement the tries and release the reservation
3047  {
3049  --my_tries;
3050  if (reserved) my_predecessors.try_release();
3051  if ( check_conditions() ) {
3052  if ( internal::is_graph_active(this->my_graph) ) {
3053  task *rtask = new ( task::allocate_additional_child_of( *(this->my_graph.root_task()) ) )
3054  internal::forward_task_bypass< limiter_node<T, DecrementType> >( *this );
3055  __TBB_ASSERT(!rval, "Have two tasks to handle");
3056  return rtask;
3057  }
3058  }
3059  return rval;
3060  }
3061  }
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
Definition: tbb_stddef.h:165
tbb::task * root_task()
Returns the root task of the graph.
graph & graph_reference() const __TBB_override
Definition: flow_graph.h:3252
internal::reservable_predecessor_cache< T, spin_mutex > my_predecessors
Definition: flow_graph.h:2995
bool is_graph_active(tbb::flow::interface10::graph &g)
internal::broadcast_cache< T > my_successors
Definition: flow_graph.h:2997
void spawn_in_graph_arena(tbb::flow::interface10::graph &g, tbb::task &arena_task)
Spawns a task inside graph arena.
void lock()
Acquire lock.
Definition: mutex.h:157
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task * task
A task that calls a node's forward_task function.
friend class scoped_lock
Definition: spin_mutex.h:179

Here is the call graph for this function:

template<typename T , typename U >
graph& tbb::flow::interface11::limiter_node< T, U >::graph_reference ( ) const
inlineprotectedvirtual
template<typename T , typename U >
void tbb::flow::interface11::limiter_node< T, U >::initialize ( )
inlineprivate

Definition at line 3081 of file flow_graph.h.

References CODEPTR, tbb::internal::fgt_node(), and tbb::flow::interface11::internal::successor_cache< T, M >::set_owner().

3081  {
3082  my_predecessors.set_owner(this);
3083  my_successors.set_owner(this);
3084  decrement.set_owner(this);
3086  CODEPTR(), tbb::internal::FLOW_LIMITER_NODE, &this->my_graph,
3087  static_cast<receiver<input_type> *>(this), static_cast<receiver<DecrementType> *>(&decrement),
3088  static_cast<sender<output_type> *>(this)
3089  );
3090  }
internal::reservable_predecessor_cache< T, spin_mutex > my_predecessors
Definition: flow_graph.h:2995
internal::broadcast_cache< T > my_successors
Definition: flow_graph.h:2997
internal::decrementer< limiter_node< T, DecrementType >, DecrementType > decrement
The internal receiver< DecrementType > that decrements the count.
Definition: flow_graph.h:3093
static void fgt_node(void *, string_index, void *, void *)
#define CODEPTR()

Here is the call graph for this function:

template<typename T , typename U >
bool tbb::flow::interface11::limiter_node< T, U >::register_predecessor ( predecessor_type src)
inlinevirtual

Adds src to the list of cached predecessors.

Reimplemented from tbb::flow::interface11::internal::untyped_receiver.

Definition at line 3202 of file flow_graph.h.

References tbb::flow::interface11::internal::successor_cache< T, M >::empty(), tbb::flow::interface11::internal::is_graph_active(), tbb::lock(), and tbb::flow::interface11::internal::spawn_in_graph_arena().

3202  {
3204  my_predecessors.add( src );
3206  task* task = new ( task::allocate_additional_child_of( *(this->my_graph.root_task()) ) )
3207  internal::forward_task_bypass < limiter_node<T, DecrementType> >( *this );
3209  }
3210  return true;
3211  }
tbb::task * root_task()
Returns the root task of the graph.
graph & graph_reference() const __TBB_override
Definition: flow_graph.h:3252
internal::reservable_predecessor_cache< T, spin_mutex > my_predecessors
Definition: flow_graph.h:2995
bool is_graph_active(tbb::flow::interface10::graph &g)
internal::broadcast_cache< T > my_successors
Definition: flow_graph.h:2997
void spawn_in_graph_arena(tbb::flow::interface10::graph &g, tbb::task &arena_task)
Spawns a task inside graph arena.
void lock()
Acquire lock.
Definition: mutex.h:157
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task * task
A task that calls a node's forward_task function.
friend class scoped_lock
Definition: spin_mutex.h:179

Here is the call graph for this function:

template<typename T , typename U >
bool tbb::flow::interface11::limiter_node< T, U >::register_successor ( successor_type r)
inlinevirtual

Replace the current successor with this new successor.

Implements tbb::flow::interface11::internal::untyped_sender.

Definition at line 3138 of file flow_graph.h.

References tbb::flow::interface11::internal::successor_cache< T, M >::empty(), tbb::flow::interface11::internal::is_graph_active(), tbb::lock(), tbb::flow::interface11::internal::successor_cache< T, M >::register_successor(), and tbb::flow::interface11::internal::spawn_in_graph_arena().

3138  {
3140  bool was_empty = my_successors.empty();
3142  //spawn a forward task if this is the only successor
3143  if ( was_empty && !my_predecessors.empty() && my_count + my_tries < my_threshold ) {
3144  if ( internal::is_graph_active(this->my_graph) ) {
3145  task* task = new ( task::allocate_additional_child_of( *(this->my_graph.root_task()) ) )
3146  internal::forward_task_bypass < limiter_node<T, DecrementType> >( *this );
3148  }
3149  }
3150  return true;
3151  }
tbb::task * root_task()
Returns the root task of the graph.
graph & graph_reference() const __TBB_override
Definition: flow_graph.h:3252
internal::reservable_predecessor_cache< T, spin_mutex > my_predecessors
Definition: flow_graph.h:2995
bool is_graph_active(tbb::flow::interface10::graph &g)
internal::broadcast_cache< T > my_successors
Definition: flow_graph.h:2997
void spawn_in_graph_arena(tbb::flow::interface10::graph &g, tbb::task &arena_task)
Spawns a task inside graph arena.
void lock()
Acquire lock.
Definition: mutex.h:157
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task * task
A task that calls a node's forward_task function.
friend class scoped_lock
Definition: spin_mutex.h:179

Here is the call graph for this function:

template<typename T , typename U >
bool tbb::flow::interface11::limiter_node< T, U >::remove_predecessor ( predecessor_type src)
inlinevirtual

Removes src from the list of cached predecessors.

Reimplemented from tbb::flow::interface11::internal::untyped_receiver.

Definition at line 3214 of file flow_graph.h.

3214  {
3215  my_predecessors.remove( src );
3216  return true;
3217  }
internal::reservable_predecessor_cache< T, spin_mutex > my_predecessors
Definition: flow_graph.h:2995
template<typename T , typename U >
bool tbb::flow::interface11::limiter_node< T, U >::remove_successor ( successor_type r)
inlinevirtual

Removes a successor from this node.

r.remove_predecessor(*this) is also called.

Implements tbb::flow::interface11::internal::untyped_sender.

Definition at line 3155 of file flow_graph.h.

References tbb::flow::interface11::internal::successor_cache< T, M >::remove_successor().

3155  {
3156  r.remove_predecessor(*this);
3158  return true;
3159  }
internal::broadcast_cache< T > my_successors
Definition: flow_graph.h:2997

Here is the call graph for this function:

template<typename T , typename U >
void tbb::flow::interface11::limiter_node< T, U >::reset_node ( reset_flags  f)
inlineprotectedvirtual

Implements tbb::flow::interface11::graph_node.

Definition at line 3258 of file flow_graph.h.

References tbb::flow::interface11::internal::successor_cache< T, M >::clear().

3258  {
3259  my_count = 0;
3260  if(f & rf_clear_edges) {
3261  my_predecessors.clear();
3262  my_successors.clear();
3263  }
3264  else
3265  {
3266  my_predecessors.reset( );
3267  }
3268  decrement.reset_receiver(f);
3269  }
internal::reservable_predecessor_cache< T, spin_mutex > my_predecessors
Definition: flow_graph.h:2995
internal::broadcast_cache< T > my_successors
Definition: flow_graph.h:2997
internal::decrementer< limiter_node< T, DecrementType >, DecrementType > decrement
The internal receiver< DecrementType > that decrements the count.
Definition: flow_graph.h:3093

Here is the call graph for this function:

template<typename T , typename U >
void tbb::flow::interface11::limiter_node< T, U >::reset_receiver ( reset_flags  f)
inlineprotectedvirtual

put receiver back in initial state

Implements tbb::flow::interface11::internal::untyped_receiver.

Definition at line 3254 of file flow_graph.h.

References __TBB_ASSERT.

3254  {
3255  __TBB_ASSERT(false,NULL); // should never be called
3256  }
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
Definition: tbb_stddef.h:165
template<typename T , typename U >
task* tbb::flow::interface11::limiter_node< T, U >::try_put_task ( const T &  t)
inlineprotectedvirtual

Puts an item to this receiver.

Implements tbb::flow::interface11::receiver< T >.

Definition at line 3225 of file flow_graph.h.

References tbb::flow::interface11::internal::is_graph_active(), tbb::lock(), and tbb::flow::interface11::internal::broadcast_cache< T, M >::try_put_task().

3225  {
3226  {
3228  if ( my_count + my_tries >= my_threshold )
3229  return NULL;
3230  else
3231  ++my_tries;
3232  }
3233 
3234  task * rtask = my_successors.try_put_task(t);
3235 
3236  if ( !rtask ) { // try_put_task failed.
3238  --my_tries;
3240  rtask = new ( task::allocate_additional_child_of( *(this->my_graph.root_task()) ) )
3241  internal::forward_task_bypass< limiter_node<T, DecrementType> >( *this );
3242  }
3243  }
3244  else {
3246  ++my_count;
3247  --my_tries;
3248  }
3249  return rtask;
3250  }
tbb::task * root_task()
Returns the root task of the graph.
bool is_graph_active(tbb::flow::interface10::graph &g)
internal::broadcast_cache< T > my_successors
Definition: flow_graph.h:2997
void lock()
Acquire lock.
Definition: mutex.h:157
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task * task
A task that calls a node's forward_task function.
friend class scoped_lock
Definition: spin_mutex.h:179

Here is the call graph for this function:

Friends And Related Function Documentation

template<typename T , typename U >
template<typename X , typename Y >
friend class internal::broadcast_cache
friend

Definition at line 3222 of file flow_graph.h.

template<typename T , typename U >
friend class internal::decrementer< limiter_node< T, DecrementType >, DecrementType >
friend

Definition at line 3003 of file flow_graph.h.

template<typename T , typename U >
friend class internal::forward_task_bypass< limiter_node< T, DecrementType > >
friend

Definition at line 3000 of file flow_graph.h.

template<typename T , typename U >
template<typename X , typename Y >
friend class internal::round_robin_cache
friend

Definition at line 3223 of file flow_graph.h.

template<typename T , typename U >
template<typename R , typename B >
friend class run_and_put_task
friend

Definition at line 3221 of file flow_graph.h.

Member Data Documentation

template<typename T , typename U >
internal::decrementer< limiter_node<T, DecrementType>, DecrementType > tbb::flow::interface11::limiter_node< T, U >::decrement

The internal receiver< DecrementType > that decrements the count.

Definition at line 3093 of file flow_graph.h.

template<typename T , typename U >
size_t tbb::flow::interface11::limiter_node< T, U >::my_count
private

Definition at line 2993 of file flow_graph.h.

template<typename T , typename U >
spin_mutex tbb::flow::interface11::limiter_node< T, U >::my_mutex
private

Definition at line 2996 of file flow_graph.h.

template<typename T , typename U >
internal::reservable_predecessor_cache< T, spin_mutex > tbb::flow::interface11::limiter_node< T, U >::my_predecessors
private

Definition at line 2995 of file flow_graph.h.

template<typename T , typename U >
internal::broadcast_cache< T > tbb::flow::interface11::limiter_node< T, U >::my_successors
private

Definition at line 2997 of file flow_graph.h.

template<typename T , typename U >
size_t tbb::flow::interface11::limiter_node< T, U >::my_threshold
private

Definition at line 2992 of file flow_graph.h.

template<typename T , typename U >
size_t tbb::flow::interface11::limiter_node< T, U >::my_tries
private

Definition at line 2994 of file flow_graph.h.


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.