Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::flow::interface10::graph_node Class Referenceabstract

The base of all graph nodes. More...

#include <_flow_graph_impl.h>

Inheritance diagram for tbb::flow::interface10::graph_node:
Collaboration diagram for tbb::flow::interface10::graph_node:

Public Member Functions

 graph_node (graph &g)
 
virtual ~graph_node ()
 

Protected Member Functions

virtual void reset_node (reset_flags f=rf_reset_protocol)=0
 

Protected Attributes

graphmy_graph
 
graph_nodenext
 
graph_nodeprev
 

Friends

class graph
 
template<typename C , typename N >
class graph_iterator
 

Additional Inherited Members

- Private Member Functions inherited from tbb::internal::no_copy
 no_copy ()
 Allow default construction. More...
 

Detailed Description

The base of all graph nodes.

Definition at line 427 of file _flow_graph_impl.h.

Constructor & Destructor Documentation

◆ graph_node()

graph_node::graph_node ( graph g)
inlineexplicit

Definition at line 853 of file flow_graph.h.

853  : my_graph(g) {
854  my_graph.register_node(this);
855 }
void register_node(graph_node *n)
Definition: flow_graph.h:789

◆ ~graph_node()

graph_node::~graph_node ( )
inlinevirtual

Definition at line 857 of file flow_graph.h.

857  {
858  my_graph.remove_node(this);
859 }
void remove_node(graph_node *n)
Definition: flow_graph.h:800

Member Function Documentation

◆ reset_node()

virtual void tbb::flow::interface10::graph_node::reset_node ( reset_flags  f = rf_reset_protocol)
protectedpure virtual

Implemented in tbb::flow::interface10a::overwrite_node< T >, tbb::flow::interface10::async_node< Input, Output, Policy, Allocator >, tbb::flow::interface10::composite_node< tbb::flow::tuple<>, tbb::flow::tuple< OutputTypes... > >, tbb::flow::interface10::composite_node< tbb::flow::tuple< InputTypes... >, tbb::flow::tuple<> >, tbb::flow::interface10::composite_node< tbb::flow::tuple< InputTypes... >, tbb::flow::tuple< OutputTypes... > >, tbb::flow::interface10::limiter_node< T >, tbb::flow::interface10::priority_queue_node< T, Compare, A >, tbb::flow::interface10::queue_node< T, A >, tbb::flow::interface10::buffer_node< T, A >, tbb::flow::interface10::broadcast_node< T >, tbb::flow::interface10::internal::join_node_base< JP, InputTuple, OutputTuple >, tbb::flow::interface10::continue_node< Output, Policy >, tbb::flow::interface10::split_node< TupleType, Allocator >, tbb::flow::interface10::multifunction_node< Input, Output, Policy, Allocator >, tbb::flow::interface10::multifunction_node< Input, tuple< Output >, Policy, Allocator >, tbb::flow::interface10::multifunction_node< kernel_input_tuple, output_tuple >, tbb::flow::interface10::multifunction_node< indexer_node_output_type, kernel_input_tuple >, tbb::flow::interface10::function_node< Input, Output, Policy, Allocator >, tbb::flow::interface10::source_node< Output >, and tbb::flow::interface10::internal::indexer_node_base< InputTuple, OutputType, StructTypes >.

Referenced by tbb::flow::interface10::graph::reset().

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ graph

friend class graph
friend

Definition at line 428 of file _flow_graph_impl.h.

◆ graph_iterator

template<typename C , typename N >
friend class graph_iterator
friend

Definition at line 430 of file _flow_graph_impl.h.

Member Data Documentation

◆ my_graph

graph& tbb::flow::interface10::graph_node::my_graph
protected

Definition at line 432 of file _flow_graph_impl.h.

Referenced by tbb::flow::interface10::internal::add_nodes_impl(), tbb::flow::interface10::async_node< Input, Output, Policy, Allocator >::async_node(), tbb::flow::interface10::broadcast_node< T >::broadcast_node(), tbb::flow::interface10::buffer_node< T, A >::buffer_node(), tbb::flow::interface10::continue_node< Output, Policy >::continue_node(), tbb::flow::interface10::source_node< Output >::create_put_task(), tbb::flow::interface10::internal::join_node_FE< reserving, InputTuple, OutputTuple >::decrement_port_count(), tbb::flow::interface10::limiter_node< T >::forward_task(), tbb::flow::interface10::function_node< Input, Output, Policy, Allocator >::function_node(), tbb::flow::interface10::broadcast_node< T >::graph_reference(), tbb::flow::interface10::buffer_node< T, A >::graph_reference(), tbb::flow::interface10::limiter_node< T >::graph_reference(), tbb::flow::interface10::indexer_node< T0 >::indexer_node(), tbb::flow::interface10::indexer_node< T0, T1 >::indexer_node(), tbb::flow::interface10::indexer_node< T0, T1, T2 >::indexer_node(), tbb::flow::interface10::indexer_node< T0, T1, T2, T3 >::indexer_node(), tbb::flow::interface10::indexer_node< T0, T1, T2, T3, T4 >::indexer_node(), tbb::flow::interface10::indexer_node< T0, T1, T2, T3, T4, T5 >::indexer_node(), tbb::flow::interface10::indexer_node< T0, T1, T2, T3, T4, T5, T6 >::indexer_node(), tbb::flow::interface10::indexer_node< T0, T1, T2, T3, T4, T5, T6, T7 >::indexer_node(), tbb::flow::interface10::indexer_node< T0, T1, T2, T3, T4, T5, T6, T7, T8 >::indexer_node(), tbb::flow::interface10::indexer_node< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::indexer_node(), tbb::flow::interface10::limiter_node< T >::limiter_node(), tbb::flow::interface10::multifunction_node< indexer_node_output_type, kernel_input_tuple >::multifunction_node(), tbb::flow::interface10::priority_queue_node< T, Compare, A >::priority_queue_node(), tbb::flow::interface10::queue_node< T, A >::queue_node(), tbb::flow::interface10::limiter_node< T >::register_predecessor(), tbb::flow::interface10::limiter_node< T >::register_successor(), tbb::flow::interface10::async_node< Input, Output, Policy, Allocator >::receiver_gateway_impl::release_wait(), tbb::flow::interface10::async_node< Input, Output, Policy, Allocator >::receiver_gateway_impl::reserve_wait(), tbb::flow::interface10::sequencer_node< T, A >::sequencer_node(), tbb::flow::interface10::source_node< Output >::spawn_put(), tbb::flow::interface10::split_node< TupleType, Allocator >::split_node(), tbb::flow::interface10::internal::join_node_base< JP, InputTuple, OutputTuple >::try_get(), tbb::flow::interface10::async_node< Input, Output, Policy, Allocator >::try_put_impl(), tbb::flow::interface10::split_node< TupleType, Allocator >::try_put_task(), and tbb::flow::interface10::limiter_node< T >::try_put_task().

◆ next

◆ prev

graph_node * tbb::flow::interface10::graph_node::prev
protected

The documentation for this class was generated from the following files:

Copyright © 2005-2019 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.