Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple > Class Template Reference

#include <flow_graph.h>

Inheritance diagram for tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >:
Collaboration diagram for tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >:

Classes

class  key_matching_FE_operation
 

Public Types

typedef OutputTuple output_type
 
typedef InputTuple input_type
 
typedef K key_type
 
typedef tbb::internal::strip< key_type >::type unref_key_type
 
typedef KHash key_hash_compare
 
typedef count_element< unref_key_typecount_element_type
 
typedef key_to_count_functor< unref_key_typekey_to_count_func
 
typedef internal::type_to_key_function_body< count_element_type, unref_key_type & > TtoK_function_body_type
 
typedef internal::type_to_key_function_body_leaf< count_element_type, unref_key_type &, key_to_count_funcTtoK_function_body_leaf_type
 
typedef hash_buffer< unref_key_type &, count_element_type, TtoK_function_body_type, key_hash_comparekey_to_count_buffer_type
 
typedef item_buffer< output_typeoutput_buffer_type
 
typedef join_node_base< key_matching< key_type, key_hash_compare >, InputTuple, OutputTuple > base_node_type
 
typedef matching_forwarding_base< key_typeforwarding_base_type
 
- Public Types inherited from tbb::flow::interface10::internal::matching_forwarding_base< K >
typedef tbb::internal::strip< K >::type current_key_type
 
- Public Types inherited from tbb::flow::interface10::internal::hash_buffer< tbb::internal::strip< K >::type &, count_element< tbb::internal::strip< K >::type >, internal::type_to_key_function_body< count_element< tbb::internal::strip< K >::type >, tbb::internal::strip< K >::type & >, KHash >
typedef count_element< tbb::internal::strip< K >::typevalue_type
 
typedef buffer_element_type< value_type >::type element_type
 
typedef value_typepointer_type
 
typedef element_typelist_array_type
 
typedef list_array_typepointer_array_type
 
typedef tbb::cache_aligned_allocator< typename aligned_pair< count_element< tbb::internal::strip< K >::type >, void * >::type > ::template rebind< list_array_type >::other pointer_array_allocator_type
 
typedef tbb::cache_aligned_allocator< typename aligned_pair< count_element< tbb::internal::strip< K >::type >, void * >::type > ::template rebind< element_type >::other elements_array_allocator
 
typedef tbb::internal::strip< tbb::internal::strip< K >::type & >::type Knoref
 
- Public Types inherited from tbb::flow::interface10::internal::item_buffer< OutputTuple >
enum  buffer_item_state
 
typedef OutputTuple item_type
 

Public Member Functions

template<typename FunctionTuple >
 join_node_FE (graph &g, FunctionTuple &TtoK_funcs)
 
 join_node_FE (const join_node_FE &other)
 
void set_my_node (base_node_type *new_my_node)
 
void reset_port_count ()
 
taskincrement_key_count (unref_key_type const &t, bool handle_task) __TBB_override
 
taskdecrement_port_count (bool) __TBB_override
 
void increment_port_count () __TBB_override
 
input_typeinput_ports ()
 
- Public Member Functions inherited from tbb::flow::interface10::internal::matching_forwarding_base< K >
 matching_forwarding_base (graph &g)
 
- Public Member Functions inherited from tbb::flow::interface10::internal::forwarding_base
 forwarding_base (graph &g)
 
virtual ~forwarding_base ()
 
- Public Member Functions inherited from tbb::flow::interface10::internal::hash_buffer< tbb::internal::strip< K >::type &, count_element< tbb::internal::strip< K >::type >, internal::type_to_key_function_body< count_element< tbb::internal::strip< K >::type >, tbb::internal::strip< K >::type & >, KHash >
 hash_buffer ()
 
 ~hash_buffer ()
 
void reset ()
 
void set_key_func (internal::type_to_key_function_body< count_element< tbb::internal::strip< K >::type >, tbb::internal::strip< K >::type & > *vtk)
 
internal::type_to_key_function_body< count_element< tbb::internal::strip< K >::type >, tbb::internal::strip< K >::type & > * get_key_func ()
 
