internal::join_helper< N > Struct Template Reference

`#include <_flow_graph_join_impl.h>`

Collaboration diagram for internal::join_helper< N >:

## Static Public Member Functions

template<typename TupleType , typename PortType >
static void | set_join_node_pointer (TupleType &my_input, PortType *port)
template<typename TupleType >
static void | consume_reservations (TupleType &my_input)
template<typename TupleType >
static void | release_my_reservation (TupleType &my_input)
template<typename TupleType >
static void | release_reservations (TupleType &my_input)
template<typename InputTuple , typename OutputTuple >
static bool | reserve (InputTuple &my_input, OutputTuple &out)
template<typename InputTuple , typename OutputTuple >
static bool | get_my_item (InputTuple &my_input, OutputTuple &out)
template<typename InputTuple , typename OutputTuple >
static bool | get_items (InputTuple &my_input, OutputTuple &out)
template<typename InputTuple >
static void | reset_my_port (InputTuple &my_input)
template<typename InputTuple >
static void | reset_ports (InputTuple &my_input)
template<typename InputTuple , typename KeyFuncTuple >
static void | set_key_functors (InputTuple &my_input, KeyFuncTuple &my_key_funcs)
template<typename KeyFuncTuple >
static void | copy_key_functors (KeyFuncTuple &my_inputs, KeyFuncTuple &other_inputs)
template<typename InputTuple >
static void | reset_inputs (InputTuple &my_input, reset_flags f)

## Detailed Description

### template<int N>
struct internal::join_helper< N >

Definition at line 48 of file _flow_graph_join_impl.h.

## Member Function Documentation

## consume_reservations()

template<int N>
template<typename TupleType >

static void internal::join_helper< N >::consume_reservations | ( | TupleType & | my_input | ) |

inline static

Definition at line 56 of file _flow_graph_join_impl.h.

{
tbb::flow::get<N-1>( my_input ).consume();
join_helper<N-1>::consume_reservations( my_input );
}

Referenced by internal::join_node_FE< reserving, InputTuple, OutputTuple >::tuple_accepted().

Here is the caller graph for this function:

## copy_key_functors()

template<int N>
template<typename KeyFuncTuple >

static void internal::join_helper< N >::copy_key_functors | ( | KeyFuncTuple & | my_inputs,
|  | KeyFuncTuple & | other_inputs
| ) |  |

inline static

Definition at line 112 of file _flow_graph_join_impl.h.

{
if(tbb::flow::get<N-1>(other_inputs).get_my_key_func()) {
tbb::flow::get<N-1>(my_inputs).set_my_key_func(tbb::flow::get<N-1>(other_inputs).get_my_key_func()->clone());
}
join_helper<N-1>::copy_key_functors(my_inputs, other_inputs);
}

Referenced by internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::join_node_FE().

Here is the caller graph for this function:

## get_items()

template<int N>
template<typename InputTuple , typename OutputTuple >

static bool internal::join_helper< N >::get_items | ( | InputTuple & | my_input,
|  | OutputTuple & | out
| ) |  |

inline static

Definition at line 89 of file _flow_graph_join_impl.h.

{
return get_my_item(my_input, out);
}

References internal::join_helper< N >::get_my_item().

Referenced by internal::join_node_FE< queueing, InputTuple, OutputTuple >::try_to_make_tuple().

Here is the call graph for this function:
Here is the caller graph for this function:

## get_my_item()

template<int N>
template<typename InputTuple , typename OutputTuple >

static bool internal::join_helper< N >::get_my_item | ( | InputTuple & | my_input,
|  | OutputTuple & | out
| ) |  |

inline static

Definition at line 83 of file _flow_graph_join_impl.h.

{
bool res = tbb::flow::get<N-1>(my_input).get_item(tbb::flow::get<N-1>(out) ); // may fail
return join_helper<N-1>::get_my_item(my_input, out) && res; // do get on other inputs before returning
}

Referenced by internal::join_helper< N >::get_items(), and internal::join_helper< 1 >::get_items().

Here is the caller graph for this function:

## release_my_reservation()

template<int N>
template<typename TupleType >

static void internal::join_helper< N >::release_my_reservation | ( | TupleType & | my_input | ) |

inline static

Definition at line 62 of file _flow_graph_join_impl.h.

{
tbb::flow::get<N-1>( my_input ).release();
}

References tbb::release.

Referenced by internal::join_helper< N >::release_reservations(), internal::join_helper< 1 >::release_reservations(), and internal::join_helper< N >::reserve().

Here is the caller graph for this function:

## release_reservations()

template<int N>
template<typename TupleType >

static void internal::join_helper< N >::release_reservations | ( | TupleType & | my_input | ) |

inline static

Definition at line 67 of file _flow_graph_join_impl.h.

{
join_helper<N-1>::release_reservations(my_input);
release_my_reservation(my_input);
}

References internal::join_helper< N >::release_my_reservation().

Referenced by internal::join_node_FE< reserving, InputTuple, OutputTuple >::tuple_rejected().

Here is the call graph for this function:
Here is the caller graph for this function:

## reserve()

template<int N>
template<typename InputTuple , typename OutputTuple >

static bool internal::join_helper< N >::reserve | ( | InputTuple & | my_input,
|  | OutputTuple & | out
| ) |  |

inline static

