Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
Implements methods for a function node that takes a type Input as input. More...
#include <_flow_graph_node_impl.h>
Public Member Functions | |
template<typename Body > | |
multifunction_input (graph &g, size_t max_concurrency,) | |
multifunction_input (const multifunction_input &src) | |
Copy constructor. More... | |
~multifunction_input () | |
template<typename Body > | |
Body | copy_function_object () |
task * | apply_body_impl_bypass (const input_type &i) |
output_ports_type & | output_ports () |
![]() | |
__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... | |
Static Public Attributes | |
static const int | N = tbb::flow::tuple_size<OutputPortSet>::value |
Protected Member Functions | |
void | reset (reset_flags f) |
![]() | |
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) |
![]() | |
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 () |
Protected Attributes | |
multifunction_body_type * | my_body |
multifunction_body_type * | my_init_body |
output_ports_type | my_output_ports |
![]() | |
graph & | my_graph_ref |
const size_t | my_max_concurrency |
size_t | my_concurrency |
input_queue_type * | my_queue |
predecessor_cache< input_type, null_mutex > | my_predecessors |
Additional Inherited Members | |
![]() | |
__TBB_DEPRECATED typedef Input | input_type |
The input type of this receiver. More... | |
__TBB_DEPRECATED typedef internal::async_helpers< Input >::filtered_type | filtered_type |
Implements methods for a function node that takes a type Input as input.
Definition at line 638 of file _flow_graph_node_impl.h.
typedef function_input_base<Input, Policy, A, my_class> internal::multifunction_input< Input, OutputPortSet, Policy, A >::base_type |
Definition at line 645 of file _flow_graph_node_impl.h.
typedef function_input_queue<input_type, A> internal::multifunction_input< Input, OutputPortSet, Policy, A >::input_queue_type |
Definition at line 646 of file _flow_graph_node_impl.h.
typedef Input internal::multifunction_input< Input, OutputPortSet, Policy, A >::input_type |
Definition at line 641 of file _flow_graph_node_impl.h.
typedef multifunction_body<input_type, output_ports_type> internal::multifunction_input< Input, OutputPortSet, Policy, A >::multifunction_body_type |
Definition at line 643 of file _flow_graph_node_impl.h.
typedef multifunction_input<Input, OutputPortSet, Policy, A> internal::multifunction_input< Input, OutputPortSet, Policy, A >::my_class |
Definition at line 644 of file _flow_graph_node_impl.h.
typedef OutputPortSet internal::multifunction_input< Input, OutputPortSet, Policy, A >::output_ports_type |
Definition at line 642 of file _flow_graph_node_impl.h.
|
inline |
Definition at line 650 of file _flow_graph_node_impl.h.
|
inline |
Copy constructor.
Definition at line 659 of file _flow_graph_node_impl.h.
|
inline |
Definition at line 666 of file _flow_graph_node_impl.h.
References internal::multifunction_input< Input, OutputPortSet, Policy, A >::my_body, and internal::multifunction_input< Input, OutputPortSet, Policy, A >::my_init_body.
|
inline |
Definition at line 680 of file _flow_graph_node_impl.h.
References tbb::internal::fgt_begin_body(), tbb::internal::fgt_end_body(), internal::multifunction_input< Input, OutputPortSet, Policy, A >::my_body, internal::function_input_base< Input, Policy, A, ImplType >::my_max_concurrency, internal::multifunction_input< Input, OutputPortSet, Policy, A >::my_output_ports, tbb::flow::internal::SUCCESSFULLY_ENQUEUED, task, and internal::function_input_base< Input, Policy, A, ImplType >::try_get_postponed_task().
|
inline |
Definition at line 672 of file _flow_graph_node_impl.h.
References internal::multifunction_input< Input, OutputPortSet, Policy, A >::my_body.
|
inline |
Definition at line 691 of file _flow_graph_node_impl.h.
References internal::multifunction_input< Input, OutputPortSet, Policy, A >::my_output_ports.
|
inlineprotected |
Definition at line 700 of file _flow_graph_node_impl.h.
References __TBB_ASSERT, internal::clear_element< N >::clear_this(), internal::multifunction_body< Input, OutputSet >::clone(), internal::multifunction_input< Input, OutputPortSet, Policy, A >::my_body, internal::multifunction_input< Input, OutputPortSet, Policy, A >::my_init_body, internal::multifunction_input< Input, OutputPortSet, Policy, A >::my_output_ports, internal::function_input_base< Input, Policy, A, ImplType >::reset_function_input_base(), tbb::flow::interface11::rf_clear_edges, and tbb::flow::interface11::rf_reset_bodies.
|
protected |
Definition at line 711 of file _flow_graph_node_impl.h.
Referenced by internal::multifunction_input< Input, OutputPortSet, Policy, A >::apply_body_impl_bypass(), internal::multifunction_input< Input, OutputPortSet, Policy, A >::copy_function_object(), internal::multifunction_input< Input, OutputPortSet, Policy, A >::reset(), and internal::multifunction_input< Input, OutputPortSet, Policy, A >::~multifunction_input().
|
protected |
Definition at line 712 of file _flow_graph_node_impl.h.
Referenced by internal::multifunction_input< Input, OutputPortSet, Policy, A >::reset(), and internal::multifunction_input< Input, OutputPortSet, Policy, A >::~multifunction_input().
|
protected |
Definition at line 713 of file _flow_graph_node_impl.h.
Referenced by internal::multifunction_input< Input, OutputPortSet, Policy, A >::apply_body_impl_bypass(), internal::multifunction_input< Input, OutputPortSet, Policy, A >::output_ports(), and internal::multifunction_input< Input, OutputPortSet, Policy, A >::reset().
|
static |
Definition at line 640 of file _flow_graph_node_impl.h.