Home ⌂Doc Index ◂Up ▴
Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
async_msg< T > Class Template Reference

#include <_flow_graph_async_msg_impl.h>

Collaboration diagram for async_msg< T >:

Public Types

typedef T async_msg_data_type
 

Public Member Functions

 async_msg ()
 
 async_msg (const T &t)
 
 async_msg (T &&t)
 
virtual ~async_msg ()
 
void set (const T &t)
 
void set (T &&t)
 

Protected Member Functions

virtual void finalize () const
 

Private Types

typedef std::shared_ptr< internal::async_storage< T > > async_storage_ptr
 

Private Attributes

async_storage_ptr my_storage
 

Friends

template<typename >
class receiver
 
template<typename , typename >
struct internal::async_helpers
 

Detailed Description

template<typename T>
class async_msg< T >

Definition at line 121 of file _flow_graph_async_msg_impl.h.

Member Typedef Documentation

◆ async_msg_data_type

template<typename T >
typedef T async_msg< T >::async_msg_data_type

Definition at line 125 of file _flow_graph_async_msg_impl.h.

◆ async_storage_ptr

template<typename T >
typedef std::shared_ptr< internal::async_storage<T> > async_msg< T >::async_storage_ptr
private

Definition at line 149 of file _flow_graph_async_msg_impl.h.

Constructor & Destructor Documentation

◆ async_msg() [1/3]

template<typename T >
async_msg< T >::async_msg ( )
inline

Definition at line 127 of file _flow_graph_async_msg_impl.h.

◆ async_msg() [2/3]

template<typename T >
async_msg< T >::async_msg ( const T &  t)
inline

Definition at line 129 of file _flow_graph_async_msg_impl.h.

◆ async_msg() [3/3]

template<typename T >
async_msg< T >::async_msg ( T &&  t)
inline

Definition at line 131 of file _flow_graph_async_msg_impl.h.

131 : my_storage(std::make_shared< internal::async_storage<T> >( std::move(t) )) {}
async_storage_ptr my_storage
void move(tbb_thread &t1, tbb_thread &t2)
Definition: tbb_thread.h:319

◆ ~async_msg()

template<typename T >
virtual async_msg< T >::~async_msg ( )
inlinevirtual

Definition at line 133 of file _flow_graph_async_msg_impl.h.

133 {}

Member Function Documentation

◆ finalize()

template<typename T >
virtual void async_msg< T >::finalize ( ) const
inlineprotectedvirtual

Definition at line 146 of file _flow_graph_async_msg_impl.h.

146 {}

◆ set() [1/2]

template<typename T >
void async_msg< T >::set ( const T &  t)
inline

Definition at line 135 of file _flow_graph_async_msg_impl.h.

135  {
136  my_storage->set(t);
137  }
async_storage_ptr my_storage

◆ set() [2/2]

template<typename T >
void async_msg< T >::set ( T &&  t)
inline

Definition at line 139 of file _flow_graph_async_msg_impl.h.

139  {
140  my_storage->set( std::move(t) );
141  }
async_storage_ptr my_storage
void move(tbb_thread &t1, tbb_thread &t2)
Definition: tbb_thread.h:319

References tbb::move().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ internal::async_helpers

template<typename T >
template<typename , typename >
friend struct internal::async_helpers
friend

Definition at line 123 of file _flow_graph_async_msg_impl.h.

◆ receiver

template<typename T >
template<typename >
friend class receiver
friend

Definition at line 122 of file _flow_graph_async_msg_impl.h.

Member Data Documentation

◆ my_storage

template<typename T >
async_storage_ptr async_msg< T >::my_storage
private

Definition at line 150 of file _flow_graph_async_msg_impl.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.