bool insert_with_key (const value_type &v)
 
bool find_ref_with_key (const Knoref &k, pointer_type &v)
 
bool find_with_key (const Knoref &k, value_type &v)
 
void delete_with_key (const Knoref &k)
 
- Public Member Functions inherited from tbb::flow::interface10::internal::item_buffer< OutputTuple >
 item_buffer ()
 Constructor. More...
 
 ~item_buffer ()
 
void reset ()
 

Static Public Attributes

static const int N = tbb::flow::tuple_size<OutputTuple>::value
 
- Static Public Attributes inherited from tbb::flow::interface10::internal::hash_buffer< tbb::internal::strip< K >::type &, count_element< tbb::internal::strip< K >::type >, internal::type_to_key_function_body< count_element< tbb::internal::strip< K >::type >, tbb::internal::strip< K >::type & >, KHash >
static const size_t INITIAL_SIZE
 

Protected Member Functions

void reset (reset_flags f)
 
bool tuple_build_may_succeed ()
 
bool try_to_make_tuple (output_type &out)
 
void tuple_accepted ()
 
void tuple_rejected ()
 
- Protected Member Functions inherited from tbb::flow::interface10::internal::item_buffer< OutputTuple >
bool buffer_empty () const
 
buffer_item_typeitem (size_type i)
 
const buffer_item_typeitem (size_type i) const
 
bool my_item_valid (size_type i) const
 
bool my_item_reserved (size_type i) const
 
const item_typeget_my_item (size_t i) const
 
void set_my_item (size_t i, const item_type &o)
 
void fetch_item (size_t i, item_type &o)
 
void move_item (size_t to, size_t from)
 
bool place_item (size_t here, const item_type &me)
 
void swap_items (size_t i, size_t j)
 
void destroy_item (size_type i)
 
const item_typefront () const
 
const item_typeback () const
 
void reserve_item (size_type i)
 
void release_item (size_type i)
 
void destroy_front ()
 
void destroy_back ()
 
size_type size (size_t new_tail=0)
 
size_type capacity ()
 
bool buffer_full ()
 
void grow_my_array (size_t minimum_size)
 Grows the internal array. More...
 
bool push_back (item_type &v)
 
bool pop_back (item_type &v)
 
bool pop_front (item_type &v)
 
void clean_up_buffer (bool reset_pointers)
 

Protected Attributes

input_type my_inputs
 
base_node_typemy_node
 
- Protected Attributes inherited from tbb::flow::interface10::internal::item_buffer< OutputTuple >
buffer_item_typemy_array
 
size_type my_array_size
 
size_type my_head
 
size_type my_tail
 

Private Types

enum  op_type { res_count, inc_count, may_succeed, try_make }
 
enum  op_stat { WAIT =0, SUCCEEDED, FAILED }
 
typedef join_node_FE< key_matching< key_type, key_hash_compare >, InputTuple, OutputTuple > class_type
 
typedef internal::aggregating_functor< class_type, key_matching_FE_operation > handler_type
 

Private Member Functions

taskfill_output_buffer (unref_key_type &t, bool should_enqueue, bool handle_task)
 
void handle_operations (key_matching_FE_operation *op_list)
 

Private Attributes

aggregator< handler_type, key_matching_FE_operation > my_aggregator
 

Friends

class internal::aggregating_functor< class_type, key_matching_FE_operation >
 

Additional Inherited Members

- Public Attributes inherited from tbb::flow::interface10::internal::matching_forwarding_base< K >
current_key_type current_key
 
- Public Attributes inherited from tbb::flow::interface10::internal::forwarding_base
graphgraph_ref
 
- Protected Types inherited from tbb::flow::interface10::internal::item_buffer< OutputTuple >
typedef size_t size_type
 
typedef aligned_pair< item_type, buffer_item_state >::type buffer_item_type
 
typedef cache_aligned_allocator< OutputTuple > ::template rebind< buffer_item_type >::other allocator_type
 
