Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
#include <flow_graph.h>
Public Types | |
typedef untyped_sender | predecessor_type |
The predecessor type for this node. More... | |
Public Member Functions | |
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... | |
Protected Member Functions | |
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 More... | |
virtual bool | is_continue_receiver () |
Friends | |
template<typename , typename > | |
class | run_and_put_task |
template<typename , typename > | |
class | internal::broadcast_cache |
template<typename , typename > | |
class | internal::round_robin_cache |
template<typename , typename > | |
class | internal::successor_cache |
template<typename , typename > | |
class | proxy_dependency_receiver |
Definition at line 358 of file flow_graph.h.
The predecessor type for this node.
Definition at line 370 of file flow_graph.h.
|
inlinevirtual |
|
protectedpure virtual |
Implemented in tbb::flow::interface11::overwrite_node< T >, tbb::flow::interface11::limiter_node< T, DecrementType >, tbb::flow::interface11::buffer_node< T, Allocator >, tbb::flow::interface11::broadcast_node< T >, tbb::flow::interface11::split_node< TupleType, Allocator >, tbb::flow::interface11::internal::continue_input< Output, Policy >, tbb::flow::interface11::internal::key_matching_port< TraitsType >, internal::key_matching_port< TraitsType >, tbb::flow::interface11::internal::queueing_port< T >, tbb::flow::interface11::internal::decrementer< T, continue_msg, void >, tbb::flow::interface11::internal::decrementer< T, DecrementType, typename tbb::internal::enable_if< tbb::internal::is_integral< DecrementType >::value, void >::type >, internal::decrementer< T, DecrementType, typename tbb::internal::enable_if< tbb::internal::is_integral< DecrementType >::value, void >::type >, tbb::flow::interface11::internal::reserving_port< T >, tbb::flow::interface11::internal::function_input_base< Input, Policy, A, ImplType >, internal::function_input_base< Input, Policy, A, ImplType >, tbb::flow::interface11::internal::function_input_base< Input, Policy, A, function_input< Input, Output, Policy, A > >, tbb::flow::interface11::internal::function_input_base< kernel_input_tuple, queueing, cache_aligned_allocator< kernel_input_tuple >, multifunction_input< kernel_input_tuple, internal::wrap_tuple_elements< tbb::flow::tuple_size< output_tuple >::value, internal::multifunction_output, output_tuple >::type, queueing, cache_aligned_allocator< kernel_input_tuple > > >, tbb::flow::interface11::internal::function_input_base< Input, Policy, cache_aligned_allocator< Input >, multifunction_input< Input, internal::wrap_tuple_elements< tbb::flow::tuple_size< tuple< Output > >::value, internal::multifunction_output, tuple< Output > >::type, Policy, cache_aligned_allocator< Input > > >, tbb::flow::interface11::internal::function_input_base< Input, Policy, cache_aligned_allocator< Input >, function_input< Input, Output, Policy, cache_aligned_allocator< Input > > >, tbb::flow::interface11::internal::function_input_base< Input, Policy, cache_aligned_allocator< Input >, multifunction_input< Input, internal::wrap_tuple_elements< tbb::flow::tuple_size< Output >::value, internal::multifunction_output, Output >::type, Policy, cache_aligned_allocator< Input > > >, tbb::flow::interface11::internal::function_input_base< Input, Policy, A, multifunction_input< Input, OutputPortSet, Policy, A > >, tbb::flow::interface11::internal::function_input_base< indexer_node_output_type, queueing, cache_aligned_allocator< indexer_node_output_type >, multifunction_input< indexer_node_output_type, internal::wrap_tuple_elements< tbb::flow::tuple_size< kernel_input_tuple >::value, internal::multifunction_output, kernel_input_tuple >::type, queueing, cache_aligned_allocator< indexer_node_output_type > > >, internal::function_input_base< Input, Policy, A, function_input< Input, Output, Policy, A > >, internal::function_input_base< Input, Policy, A, multifunction_input< Input, OutputPortSet, Policy, A > >, and tbb::flow::interface11::internal::indexer_input_port< T >.
|
inlineprotectedvirtual |
Reimplemented in tbb::flow::interface11::continue_receiver.
Definition at line 418 of file flow_graph.h.
|
inlinevirtual |
Add a predecessor to the node.
Reimplemented in tbb::flow::interface11::limiter_node< T, DecrementType >, tbb::flow::interface11::continue_receiver, tbb::flow::interface11::internal::reserving_port< T >, tbb::flow::interface11::internal::function_input_base< Input, Policy, A, ImplType >, internal::function_input_base< Input, Policy, A, ImplType >, tbb::flow::interface11::internal::function_input_base< Input, Policy, A, function_input< Input, Output, Policy, A > >, tbb::flow::interface11::internal::function_input_base< kernel_input_tuple, queueing, cache_aligned_allocator< kernel_input_tuple >, multifunction_input< kernel_input_tuple, internal::wrap_tuple_elements< tbb::flow::tuple_size< output_tuple >::value, internal::multifunction_output, output_tuple >::type, queueing, cache_aligned_allocator< kernel_input_tuple > > >, tbb::flow::interface11::internal::function_input_base< Input, Policy, cache_aligned_allocator< Input >, multifunction_input< Input, internal::wrap_tuple_elements< tbb::flow::tuple_size< tuple< Output > >::value, internal::multifunction_output, tuple< Output > >::type, Policy, cache_aligned_allocator< Input > > >, tbb::flow::interface11::internal::function_input_base< Input, Policy, cache_aligned_allocator< Input >, function_input< Input, Output, Policy, cache_aligned_allocator< Input > > >, tbb::flow::interface11::internal::function_input_base< Input, Policy, cache_aligned_allocator< Input >, multifunction_input< Input, internal::wrap_tuple_elements< tbb::flow::tuple_size< Output >::value, internal::multifunction_output, Output >::type, Policy, cache_aligned_allocator< Input > > >, tbb::flow::interface11::internal::function_input_base< Input, Policy, A, multifunction_input< Input, OutputPortSet, Policy, A > >, tbb::flow::interface11::internal::function_input_base< indexer_node_output_type, queueing, cache_aligned_allocator< indexer_node_output_type >, multifunction_input< indexer_node_output_type, internal::wrap_tuple_elements< tbb::flow::tuple_size< kernel_input_tuple >::value, internal::multifunction_output, kernel_input_tuple >::type, queueing, cache_aligned_allocator< indexer_node_output_type > > >, internal::function_input_base< Input, Policy, A, function_input< Input, Output, Policy, A > >, and internal::function_input_base< Input, Policy, A, multifunction_input< Input, OutputPortSet, Policy, A > >.
Definition at line 389 of file flow_graph.h.
|
inlinevirtual |
Remove a predecessor from the node.
Reimplemented in tbb::flow::interface11::limiter_node< T, DecrementType >, tbb::flow::interface11::continue_receiver, tbb::flow::interface11::internal::reserving_port< T >, tbb::flow::interface11::internal::function_input_base< Input, Policy, A, ImplType >, internal::function_input_base< Input, Policy, A, ImplType >, tbb::flow::interface11::internal::function_input_base< Input, Policy, A, function_input< Input, Output, Policy, A > >, tbb::flow::interface11::internal::function_input_base< kernel_input_tuple, queueing, cache_aligned_allocator< kernel_input_tuple >, multifunction_input< kernel_input_tuple, internal::wrap_tuple_elements< tbb::flow::tuple_size< output_tuple >::value, internal::multifunction_output, output_tuple >::type, queueing, cache_aligned_allocator< kernel_input_tuple > > >, tbb::flow::interface11::internal::function_input_base< Input, Policy, cache_aligned_allocator< Input >, multifunction_input< Input, internal::wrap_tuple_elements< tbb::flow::tuple_size< tuple< Output > >::value, internal::multifunction_output, tuple< Output > >::type, Policy, cache_aligned_allocator< Input > > >, tbb::flow::interface11::internal::function_input_base< Input, Policy, cache_aligned_allocator< Input >, function_input< Input, Output, Policy, cache_aligned_allocator< Input > > >, tbb::flow::interface11::internal::function_input_base< Input, Policy, cache_aligned_allocator< Input >, multifunction_input< Input, internal::wrap_tuple_elements< tbb::flow::tuple_size< Output >::value, internal::multifunction_output, Output >::type, Policy, cache_aligned_allocator< Input > > >, tbb::flow::interface11::internal::function_input_base< Input, Policy, A, multifunction_input< Input, OutputPortSet, Policy, A > >, tbb::flow::interface11::internal::function_input_base< indexer_node_output_type, queueing, cache_aligned_allocator< indexer_node_output_type >, multifunction_input< indexer_node_output_type, internal::wrap_tuple_elements< tbb::flow::tuple_size< kernel_input_tuple >::value, internal::multifunction_output, kernel_input_tuple >::type, queueing, cache_aligned_allocator< indexer_node_output_type > > >, internal::function_input_base< Input, Policy, A, function_input< Input, Output, Policy, A > >, and internal::function_input_base< Input, Policy, A, multifunction_input< Input, OutputPortSet, Policy, A > >.
Definition at line 392 of file flow_graph.h.
|
protectedpure virtual |
put receiver back in initial state
Implemented in tbb::flow::interface11::overwrite_node< T >, tbb::flow::interface11::limiter_node< T, DecrementType >, tbb::flow::interface11::buffer_node< T, Allocator >, tbb::flow::interface11::broadcast_node< T >, tbb::flow::interface11::split_node< TupleType, Allocator >, tbb::flow::interface11::internal::key_matching_port< TraitsType >, tbb::flow::interface11::internal::continue_input< Output, Policy >, tbb::flow::interface11::continue_receiver, tbb::flow::interface11::internal::queueing_port< T >, tbb::flow::interface11::internal::decrementer< T, DecrementType, typename tbb::internal::enable_if< tbb::internal::is_integral< DecrementType >::value, void >::type >, tbb::flow::interface11::internal::reserving_port< T >, tbb::flow::interface11::internal::function_input_base< Input, Policy, A, ImplType >, tbb::flow::interface11::internal::function_input_base< Input, Policy, A, function_input< Input, Output, Policy, A > >, tbb::flow::interface11::internal::function_input_base< kernel_input_tuple, queueing, cache_aligned_allocator< kernel_input_tuple >, multifunction_input< kernel_input_tuple, internal::wrap_tuple_elements< tbb::flow::tuple_size< output_tuple >::value, internal::multifunction_output, output_tuple >::type, queueing, cache_aligned_allocator< kernel_input_tuple > > >, tbb::flow::interface11::internal::function_input_base< Input, Policy, cache_aligned_allocator< Input >, multifunction_input< Input, internal::wrap_tuple_elements< tbb::flow::tuple_size< tuple< Output > >::value, internal::multifunction_output, tuple< Output > >::type, Policy, cache_aligned_allocator< Input > > >, tbb::flow::interface11::internal::function_input_base< Input, Policy, cache_aligned_allocator< Input >, function_input< Input, Output, Policy, cache_aligned_allocator< Input > > >, tbb::flow::interface11::internal::function_input_base< Input, Policy, cache_aligned_allocator< Input >, multifunction_input< Input, internal::wrap_tuple_elements< tbb::flow::tuple_size< Output >::value, internal::multifunction_output, Output >::type, Policy, cache_aligned_allocator< Input > > >, tbb::flow::interface11::internal::function_input_base< Input, Policy, A, multifunction_input< Input, OutputPortSet, Policy, A > >, tbb::flow::interface11::internal::function_input_base< indexer_node_output_type, queueing, cache_aligned_allocator< indexer_node_output_type >, multifunction_input< indexer_node_output_type, internal::wrap_tuple_elements< tbb::flow::tuple_size< kernel_input_tuple >::value, internal::multifunction_output, kernel_input_tuple >::type, queueing, cache_aligned_allocator< indexer_node_output_type > > >, internal::function_input_base< Input, Policy, A, function_input< Input, Output, Policy, A > >, internal::function_input_base< Input, Policy, A, multifunction_input< Input, OutputPortSet, Policy, A > >, and tbb::flow::interface11::internal::indexer_input_port< T >.
|
inline |
Put an item to the receiver.
Definition at line 377 of file flow_graph.h.
Referenced by tbb::flow::interface11::receiver< DecrementType >::try_put().
|
inlineprotected |
Definition at line 405 of file flow_graph.h.
|
protectedpure virtual |
Implemented in tbb::flow::interface11::receiver< T >, tbb::flow::interface11::receiver< kernel_input_tuple >, tbb::flow::interface11::receiver< TraitsType::T >, tbb::flow::interface11::receiver< continue_msg >, tbb::flow::interface11::receiver< TupleType >, tbb::flow::interface11::receiver< Input >, tbb::flow::interface11::receiver< input_type >, tbb::flow::interface11::receiver< indexer_node_output_type >, and tbb::flow::interface11::receiver< DecrementType >.
|
friend |
Definition at line 361 of file flow_graph.h.
|
friend |
Definition at line 362 of file flow_graph.h.
|
friend |
Definition at line 363 of file flow_graph.h.
|
friend |
Definition at line 366 of file flow_graph.h.
|
friend |
Definition at line 359 of file flow_graph.h.