Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
Implements a function node that supports Input -> Output. More...
#include <flow_graph.h>
Public Member Functions | |
template<typename Body > | |
__TBB_NOINLINE_SYM | function_node (graph &g, size_t concurrency, __TBB_FLOW_GRAPH_PRIORITY_ARG1(Body body, node_priority_t priority=tbb::flow::internal::no_priority)) |
Constructor. More... | |
__TBB_NOINLINE_SYM | function_node (const function_node &src) |
Copy constructor. More... | |
![]() | |
graph_node (graph &g) | |
virtual | ~graph_node () |
![]() | |
function_input (graph &g, size_t max_concurrency,) | |
function_input (const function_input &src) | |
Copy constructor. More... | |
~function_input () | |
Body | copy_function_object () |
output_type | apply_body_impl (const input_type &i) |
task * | apply_body_impl_bypass (const input_type &i) |
![]() | |
__TBB_STATIC_ASSERT (!((internal::has_policy< queueing, Policy >::value) &&(internal::has_policy< rejecting, Policy >::value)), "queueing and rejecting policies can't be specified simultaneously") | |
function_input_base (graph &g, __TBB_FLOW_GRAPH_PRIORITY_ARG1(size_t max_concurrency, node_priority_t priority)) | |
Constructor for function_input_base. More... | |
function_input_base (const function_input_base &src) | |
Copy constructor. More... | |
virtual | ~function_input_base () |
Destructor. More... | |
task * | try_put_task (const input_type &t) __TBB_override |
Put item to successor; return task to run the successor if possible. More... | |
bool | register_predecessor (predecessor_type &src) __TBB_override |
Adds src to the list of cached predecessors. More... | |
bool | remove_predecessor (predecessor_type &src) __TBB_override |
Removes src from the list of cached predecessors. More... | |
![]() | |
bool | try_put (const typename internal::async_helpers< Input >::filtered_type &t) |
Put an item to the receiver. More... | |
bool | try_put (const typename internal::async_helpers< Input >::async_type &t) |
![]() | |
virtual | ~untyped_receiver () |
Destructor. More... | |
template<typename X > | |
bool | try_put (const X &t) |
Put an item to the receiver. More... | |
![]() | |
function_output (graph &g) | |
function_output (const function_output &other) | |
bool | register_successor (successor_type &r) __TBB_override |
Adds a new successor to this node. More... | |
bool | remove_successor (successor_type &r) __TBB_override |
Removes a successor from this node. More... | |
task * | try_put_task (const output_type &i) |
broadcast_cache_type & | successors () |
graph & | graph_reference () const |
![]() | |
virtual bool | try_get (Output &) |
Request an item from the sender. More... | |
virtual bool | try_reserve (Output &) |
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... | |
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 |
Implements a function node that supports Input -> Output.
Definition at line 1161 of file flow_graph.h.
typedef internal::function_output<output_type> tbb::flow::interface11::function_node< Input, Output, Policy, Allocator >::fOutput_type |
Definition at line 1167 of file flow_graph.h.
typedef internal::function_input<input_type,output_type,Policy,Allocator> tbb::flow::interface11::function_node< Input, Output, Policy, Allocator >::input_impl_type |
Definition at line 1165 of file flow_graph.h.
typedef internal::function_input_queue<input_type, Allocator> tbb::flow::interface11::function_node< Input, Output, Policy, Allocator >::input_queue_type |
Definition at line 1166 of file flow_graph.h.
typedef Input tbb::flow::interface11::function_node< Input, Output, Policy, Allocator >::input_type |
Definition at line 1163 of file flow_graph.h.
typedef Output tbb::flow::interface11::function_node< Input, Output, Policy, Allocator >::output_type |
Definition at line 1164 of file flow_graph.h.
typedef input_impl_type::predecessor_type tbb::flow::interface11::function_node< Input, Output, Policy, Allocator >::predecessor_type |
Definition at line 1168 of file flow_graph.h.
typedef fOutput_type::successor_type tbb::flow::interface11::function_node< Input, Output, Policy, Allocator >::successor_type |
Definition at line 1169 of file flow_graph.h.
|
inline |
Constructor.
Definition at line 1181 of file flow_graph.h.
References CODEPTR, tbb::internal::fgt_node_with_body(), internal::function_input< Input, Output, Policy, Allocator >::my_body, and tbb::flow::interface11::graph_node::my_graph.
|
inline |
Copy constructor.
Definition at line 1215 of file flow_graph.h.
References CODEPTR, tbb::internal::fgt_node_with_body(), internal::function_input< Input, Output, Policy, Allocator >::my_body, and tbb::flow::interface11::graph_node::my_graph.
|
inlineprotectedvirtual |
Implements tbb::flow::interface11::graph_node.
Definition at line 1244 of file flow_graph.h.
References __TBB_ASSERT, internal::node_cache< T, M >::clear(), internal::node_cache< T, M >::empty(), internal::successor_cache< T, M >::empty(), internal::function_input_base< Input, Policy, Allocator, function_input< Input, Output, Policy, Allocator > >::my_predecessors, internal::function_input< Input, Output, Policy, A >::reset_function_input(), tbb::flow::interface11::rf_clear_edges, and tbb::flow::interface11::function_node< Input, Output, Policy, Allocator >::successors().
|
inlineprotectedvirtual |
Implements internal::function_input< Input, Output, Policy, Allocator >.
Definition at line 1242 of file flow_graph.h.
References internal::function_output< Output >::my_successors.
Referenced by tbb::flow::interface11::function_node< Input, Output, Policy, Allocator >::reset_node().
|
friend |
Definition at line 1238 of file flow_graph.h.
|
friend |
Definition at line 1239 of file flow_graph.h.
|
friend |
Definition at line 1237 of file flow_graph.h.