|
Intel(R) Threading Building Blocks Doxygen Documentation version 4.2.3
|
Implements async node. More...
#include <flow_graph.h>
Classes | |
| class | receiver_gateway_impl |
| struct | try_put_functor |
Public Member Functions | |
| template<typename Body > | |
| __TBB_NOINLINE_SYM | async_node (graph &g, size_t concurrency,) |
| __TBB_NOINLINE_SYM | async_node (const async_node &other) |
| gateway_type & | gateway () |
| bool | register_successor (successor_type &r) __TBB_override |
| Add a new successor to this node. | |
| bool | remove_successor (successor_type &r) __TBB_override |
| Removes a successor from this node. | |
| template<typename Body > | |
| Body | copy_function_object () |
Public Member Functions inherited from tbb::flow::interface11::multifunction_node< Input, Output, Policy, Allocator > | |
| template<typename Body > | |
| __TBB_NOINLINE_SYM | multifunction_node (graph &g, size_t concurrency,) |
| __TBB_NOINLINE_SYM | multifunction_node (const multifunction_node &other) |
Public Member Functions inherited from tbb::flow::interface11::graph_node | |
| graph_node (graph &g) | |
| virtual | ~graph_node () |
Public Member Functions inherited from internal::multifunction_input< Input, OutputPortSet, Policy, A > | |
| template<typename Body > | |
| multifunction_input (graph &g, size_t max_concurrency,) | |
| multifunction_input (const multifunction_input &src) | |
| Copy constructor. | |
| ~multifunction_input () | |
| template<typename Body > | |
| Body | copy_function_object () |
| task * | apply_body_impl_bypass (const input_type &i) |
| output_ports_type & | output_ports () |
Public Member Functions inherited from internal::function_input_base< Input, Policy, A, multifunction_input< Input, OutputPortSet, Policy, A > > | |
| __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. | |
| function_input_base (const function_input_base &src) | |
| Copy constructor. | |
| virtual | ~function_input_base () |
| Destructor. | |
| task * | try_put_task (const input_type &t) __TBB_override |
| Put item to successor; return task to run the successor if possible. | |
| bool | register_predecessor (predecessor_type &src) __TBB_override |
| Adds src to the list of cached predecessors. | |
| bool | remove_predecessor (predecessor_type &src) __TBB_override |
| Removes src from the list of cached predecessors. | |
Public Member Functions inherited from tbb::flow::interface11::receiver< Input > | |
| bool | try_put (const typename internal::async_helpers< Input >::filtered_type &t) |
| Put an item to the receiver. | |
| bool | try_put (const typename internal::async_helpers< Input >::async_type &t) |
Public Member Functions inherited from tbb::flow::interface11::internal::untyped_receiver | |
| virtual | ~untyped_receiver () |
| Destructor. | |
| template<typename X > | |
| bool | try_put (const X &t) |
| Put an item to the receiver. | |
| virtual bool | register_predecessor (predecessor_type &) |
| Add a predecessor to the node. | |
| virtual bool | remove_predecessor (predecessor_type &) |
| Remove a predecessor from the node. | |
Public Member Functions inherited from tbb::flow::interface11::sender< Output > | |
| virtual bool | try_get (Output &) |
| Request an item from the sender. | |
| virtual bool | try_reserve (Output &) |
| Reserves an item in the sender. | |
Public Member Functions inherited from tbb::flow::interface11::internal::untyped_sender | |
| virtual | ~untyped_sender () |
| virtual bool | register_successor (successor_type &r)=0 |
| Add a new successor to this node. | |
| virtual bool | remove_successor (successor_type &r)=0 |
| Removes a successor from this node. | |
| virtual bool | try_release () |
| Releases the reserved item. | |
| virtual bool | try_consume () |
| Consumes the reserved item. | |
Protected Member Functions | |
| void | reset_node (reset_flags f) __TBB_override |
| void | reset_node (reset_flags f) __TBB_override |
| virtual void | reset_node (reset_flags f=rf_reset_protocol)=0 |
Protected Member Functions inherited from internal::multifunction_input< Input, OutputPortSet, Policy, A > | |
| void | reset (reset_flags f) |
Protected Member Functions inherited from internal::function_input_base< Input, Policy, A, multifunction_input< Input, OutputPortSet, Policy, A > > | |
| void | reset_function_input_base (reset_flags f) |
| void | reset_receiver (reset_flags f) __TBB_override |
| graph & | graph_reference () const __TBB_override |
| task * | try_get_postponed_task (const input_type &i) |
Protected Member Functions inherited from tbb::flow::interface11::receiver< Input > | |
| virtual task * | try_put_task_wrapper (const void *p, bool is_async) __TBB_override |
| virtual task * | try_put_task (const Input &t)=0 |
| Put item to successor; return task to run the successor if possible. | |
Protected Member Functions inherited from tbb::flow::interface11::internal::untyped_receiver | |
| template<typename X > | |
| task * | try_put_task (const X &t) |
| virtual task * | try_put_task_wrapper (const void *p, bool is_async)=0 |
| virtual graph & | graph_reference () const =0 |
| virtual void | reset_receiver (reset_flags f=rf_reset_protocol)=0 |
| put receiver back in initial state | |
| virtual bool | is_continue_receiver () |
Protected Member Functions inherited from tbb::flow::interface11::sender< Output > | |
| virtual bool | try_get_wrapper (void *p, bool is_async) __TBB_override |
| virtual bool | try_reserve_wrapper (void *p, bool is_async) __TBB_override |
Protected Member Functions inherited from tbb::flow::interface11::internal::untyped_sender | |
| template<typename X > | |
| bool | try_get (X &t) |
| Request an item from the sender. | |
| template<typename X > | |
| bool | try_reserve (X &t) |
| Reserves an item in the sender. | |
| virtual bool | try_get_wrapper (void *p, bool is_async)=0 |
| virtual bool | try_reserve_wrapper (void *p, bool is_async)=0 |
Private Types | |
| typedef multifunction_node< Input, tuple< Output >, Policy, Allocator > | base_type |
| typedef internal::multifunction_input< Input, typename base_type::output_ports_type, Policy, Allocator > | mfn_input_type |
Private Member Functions | |
| __TBB_STATIC_ASSERT ((tbb::internal::is_same_type< Allocator, null_type >::value), "Allocator template parameter for flow graph nodes is deprecated and will removed in the future. " "To temporary enable the deprecated interface specify TBB_ENABLE_DEPRECATED_NODE_ALLOCATOR.") | |
| async_node * | self () |
| bool | try_put_impl (const Output &i) |
| Implements gateway_type::try_put for an external activity to submit a message to FG. | |
Private Attributes | |
| tbb::flow::interface11::async_node::receiver_gateway_impl | my_gateway |
Implements async node.
Definition at line 4211 of file flow_graph.h.
| typedef internal::async_body_base<gateway_type> tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::async_body_base_type |
Definition at line 4231 of file flow_graph.h.
|
private |
Definition at line 4221 of file flow_graph.h.
| typedef receiver_gateway<output_type> tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::gateway_type |
Definition at line 4230 of file flow_graph.h.
| typedef Input tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::input_type |
Definition at line 4225 of file flow_graph.h.
|
private |
Definition at line 4222 of file flow_graph.h.
| typedef base_type::output_ports_type tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::output_ports_type |
Definition at line 4232 of file flow_graph.h.
| typedef Output tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::output_type |
Definition at line 4226 of file flow_graph.h.
| typedef receiver_type::predecessor_type tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::predecessor_type |
Definition at line 4228 of file flow_graph.h.
| typedef receiver<input_type> tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::receiver_type |
Definition at line 4227 of file flow_graph.h.
| typedef sender<output_type>::successor_type tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::successor_type |
Definition at line 4229 of file flow_graph.h.
|
inline |
Definition at line 4291 of file flow_graph.h.
References CODEPTR.
|
inline |
Definition at line 4331 of file flow_graph.h.
References CODEPTR.
|
private |
|
inline |
Definition at line 4363 of file flow_graph.h.
References tbb::flow::interface11::internal::async_body< Input, Ports, Gateway, Body >::get_body().
|
inline |
Definition at line 4340 of file flow_graph.h.
|
inlinevirtual |
Add a new successor to this node.
Implements tbb::flow::interface11::internal::untyped_sender.
Definition at line 4353 of file flow_graph.h.
|
inlinevirtual |
Removes a successor from this node.
Implements tbb::flow::interface11::internal::untyped_sender.
Definition at line 4358 of file flow_graph.h.
|
inlineprotectedvirtual |
Reimplemented from tbb::flow::interface11::multifunction_node< Input, Output, Policy, Allocator >.
Definition at line 4398 of file flow_graph.h.
|
inlineprivate |
Definition at line 4270 of file flow_graph.h.
|
inlineprivate |
Implements gateway_type::try_put for an external activity to submit a message to FG.
Definition at line 4273 of file flow_graph.h.
References __TBB_ASSERT, tbb::task_list::empty(), tbb::internal::fgt_async_try_put_begin(), tbb::internal::fgt_async_try_put_end(), tbb::task_list::pop_front(), and internal::function_output< Output >::successors().
|
private |