- Static Protected Attributes inherited from tbb::flow::interface10::internal::item_buffer< OutputTuple >
static const size_type initial_buffer_size
 

Detailed Description

template<typename InputTuple, typename OutputTuple, typename K, typename KHash>
class tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >

Definition at line 1029 of file flow_graph.h.

Member Typedef Documentation

◆ base_node_type

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
typedef join_node_base<key_matching<key_type,key_hash_compare>, InputTuple, OutputTuple> tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::base_node_type

Definition at line 1058 of file flow_graph.h.

◆ class_type

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
typedef join_node_FE<key_matching<key_type,key_hash_compare>, InputTuple, OutputTuple> tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::class_type
private

Definition at line 1067 of file flow_graph.h.

◆ count_element_type

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
typedef count_element<unref_key_type> tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::count_element_type

Definition at line 1048 of file flow_graph.h.

◆ forwarding_base_type

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
typedef matching_forwarding_base<key_type> tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::forwarding_base_type

Definition at line 1059 of file flow_graph.h.

◆ handler_type

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
typedef internal::aggregating_functor<class_type, key_matching_FE_operation> tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::handler_type
private

Definition at line 1085 of file flow_graph.h.

◆ input_type

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
typedef InputTuple tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::input_type

Definition at line 1043 of file flow_graph.h.

◆ key_hash_compare

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
typedef KHash tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::key_hash_compare

Definition at line 1046 of file flow_graph.h.

◆ key_to_count_buffer_type

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
typedef hash_buffer< unref_key_type&, count_element_type, TtoK_function_body_type, key_hash_compare > tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::key_to_count_buffer_type

Definition at line 1056 of file flow_graph.h.

◆ key_to_count_func

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
typedef key_to_count_functor<unref_key_type> tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::key_to_count_func

Definition at line 1050 of file flow_graph.h.

◆ key_type

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
typedef K tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::key_type

Definition at line 1044 of file flow_graph.h.

◆ output_buffer_type

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
typedef item_buffer<output_type> tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::output_buffer_type

Definition at line 1057 of file flow_graph.h.

◆ output_type

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
typedef OutputTuple tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::output_type

Definition at line 1042 of file flow_graph.h.

◆ TtoK_function_body_leaf_type

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
typedef internal::type_to_key_function_body_leaf<count_element_type, unref_key_type&, key_to_count_func> tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::TtoK_function_body_leaf_type

Definition at line 1052 of file flow_graph.h.

◆ TtoK_function_body_type

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
typedef internal::type_to_key_function_body< count_element_type, unref_key_type&> tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::TtoK_function_body_type

Definition at line 1051 of file flow_graph.h.

◆ unref_key_type

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
typedef tbb::internal::strip<key_type>::type tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::unref_key_type

Definition at line 1045 of file flow_graph.h.

Member Enumeration Documentation

◆ op_stat

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
enum tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::op_stat
private
Enumerator
WAIT 
SUCCEEDED 
FAILED 

Definition at line 1066 of file flow_graph.h.

