Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::flow::interface10::internal::successor_cache< continue_msg > Class Template Reference

An abstract cache of successors, specialized to continue_msg. More...

#include <flow_graph.h>

Inheritance diagram for tbb::flow::interface10::internal::successor_cache< continue_msg >:
Collaboration diagram for tbb::flow::interface10::internal::successor_cache< continue_msg >:

Public Member Functions

 successor_cache ()
 
void set_owner (sender< continue_msg > *owner)
 
virtual ~successor_cache ()
 
void register_successor (successor_type &r)
 
void remove_successor (successor_type &r)
 
bool empty ()
 
void clear ()
 

Protected Types

typedef spin_rw_mutex mutex_type
 
typedef untyped_receiver successor_type
 
typedef untyped_receiverpointer_type
 
typedef std::list< pointer_typesuccessors_type
 

Protected Attributes

mutex_type my_mutex
 
successors_type my_successors
 
sender< continue_msg > * my_owner
 

Additional Inherited Members

- Private Member Functions inherited from tbb::internal::no_copy
 no_copy ()
 Allow default construction. More...
 

Detailed Description

template<>
class tbb::flow::interface10::internal::successor_cache< continue_msg >

An abstract cache of successors, specialized to continue_msg.

Definition at line 366 of file flow_graph.h.

Member Typedef Documentation

◆ mutex_type

◆ pointer_type

◆ successor_type

◆ successors_type

Definition at line 379 of file flow_graph.h.

Constructor & Destructor Documentation

◆ successor_cache()

◆ ~successor_cache()

Definition at line 420 of file flow_graph.h.

421 {

Member Function Documentation

◆ clear()

Definition at line 450 of file flow_graph.h.

452  :
453  virtual task* try_put_task_wrapper( const void *p, bool is_async ) __TBB_override {
455  }
#define __TBB_override
Definition: tbb_stddef.h:240
static task * try_put_task_wrapper_impl(receiver< T > *const this_recv, const void *p, bool is_async)
Definition: flow_graph.h:217
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
void const char const char int ITT_FORMAT __itt_group_sync p

◆ empty()

Definition at line 445 of file flow_graph.h.

448  {

◆ register_successor()

Definition at line 422 of file flow_graph.h.

423  {
424  return try_reserve( internal::async_helpers<T>::from_void_ptr(p) );
425  }
426  // Else: this (T) is async OR incoming 't' is async
427  __TBB_ASSERT(false, "async_msg interface does not support 'pull' protocol in try_reserve()");
428  return false;
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
Definition: tbb_stddef.h:165
static const T & from_void_ptr(const void *p)
Definition: flow_graph.h:209
void const char const char int ITT_FORMAT __itt_group_sync p

◆ remove_successor()

Definition at line 430 of file flow_graph.h.

434  : public internal::untyped_receiver {
435  template< typename > friend class internal::async_storage;
436  template< typename, typename > friend struct internal::async_helpers;
437 public:
439  typedef T input_type;
440 
441  typedef typename internal::async_helpers<T>::filtered_type filtered_type;
442 

◆ set_owner()

Definition at line 418 of file flow_graph.h.

421 {

Member Data Documentation

◆ my_mutex

◆ my_owner

◆ my_successors

Definition at line 380 of file flow_graph.h.


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.