Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
The two-phase join port. More...
#include <flow_graph.h>
Classes | |
class | reserving_port_operation |
Public Types | |
typedef T | input_type |
typedef receiver< input_type >::predecessor_type | predecessor_type |
![]() | |
typedef T | input_type |
The input type of this receiver. More... | |
typedef internal::async_helpers< T >::filtered_type | filtered_type |
![]() | |
typedef untyped_sender | predecessor_type |
The predecessor type for this node. More... | |
Public Member Functions | |
reserving_port () | |
Constructor. More... | |
reserving_port (const reserving_port &) | |
void | set_join_node_pointer (forwarding_base *join) |
bool | register_predecessor (predecessor_type &src) __TBB_override |
Add a predecessor. More... | |
bool | remove_predecessor (predecessor_type &src) __TBB_override |
Remove a predecessor. More... | |
bool | reserve (T &v) |
Reserve an item from the port. More... | |
void | release () |
Release the port. More... | |
void | consume () |
Complete use of the port. More... | |
void | reset_receiver (reset_flags f) __TBB_override |
put receiver back in initial state More... | |
![]() | |
bool | try_put (const typename internal::async_helpers< T >::filtered_type &t) |
Put an item to the receiver. More... | |
bool | try_put (const typename internal::async_helpers< T >::async_type &t) |
![]() | |
virtual | ~untyped_receiver () |
Destructor. More... | |
template<typename X > | |
bool | try_put (const X &t) |
Put an item to the receiver. More... | |
Protected Member Functions | |
task * | try_put_task (const T &) __TBB_override |
Put item to successor; return task to run the successor if possible. More... | |
graph & | graph_reference () __TBB_override |
![]() | |
virtual task * | try_put_task_wrapper (const void *p, bool is_async) __TBB_override |
![]() | |
template<typename X > | |
task * | try_put_task (const X &t) |
virtual bool | is_continue_receiver () |
Private Types | |
enum | op_type { reg_pred, rem_pred, res_item, rel_res, con_res } |
enum | op_stat { WAIT =0, SUCCEEDED, FAILED } |
typedef reserving_port< T > | class_type |
typedef internal::aggregating_functor< class_type, reserving_port_operation > | handler_type |
Private Member Functions | |
void | handle_operations (reserving_port_operation *op_list) |
Private Attributes | |
aggregator< handler_type, reserving_port_operation > | my_aggregator |
forwarding_base * | my_join |
reservable_predecessor_cache< T, null_mutex > | my_predecessors |
bool | reserved |
Friends | |
class | internal::aggregating_functor< class_type, reserving_port_operation > |
template<typename R , typename B > | |
class | run_and_put_task |
template<typename X , typename Y > | |
class | internal::broadcast_cache |
template<typename X , typename Y > | |
class | internal::round_robin_cache |
The two-phase join port.
Definition at line 214 of file flow_graph.h.
|
private |
Definition at line 230 of file flow_graph.h.
|
private |
Definition at line 250 of file flow_graph.h.
typedef T tbb::flow::interface10::internal::reserving_port< T >::input_type |
Definition at line 216 of file flow_graph.h.
typedef receiver<input_type>::predecessor_type tbb::flow::interface10::internal::reserving_port< T >::predecessor_type |
Definition at line 217 of file flow_graph.h.
|
private |
Enumerator | |
---|---|
WAIT | |
SUCCEEDED | |
FAILED |
Definition at line 229 of file flow_graph.h.
|
private |
Enumerator | |
---|---|
reg_pred | |
rem_pred | |
res_item | |
rel_res | |
con_res |
Definition at line 224 of file flow_graph.h.
|
inline |
|
inline |
Definition at line 342 of file flow_graph.h.
|
inline |
|
inlineprotectedvirtual |
Implements tbb::flow::interface10::internal::untyped_receiver.
Definition at line 328 of file flow_graph.h.
|
inlineprivate |
Definition at line 254 of file flow_graph.h.
|
inlinevirtual |
Add a predecessor.
Reimplemented from tbb::flow::interface10::internal::untyped_receiver.
Definition at line 354 of file flow_graph.h.
|
inline |
Release the port.
Definition at line 375 of file flow_graph.h.
|
inlinevirtual |
Remove a predecessor.
Reimplemented from tbb::flow::interface10::internal::untyped_receiver.
Definition at line 361 of file flow_graph.h.
|
inline |
Reserve an item from the port.
Definition at line 368 of file flow_graph.h.
|
inlinevirtual |
put receiver back in initial state
Implements tbb::flow::interface10::internal::untyped_receiver.
Definition at line 416 of file flow_graph.h.
|
inline |
Definition at line 349 of file flow_graph.h.
|
inlineprotectedvirtual |
Put item to successor; return task to run the successor if possible.
Implements tbb::flow::interface10::receiver< T >.
Definition at line 324 of file flow_graph.h.
|
friend |
Definition at line 251 of file flow_graph.h.
|
friend |
Definition at line 322 of file flow_graph.h.
|
friend |
Definition at line 323 of file flow_graph.h.
Definition at line 321 of file flow_graph.h.
|
private |
Definition at line 252 of file flow_graph.h.
|
private |
Definition at line 425 of file flow_graph.h.
|
private |
Definition at line 426 of file flow_graph.h.
|
private |
Definition at line 427 of file flow_graph.h.