Home ⌂Doc Index ◂Up ▴
Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant Class Reference
Collaboration diagram for tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant:

Public Member Functions

 variant ()
 
template<typename T >
 variant (const T &x)
 
 variant (const variant &other)
 
void operator= (const variant &rhs)
 
template<typename U >
const U & variant_cast_to () const
 
template<typename U >
bool variant_is_a () const
 
bool variant_is_default_constructed () const
 
 ~variant ()
 

Private Types

typedef pick_tuple_max< N, Tuple, alignment_of >::type AlignType
 
typedef pick_tuple_max< N, Tuple, size_of >::type MaxSizeType
 
typedef tbb::aligned_space< AlignType, MaxNElementsSpaceType
 

Private Attributes

SpaceType my_space
 

Static Private Attributes

static const size_t N = tbb::flow::tuple_size<Tuple>::value
 
static const size_t MaxNBytes = (sizeof(Wrapper<MaxSizeType>)+sizeof(AlignType)-1)
 
static const size_t MaxNElements = MaxNBytes/sizeof(AlignType)
 
static const size_t MaxSize = sizeof(SpaceType)
 

Detailed Description

template<typename TagType, typename T0, typename T1 = tagged_null_type, typename T2 = tagged_null_type, typename T3 = tagged_null_type, typename T4 = tagged_null_type, typename T5 = tagged_null_type, typename T6 = tagged_null_type, typename T7 = tagged_null_type, typename T8 = tagged_null_type, typename T9 = tagged_null_type>
class tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant

Definition at line 634 of file flow_graph.h.

Member Typedef Documentation

◆ AlignType

template<typename TagType , typename T0 , typename T1 = tagged_null_type, typename T2 = tagged_null_type, typename T3 = tagged_null_type, typename T4 = tagged_null_type, typename T5 = tagged_null_type, typename T6 = tagged_null_type, typename T7 = tagged_null_type, typename T8 = tagged_null_type, typename T9 = tagged_null_type>
typedef pick_tuple_max<N, Tuple, alignment_of>::type tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant::AlignType
private

Definition at line 636 of file flow_graph.h.

◆ MaxSizeType

template<typename TagType , typename T0 , typename T1 = tagged_null_type, typename T2 = tagged_null_type, typename T3 = tagged_null_type, typename T4 = tagged_null_type, typename T5 = tagged_null_type, typename T6 = tagged_null_type, typename T7 = tagged_null_type, typename T8 = tagged_null_type, typename T9 = tagged_null_type>
typedef pick_tuple_max<N, Tuple, size_of>::type tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant::MaxSizeType
private

Definition at line 637 of file flow_graph.h.

◆ SpaceType

template<typename TagType , typename T0 , typename T1 = tagged_null_type, typename T2 = tagged_null_type, typename T3 = tagged_null_type, typename T4 = tagged_null_type, typename T5 = tagged_null_type, typename T6 = tagged_null_type, typename T7 = tagged_null_type, typename T8 = tagged_null_type, typename T9 = tagged_null_type>
typedef tbb::aligned_space<AlignType, MaxNElements> tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant::SpaceType
private

Definition at line 640 of file flow_graph.h.

Constructor & Destructor Documentation

◆ variant() [1/3]

template<typename TagType , typename T0 , typename T1 = tagged_null_type, typename T2 = tagged_null_type, typename T3 = tagged_null_type, typename T4 = tagged_null_type, typename T5 = tagged_null_type, typename T6 = tagged_null_type, typename T7 = tagged_null_type, typename T8 = tagged_null_type, typename T9 = tagged_null_type>
tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant::variant ( )
inline

Definition at line 645 of file flow_graph.h.

