Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
Forwards messages of type T to all successors. More...
#include <flow_graph.h>
Public Types | |
typedef T | input_type |
typedef T | output_type |
typedef receiver< input_type >::predecessor_type | predecessor_type |
typedef sender< output_type >::successor_type | successor_type |
![]() | |
typedef untyped_sender | predecessor_type |
The predecessor type for this node. More... | |
![]() | |
typedef untyped_receiver | successor_type |
The successor type for this node. More... | |
Public Member Functions | |
__TBB_NOINLINE_SYM | broadcast_node (graph &g) |
__TBB_NOINLINE_SYM | broadcast_node (const broadcast_node &src) |
bool | register_successor (successor_type &r) __TBB_override |
Adds a successor. More... | |
bool | remove_successor (successor_type &r) __TBB_override |
Removes s as a successor. More... | |
![]() | |
graph_node (graph &g) | |
virtual | ~graph_node () |
![]() | |
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... | |
virtual bool | register_predecessor (predecessor_type &) |
Add a predecessor to the node. More... | |
virtual bool | remove_predecessor (predecessor_type &) |
Remove a predecessor from the node. More... | |
![]() | |
virtual bool | try_get (T &) |
Request an item from the sender. More... | |
virtual bool | try_reserve (T &) |
Reserves an item in the sender. More... | |
![]() | |
virtual | ~untyped_sender () |
virtual bool | try_release () |
Releases the reserved item. More... | |
virtual bool | try_consume () |
Consumes the reserved item. More... | |
Protected Member Functions | |
task * | try_put_task (const T &t) __TBB_override |
build a task to run the successor if possible. Default is old behavior. More... | |
graph & | graph_reference () const __TBB_override |
void | reset_receiver (reset_flags) __TBB_override |
put receiver back in initial state More... | |
void | reset_node (reset_flags f) __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 () |
![]() | |
virtual bool | try_get_wrapper (void *p, bool is_async) __TBB_override |
virtual bool | try_reserve_wrapper (void *p, bool is_async) __TBB_override |
![]() | |
template<typename X > | |
bool | try_get (X &t) |
Request an item from the sender. More... | |
template<typename X > | |
bool | try_reserve (X &t) |
Reserves an item in the sender. More... | |
Private Attributes | |
internal::broadcast_cache< input_type > | my_successors |
Friends | |
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 |
Additional Inherited Members | |
![]() | |
__TBB_DEPRECATED typedef T | input_type |
The input type of this receiver. More... | |
__TBB_DEPRECATED typedef internal::async_helpers< T >::filtered_type | filtered_type |
![]() | |
__TBB_DEPRECATED typedef T | output_type |
The output type of this sender. More... | |
__TBB_DEPRECATED typedef internal::async_helpers< T >::filtered_type | filtered_type |
![]() | |
graph & | my_graph |
graph_node * | next |
graph_node * | prev |
Forwards messages of type T to all successors.
Definition at line 1905 of file flow_graph.h.
typedef T tbb::flow::interface11::broadcast_node< T >::input_type |
Definition at line 1907 of file flow_graph.h.
typedef T tbb::flow::interface11::broadcast_node< T >::output_type |
Definition at line 1908 of file flow_graph.h.
typedef receiver<input_type>::predecessor_type tbb::flow::interface11::broadcast_node< T >::predecessor_type |
Definition at line 1909 of file flow_graph.h.
typedef sender<output_type>::successor_type tbb::flow::interface11::broadcast_node< T >::successor_type |
Definition at line 1910 of file flow_graph.h.
|
inlineexplicit |
Definition at line 1923 of file flow_graph.h.
References CODEPTR, tbb::internal::fgt_node(), tbb::flow::interface11::graph_node::my_graph, tbb::flow::interface11::broadcast_node< T >::my_successors, and tbb::flow::interface11::internal::successor_cache< T, M >::set_owner().
|
inline |
Definition at line 1937 of file flow_graph.h.
|
inlineprotectedvirtual |
Implements tbb::flow::interface11::internal::untyped_receiver.
Definition at line 2025 of file flow_graph.h.
References tbb::flow::interface11::graph_node::my_graph.
|
inlinevirtual |
Adds a successor.
Implements tbb::flow::interface11::internal::untyped_sender.
Definition at line 1952 of file flow_graph.h.
|
inlinevirtual |
Removes s as a successor.
Implements tbb::flow::interface11::internal::untyped_sender.
Definition at line 1958 of file flow_graph.h.
|
inlineprotectedvirtual |
Implements tbb::flow::interface11::graph_node.
Definition at line 2031 of file flow_graph.h.
References __TBB_ASSERT, tbb::flow::interface11::internal::successor_cache< T, M >::clear(), tbb::flow::interface11::internal::successor_cache< T, M >::empty(), tbb::flow::interface11::broadcast_node< T >::my_successors, and tbb::flow::interface11::rf_clear_edges.
|
inlineprotectedvirtual |
put receiver back in initial state
Implements tbb::flow::interface11::internal::untyped_receiver.
Definition at line 2029 of file flow_graph.h.
|
inlineprotectedvirtual |
build a task to run the successor if possible. Default is old behavior.
Implements tbb::flow::interface11::receiver< T >.
Definition at line 2019 of file flow_graph.h.
References tbb::flow::interface11::broadcast_node< T >::my_successors, tbb::flow::internal::SUCCESSFULLY_ENQUEUED, and tbb::flow::interface11::internal::broadcast_cache< T, M >::try_put_task().
|
friend |
Definition at line 2016 of file flow_graph.h.
|
friend |
Definition at line 2017 of file flow_graph.h.
Definition at line 2015 of file flow_graph.h.
|
private |
Definition at line 1916 of file flow_graph.h.
Referenced by tbb::flow::interface11::broadcast_node< T >::broadcast_node(), tbb::flow::interface11::broadcast_node< T >::reset_node(), tbb::flow::interface11::broadcast_node< T >::try_put_task(), and tbb::flow::interface11::internal::unfolded_join_node< 10, key_matching_port, OutputTuple, key_matching< K, KHash > >::unfolded_join_node().