Definition at line 73 of file _flow_graph_join_impl.h.

{
if ( !tbb::flow::get<N-1>( my_input ).reserve( tbb::flow::get<N-1>( out ) ) ) return false;
if ( !join_helper<N-1>::reserve( my_input, out ) ) {
release_my_reservation( my_input );
return false;
}
return true;
}

References internal::join_helper< N >::release_my_reservation().

Referenced by internal::join_node_FE< reserving, InputTuple, OutputTuple >::try_to_make_tuple().

Here is the call graph for this function:
Here is the caller graph for this function:

## reset_inputs()

template<int N>
template<typename InputTuple >

static void internal::join_helper< N >::reset_inputs | ( | InputTuple & | my_input,
|  | reset_flags | f
| ) |  |

inline static

Definition at line 120 of file _flow_graph_join_impl.h.

{
join_helper<N-1>::reset_inputs(my_input, f);
tbb::flow::get<N-1>(my_input).reset_receiver(f);
}

Referenced by internal::join_node_FE< reserving, InputTuple, OutputTuple >::reset(), internal::join_node_FE< queueing, InputTuple, OutputTuple >::reset(), and internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::reset().

Here is the caller graph for this function:

## reset_my_port()

template<int N>
template<typename InputTuple >

static void internal::join_helper< N >::reset_my_port | ( | InputTuple & | my_input | ) |

inline static

Definition at line 94 of file _flow_graph_join_impl.h.

{
join_helper<N-1>::reset_my_port(my_input);
tbb::flow::get<N-1>(my_input).reset_port();
}

Referenced by internal::join_helper< N >::reset_ports(), and internal::join_helper< 1 >::reset_ports().

Here is the caller graph for this function:

## reset_ports()

template<int N>
template<typename InputTuple >

static void internal::join_helper< N >::reset_ports | ( | InputTuple & | my_input | ) |

inline static

Definition at line 100 of file _flow_graph_join_impl.h.

{
reset_my_port(my_input);
}

References internal::join_helper< N >::reset_my_port().

Referenced by internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::fill_output_buffer(), and internal::join_node_FE< queueing, InputTuple, OutputTuple >::tuple_accepted().

Here is the call graph for this function:
Here is the caller graph for this function:

## set_join_node_pointer()

template<int N>
template<typename TupleType , typename PortType >

static void internal::join_helper< N >::set_join_node_pointer | ( | TupleType & | my_input,
|  | PortType * | port
| ) |  |

inline static

Definition at line 51 of file _flow_graph_join_impl.h.

{
tbb::flow::get<N-1>( my_input ).set_join_node_pointer(port);
join_helper<N-1>::set_join_node_pointer( my_input, port );
}

Referenced by internal::join_node_FE< reserving, InputTuple, OutputTuple >::join_node_FE(), internal::join_node_FE< queueing, InputTuple, OutputTuple >::join_node_FE(), and internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::join_node_FE().

Here is the caller graph for this function:

## set_key_functors()

template<int N>
template<typename InputTuple , typename KeyFuncTuple >

static void internal::join_helper< N >::set_key_functors | ( | InputTuple & | my_input,
|  | KeyFuncTuple & | my_key_funcs
| ) |  |

inline static

Definition at line 105 of file _flow_graph_join_impl.h.

{
tbb::flow::get<N-1>(my_input).set_my_key_func(tbb::flow::get<N-1>(my_key_funcs));
tbb::flow::get<N-1>(my_key_funcs) = NULL;
join_helper<N-1>::set_key_functors(my_input, my_key_funcs);
}

Referenced by internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::join_node_FE().

Here is the caller graph for this function:

The documentation for this struct was generated from the following file:

- _flow_graph_join_impl.h

internal::join_helper::reset_my_port
static void reset_my_port(InputTuple &my_input)
Definition: _flow_graph_join_impl.h:94
internal::join_helper::copy_key_functors
static void copy_key_functors(KeyFuncTuple &my_inputs, KeyFuncTuple &other_inputs)
Definition: _flow_graph_join_impl.h:112
internal::join_helper::release_reservations
static void release_reservations(TupleType &my_input)
Definition: _flow_graph_join_impl.h:67
internal::join_helper::set_key_functors
static void set_key_functors(InputTuple &my_input, KeyFuncTuple &my_key_funcs)
Definition: _flow_graph_join_impl.h:105
internal::join_helper::consume_reservations
static void consume_reservations(TupleType &my_input)
Definition: _flow_graph_join_impl.h:56
internal::join_helper::set_join_node_pointer
static void set_join_node_pointer(TupleType &my_input, PortType *port)
Definition: _flow_graph_join_impl.h:51
internal::join_helper::reserve
static bool reserve(InputTuple &my_input, OutputTuple &out)
Definition: _flow_graph_join_impl.h:73
internal::join_helper::reset_inputs
static void reset_inputs(InputTuple &my_input, reset_flags f)
Definition: _flow_graph_join_impl.h:120
internal::join_helper::release_my_reservation
static void release_my_reservation(TupleType &my_input)
Definition: _flow_graph_join_impl.h:62
tbb::release
Release.
Definition: atomic.h:59
internal::join_helper::get_my_item
static bool get_my_item(InputTuple &my_input, OutputTuple &out)
Definition: _flow_graph_join_impl.h:83

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.