645 {

◆ variant() [2/3]

template<typename TagType , typename T0 , typename T1 = tagged_null_type, typename T2 = tagged_null_type, typename T3 = tagged_null_type, typename T4 = tagged_null_type, typename T5 = tagged_null_type, typename T6 = tagged_null_type, typename T7 = tagged_null_type, typename T8 = tagged_null_type, typename T9 = tagged_null_type>
template<typename T >
tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant::variant ( const T &  x)
inline

Definition at line 648 of file flow_graph.h.

650  {

◆ variant() [3/3]

template<typename TagType , typename T0 , typename T1 = tagged_null_type, typename T2 = tagged_null_type, typename T3 = tagged_null_type, typename T4 = tagged_null_type, typename T5 = tagged_null_type, typename T6 = tagged_null_type, typename T7 = tagged_null_type, typename T8 = tagged_null_type, typename T9 = tagged_null_type>
tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant::variant ( const variant other)
inline

Definition at line 652 of file flow_graph.h.

655  {

◆ ~variant()

template<typename TagType , typename T0 , typename T1 = tagged_null_type, typename T2 = tagged_null_type, typename T3 = tagged_null_type, typename T4 = tagged_null_type, typename T5 = tagged_null_type, typename T6 = tagged_null_type, typename T7 = tagged_null_type, typename T8 = tagged_null_type, typename T9 = tagged_null_type>
tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant::~variant ( )
inline

Definition at line 681 of file flow_graph.h.

682  }
683 
684 #if TBB_DEPRECATED_FLOW_NODE_EXTRACTION
static tbb::task *const SUCCESSFULLY_ENQUEUED

Member Function Documentation

◆ operator=()

template<typename TagType , typename T0 , typename T1 = tagged_null_type, typename T2 = tagged_null_type, typename T3 = tagged_null_type, typename T4 = tagged_null_type, typename T5 = tagged_null_type, typename T6 = tagged_null_type, typename T7 = tagged_null_type, typename T8 = tagged_null_type, typename T9 = tagged_null_type>
void tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant::operator= ( const variant rhs)
inline

Definition at line 659 of file flow_graph.h.

660  {
662  return my_built_predecessors.edge_count();
663  }
664 
665 #endif /* TBB_DEPRECATED_FLOW_NODE_EXTRACTION */
666 
friend class scoped_lock
Definition: spin_mutex.h:179

References tbb::flow::interface11::continue_receiver::my_mutex.

◆ variant_cast_to()

template<typename TagType , typename T0 , typename T1 = tagged_null_type, typename T2 = tagged_null_type, typename T3 = tagged_null_type, typename T4 = tagged_null_type, typename T5 = tagged_null_type, typename T6 = tagged_null_type, typename T7 = tagged_null_type, typename T8 = tagged_null_type, typename T9 = tagged_null_type>
template<typename U >
const U& tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant::variant_cast_to ( ) const
inline

Definition at line 669 of file flow_graph.h.

672  {
673  {
675  if ( ++my_current_count < my_predecessor_count )
friend class scoped_lock
Definition: spin_mutex.h:179

◆ variant_is_a()

template<typename TagType , typename T0 , typename T1 = tagged_null_type, typename T2 = tagged_null_type, typename T3 = tagged_null_type, typename T4 = tagged_null_type, typename T5 = tagged_null_type, typename T6 = tagged_null_type, typename T7 = tagged_null_type, typename T8 = tagged_null_type, typename T9 = tagged_null_type>
template<typename U >
bool tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant::variant_is_a ( ) const
inline

Definition at line 677 of file flow_graph.h.

static tbb::task *const SUCCESSFULLY_ENQUEUED

◆ variant_is_default_constructed()

template<typename TagType , typename T0 , typename T1 = tagged_null_type, typename T2 = tagged_null_type, typename T3 = tagged_null_type, typename T4 = tagged_null_type, typename T5 = tagged_null_type, typename T6 = tagged_null_type, typename T7 = tagged_null_type, typename T8 = tagged_null_type, typename T9 = tagged_null_type>
bool tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant::variant_is_default_constructed ( ) const
inline

Definition at line 679 of file flow_graph.h.

static tbb::task *const SUCCESSFULLY_ENQUEUED

Member Data Documentation

◆ MaxNBytes

template<typename TagType , typename T0 , typename T1 = tagged_null_type, typename T2 = tagged_null_type, typename T3 = tagged_null_type, typename T4 = tagged_null_type, typename T5 = tagged_null_type, typename T6 = tagged_null_type, typename T7 = tagged_null_type, typename T8 = tagged_null_type, typename T9 = tagged_null_type>
const size_t tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant::MaxNBytes = (sizeof(Wrapper<MaxSizeType>)+sizeof(AlignType)-1)
staticprivate

Definition at line 638 of file flow_graph.h.

◆ MaxNElements

template<typename TagType , typename T0 , typename T1 = tagged_null_type, typename T2 = tagged_null_type, typename T3 = tagged_null_type, typename T4 = tagged_null_type, typename T5 = tagged_null_type, typename T6 = tagged_null_type, typename T7 = tagged_null_type, typename T8 = tagged_null_type, typename T9 = tagged_null_type>
const size_t tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant::MaxNElements = MaxNBytes/sizeof(AlignType)
staticprivate

Definition at line 639 of file flow_graph.h.

◆ MaxSize

template<typename TagType , typename T0 , typename T1 = tagged_null_type, typename T2 = tagged_null_type, typename T3 = tagged_null_type, typename T4 = tagged_null_type, typename T5 = tagged_null_type, typename T6 = tagged_null_type, typename T7 = tagged_null_type, typename T8 = tagged_null_type, typename T9 = tagged_null_type>
const size_t tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant::MaxSize = sizeof(SpaceType)
staticprivate

Definition at line 642 of file flow_graph.h.

◆ my_space

template<typename TagType , typename T0 , typename T1 = tagged_null_type, typename T2 = tagged_null_type, typename T3 = tagged_null_type, typename T4 = tagged_null_type, typename T5 = tagged_null_type, typename T6 = tagged_null_type, typename T7 = tagged_null_type, typename T8 = tagged_null_type, typename T9 = tagged_null_type>
SpaceType tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant::my_space
private

Definition at line 641 of file flow_graph.h.

◆ N

template<typename TagType , typename T0 , typename T1 = tagged_null_type, typename T2 = tagged_null_type, typename T3 = tagged_null_type, typename T4 = tagged_null_type, typename T5 = tagged_null_type, typename T6 = tagged_null_type, typename T7 = tagged_null_type, typename T8 = tagged_null_type, typename T9 = tagged_null_type>
const size_t tbb::flow::interface11::internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant::N = tbb::flow::tuple_size<Tuple>::value
staticprivate

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