1067 {

◆ op_type

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
enum tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::op_type
private
Enumerator
res_count 
inc_count 
may_succeed 
try_make 

Definition at line 1065 of file flow_graph.h.

1067 {

Constructor & Destructor Documentation

◆ join_node_FE() [1/2]

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
template<typename FunctionTuple >
tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::join_node_FE ( graph g,
FunctionTuple &  TtoK_funcs 
)
inline

Definition at line 1170 of file flow_graph.h.

1174  { return fOutput_type::my_successors; }
1175 
1176  void reset_node(reset_flags f) __TBB_override {
#define __TBB_override
Definition: tbb_stddef.h:240

◆ join_node_FE() [2/2]

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::join_node_FE ( const join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple > &  other)
inline

Definition at line 1178 of file flow_graph.h.

1179  {
1180  successors().clear();
1181  my_predecessors.clear();
1182  }
1183  __TBB_ASSERT(!(f & rf_clear_edges) || successors().empty(), "function_node successors not empty");
1184  __TBB_ASSERT(this->my_predecessors.empty(), "function_node predecessors not empty");
1185  }
1186 
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
Definition: tbb_stddef.h:165

References internal::node_cache< T, M >::clear(), tbb::flow::interface10::internal::successor_cache< T, M >::clear(), tbb::flow::interface10::internal::function_input_base< Input, Policy, Allocator, function_input< Input, Output, Policy, Allocator > >::my_predecessors, and tbb::flow::interface10::function_node< Input, Output, Policy, Allocator >::successors().

Here is the call graph for this function:

Member Function Documentation

◆ decrement_port_count()

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
task* tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::decrement_port_count ( bool  )
inlinevirtual

Implements tbb::flow::interface10::internal::forwarding_base.

Definition at line 1205 of file flow_graph.h.

1205 :
1206  static const int N = tbb::flow::tuple_size<Output>::value;
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 __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long value

◆ fill_output_buffer()

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
task* tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::fill_output_buffer ( unref_key_type t,
bool  should_enqueue,
bool  handle_task 
)
inlineprivate

Definition at line 1092 of file flow_graph.h.

1094  {
1095  if(internal::is_graph_active(this->my_graph)) {
1096  internal::spawn_in_graph_arena(this->my_graph, *create_put_task());
1097  }
1098  }
1099 
1100  friend class internal::source_task_bypass< source_node< output_type > >;
1102  task * apply_body_bypass( ) {
1103  output_type v;
1104  if ( !try_reserve_apply_body(v) )
1105  return NULL;
1106 
1107  task *last_task = my_successors.try_put_task(v);
1108  if ( last_task )
1109  try_consume();
1110  else
1111  try_release();
1112  return last_task;
1113  }
1114 }; // class source_node
1115 
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
A task that calls a node's apply_body_bypass function with no input.
void spawn_in_graph_arena(graph &g, tbb::task &arena_task)
Spawns a task inside graph arena.

◆ handle_operations()

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
void tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::handle_operations ( key_matching_FE_operation *  op_list)
inlineprivate

Definition at line 1118 of file flow_graph.h.

1119 public:
1120  typedef Input input_type;
1121  typedef Output output_type;
1124  typedef internal::function_output<output_type> fOutput_type;
1125  typedef typename input_impl_type::predecessor_type predecessor_type;
1126  typedef typename fOutput_type::successor_type successor_type;
1127 #if TBB_DEPRECATED_FLOW_NODE_EXTRACTION
1128  typedef typename input_impl_type::predecessor_list_type predecessor_list_type;
1129  typedef typename fOutput_type::successor_list_type successor_list_type;
1130 #endif
1131  using input_impl_type::my_predecessors;
1132 
1134  // input_queue_type is allocated here, but destroyed in the function_input_base.
1135  // TODO: pass the graph_buffer_policy to the function_input_base so it can all
1136  // be done in one place. This would be an interface-breaking change.
1137  template< typename Body >
1138  function_node(
1139  graph &g, size_t concurrency,
1141  ) : graph_node(g), input_impl_type(g, concurrency, __TBB_FLOW_GRAPH_PRIORITY_ARG1(body, priority)) {
1142  tbb::internal::fgt_node_with_body( tbb::internal::FLOW_FUNCTION_NODE, &this->my_graph,
1143  static_cast<receiver<input_type> *>(this), static_cast<sender<output_type> *>(this), this->my_body );
1144  }
1145 
1147  function_node( const function_node& src ) :
1148  graph_node(src.my_graph),
1149  input_impl_type(src),
1150  fOutput_type() {
1151  tbb::internal::fgt_node_with_body( tbb::internal::FLOW_FUNCTION_NODE, &this->my_graph,
1152  static_cast<receiver<input_type> *>(this), static_cast<sender<output_type> *>(this), this->my_body );
1153  }
1154 
1155 #if TBB_PREVIEW_FLOW_GRAPH_TRACE
1156  void set_name( const char *name ) __TBB_override {
1158  }
1159 #endif
1160 
1161 #if TBB_DEPRECATED_FLOW_NODE_EXTRACTION
1162  void extract( ) __TBB_override {
1163  my_predecessors.built_predecessors().receiver_extract(*this);
1164  successors().built_successors().sender_extract(*this);
1165  }
unsigned int node_priority_t
#define __TBB_override
Definition: tbb_stddef.h:240
static void fgt_node_with_body(string_index, void *, void *, void *)
Implements methods for a function node that takes a type Input as input and sends.
void const char const char int ITT_FORMAT __itt_group_sync x void const char * name
static const node_priority_t no_priority
Implements methods for both executable and function nodes that puts Output to its successors.
concurrency
An enumeration the provides the two most common concurrency levels: unlimited and serial.
Definition: flow_graph.h:84
#define __TBB_FLOW_GRAPH_PRIORITY_ARG1(arg1, priority)
static void fgt_node_desc(const NodeType *, const char *)

◆ increment_key_count()

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
task* tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::increment_key_count ( unref_key_type const &  t,
bool  handle_task 
)
inlinevirtual

Implements tbb::flow::interface10::internal::matching_forwarding_base< K >.

Definition at line 1199 of file flow_graph.h.

1204  {

◆ increment_port_count()

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
void tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::increment_port_count ( )
inlinevirtual

◆ input_ports()

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
input_type& tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::input_ports ( )
inline

Definition at line 1209 of file flow_graph.h.

◆ reset()

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
void tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::reset ( reset_flags  f)
inlineprotected

Definition at line 1213 of file flow_graph.h.

1213  :
1215  using input_impl_type::my_predecessors;
1216 public:
1217  template<typename Body>
1218  multifunction_node(
1219  graph &g, size_t concurrency,
Implements methods for a function node that takes a type Input as input.
concurrency
An enumeration the provides the two most common concurrency levels: unlimited and serial.
Definition: flow_graph.h:84

◆ reset_port_count()

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
void tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::reset_port_count ( )
inline

Definition at line 1191 of file flow_graph.h.

1192  :
1193  public graph_node,
1195  <
Implements methods for a function node that takes a type Input as input.

◆ set_my_node()

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
void tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::set_my_node ( base_node_type new_my_node)
inline

Definition at line 1189 of file flow_graph.h.

1192 :
1193  public graph_node,

◆ try_to_make_tuple()

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
bool tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::try_to_make_tuple ( output_type out)
inlineprotected

◆ tuple_accepted()

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
void tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::tuple_accepted ( )
inlineprotected

Definition at line 1246 of file flow_graph.h.

1249  :
1250  void reset_node(reset_flags f) __TBB_override { base_type::reset(f); }
#define __TBB_override
Definition: tbb_stddef.h:240

◆ tuple_build_may_succeed()

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
bool tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::tuple_build_may_succeed ( )
inlineprotected

Definition at line 1232 of file flow_graph.h.

1237  {

◆ tuple_rejected()

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
void tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::tuple_rejected ( )
inlineprotected

Definition at line 1250 of file flow_graph.h.

1250  { base_type::reset(f); }
1251 }; // multifunction_node
1252 

References tbb::flow::interface10::internal::multifunction_input< Input, OutputPortSet, Policy, A >::reset().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ internal::aggregating_functor< class_type, key_matching_FE_operation >

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
friend class internal::aggregating_functor< class_type, key_matching_FE_operation >
friend

Definition at line 1086 of file flow_graph.h.

Member Data Documentation

◆ my_aggregator

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
aggregator<handler_type, key_matching_FE_operation> tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::my_aggregator
private

Definition at line 1087 of file flow_graph.h.

◆ my_inputs

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
input_type tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::my_inputs
protected

Definition at line 1254 of file flow_graph.h.

◆ my_node

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
base_node_type* tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::my_node
protected

Definition at line 1255 of file flow_graph.h.

◆ N

template<typename InputTuple , typename OutputTuple , typename K , typename KHash >
const int tbb::flow::interface10::internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::N = tbb::flow::tuple_size<OutputTuple>::value
static

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