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

#include <flow_graph.h>

Collaboration diagram for tbb::flow::interface11::internal::async_storage< T >:

Public Types

typedef receiver< T > async_storage_client
 

Public Member Functions

 async_storage ()
 
 ~async_storage ()
 
template<typename C >
 async_storage (C &&data)
 
template<typename C >
bool set (C &&data)
 
tasksubscribe (async_storage_client &client, graph &g)
 

Private Types

typedef std::vector< async_storage_client * > subscriber_list_type
 

Private Attributes

graphmy_graph
 
tbb::spin_mutex my_mutex
 
tbb::atomic< bool > my_data_ready
 
my_data
 
subscriber_list_type my_clients
 

Detailed Description

template<typename T>
class tbb::flow::interface11::internal::async_storage< T >

Definition at line 220 of file flow_graph.h.

Member Typedef Documentation

◆ async_storage_client

Definition at line 30 of file flow_graph.h.

◆ subscriber_list_type

template<typename T >
typedef std::vector<async_storage_client*> tbb::flow::interface11::internal::async_storage< T >::subscriber_list_type
private

Definition at line 115 of file flow_graph.h.

Constructor & Destructor Documentation

◆ async_storage() [1/2]

template<typename T >
tbb::flow::interface11::internal::async_storage< T >::async_storage ( )
inline

Definition at line 32 of file flow_graph.h.

43  : 2196 )

◆ ~async_storage()

template<typename T >
tbb::flow::interface11::internal::async_storage< T >::~async_storage ( )
inline

Definition at line 36 of file flow_graph.h.

43  : 2196 )

◆ async_storage() [2/2]

template<typename T >
template<typename C >
tbb::flow::interface11::internal::async_storage< T >::async_storage ( C &&  data)
inline

Definition at line 46 of file flow_graph.h.

Member Function Documentation

◆ set()

template<typename T >
template<typename C >
bool tbb::flow::interface11::internal::async_storage< T >::set ( C &&  data)
inline

Definition at line 54 of file flow_graph.h.

77  {
78  namespace flow {
79  using std::tuple;
80  using std::tuple_size;
81  using std::tuple_element;
82  using std::get;

◆ subscribe()

template<typename T >
task* tbb::flow::interface11::internal::async_storage< T >::subscribe ( async_storage_client client,
graph g 
)
inline

Definition at line 84 of file flow_graph.h.

102  {
103 namespace flow {
104 
106 enum concurrency { unlimited = 0, serial = 1 };
107 
108 namespace interface11 {
concurrency
An enumeration the provides the two most common concurrency levels: unlimited and serial.
Definition: flow_graph.h:106

Member Data Documentation

◆ my_clients

template<typename T >
subscriber_list_type tbb::flow::interface11::internal::async_storage< T >::my_clients
private

Definition at line 116 of file flow_graph.h.

◆ my_data

template<typename T >
T tbb::flow::interface11::internal::async_storage< T >::my_data
private

Definition at line 114 of file flow_graph.h.

◆ my_data_ready

template<typename T >
tbb::atomic<bool> tbb::flow::interface11::internal::async_storage< T >::my_data_ready
private

Definition at line 113 of file flow_graph.h.

◆ my_graph

template<typename T >
graph* tbb::flow::interface11::internal::async_storage< T >::my_graph
private

Definition at line 111 of file flow_graph.h.

◆ my_mutex

template<typename T >
tbb::spin_mutex tbb::flow::interface11::internal::async_storage< T >::my_mutex
private

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