Home ⌂Doc Index ◂Up ▴
Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::flow::interface11::internal::successor_cache< continue_msg, M > Class Template Reference

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

#include <flow_graph.h>

Inheritance diagram for tbb::flow::interface11::internal::successor_cache< continue_msg, M >:
Collaboration diagram for tbb::flow::interface11::internal::successor_cache< continue_msg, M >:

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 M 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 (const no_copy &)=delete
 
 no_copy ()=default
 

Detailed Description

template<typename M>
class tbb::flow::interface11::internal::successor_cache< continue_msg, M >

An abstract cache of successors, specialized to continue_msg.

Definition at line 366 of file flow_graph.h.

Member Typedef Documentation

◆ mutex_type

template<typename M >
typedef M tbb::flow::interface11::internal::successor_cache< continue_msg, M >::mutex_type
protected

Definition at line 369 of file flow_graph.h.

◆ pointer_type

Definition at line 374 of file flow_graph.h.

◆ successor_type

Definition at line 373 of file flow_graph.h.

◆ successors_type

template<typename M >
typedef std::list< pointer_type > tbb::flow::interface11::internal::successor_cache< continue_msg, M >::successors_type
protected

Definition at line 379 of file flow_graph.h.

Constructor & Destructor Documentation

◆ successor_cache()

Definition at line 416 of file flow_graph.h.

418 { return false; }

◆ ~successor_cache()

template<typename M >
virtual tbb::flow::interface11::internal::successor_cache< continue_msg, M >::~successor_cache ( )
inlinevirtual

Definition at line 420 of file flow_graph.h.

425 : public internal::untyped_sender {

Member Function Documentation

◆ clear()

template<typename M >
void tbb::flow::interface11::internal::successor_cache< continue_msg, M >::clear ( )
inline

Definition at line 450 of file flow_graph.h.

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

◆ empty()

template<typename M >
bool tbb::flow::interface11::internal::successor_cache< continue_msg, M >::empty ( )
inline

Definition at line 445 of file flow_graph.h.

449  {

◆ register_successor()

template<typename M >
void tbb::flow::interface11::internal::successor_cache< continue_msg, M >::register_successor ( successor_type r)
inline

Definition at line 422 of file flow_graph.h.

425  : public internal::untyped_sender {
426 public:
428  __TBB_DEPRECATED typedef T output_type;
#define __TBB_DEPRECATED
Definition: tbb_config.h:636

◆ remove_successor()

template<typename M >
void tbb::flow::interface11::internal::successor_cache< continue_msg, M >::remove_successor ( successor_type r)
inline

Definition at line 430 of file flow_graph.h.

433  { return false; }
434 
436  virtual bool try_reserve( T & ) { return false; }
437 
438 protected:
439  virtual bool try_get_wrapper( void* p, bool is_async ) __TBB_override {
440  // Both async OR both are NOT async
441  if ( internal::async_helpers<T>::is_async_type == is_async ) {
442  return try_get( internal::async_helpers<T>::from_void_ptr(p) );
443  }
static const T & from_void_ptr(const void *p)
Definition: flow_graph.h:237
void const char const char int ITT_FORMAT __itt_group_sync p
#define __TBB_override
Definition: tbb_stddef.h:240

◆ set_owner()

template<typename M >
void tbb::flow::interface11::internal::successor_cache< continue_msg, M >::set_owner ( sender< continue_msg > *  owner)
inline

Definition at line 418 of file flow_graph.h.

418 { return false; }

Member Data Documentation

◆ my_mutex

template<typename M >
mutex_type tbb::flow::interface11::internal::successor_cache< continue_msg, M >::my_mutex
protected

Definition at line 370 of file flow_graph.h.

◆ my_owner

template<typename M >
sender<continue_msg>* tbb::flow::interface11::internal::successor_cache< continue_msg, M >::my_owner
protected

Definition at line 386 of file flow_graph.h.

◆ my_successors

template<typename M >
successors_type tbb::flow::interface11::internal::successor_cache< continue_msg, M >::my_successors
protected

Definition at line 380 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.