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

The base of all graph nodes. More...

#include <_flow_graph_impl.h>

Inheritance diagram for tbb::flow::interface11::graph_node:
Collaboration diagram for tbb::flow::interface11::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 (const no_copy &)=delete
 
 no_copy ()=default
 

Detailed Description

The base of all graph nodes.

Definition at line 454 of file _flow_graph_impl.h.

Constructor & Destructor Documentation

◆ graph_node()

graph_node::graph_node ( graph g)
inlineexplicit

Definition at line 887 of file flow_graph.h.

887  : my_graph(g) {
888  my_graph.register_node(this);
889 }

References my_graph, and tbb::flow::interface10::graph::register_node().

Here is the call graph for this function:

◆ ~graph_node()

graph_node::~graph_node ( )
inlinevirtual

Definition at line 891 of file flow_graph.h.

891  {
892  my_graph.remove_node(this);
893 }

References my_graph, and tbb::flow::interface10::graph::remove_node().

Here is the call graph for this function:

Member Function Documentation

◆ reset_node()

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

Implemented in tbb::flow::interface11::composite_node< tbb::flow::tuple<>, tbb::flow::tuple< OutputTypes... > >, tbb::flow::interface11::composite_node< tbb::flow::tuple< InputTypes... >, tbb::flow::tuple<> >, tbb::flow::interface11::composite_node< tbb::flow::tuple< InputTypes... >, tbb::flow::tuple< OutputTypes... > >, tbb::flow::interface11::overwrite_node< T >, tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >, tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >, tbb::flow::interface11::queue_node< T, Allocator >, tbb::flow::interface11::queue_node< T, __TBB_DEFAULT_NODE_ALLOCATOR(T) >, tbb::flow::interface11::buffer_node< T, Allocator >, tbb::flow::interface11::buffer_node< T, __TBB_DEFAULT_NODE_ALLOCATOR(T) >, tbb::flow::interface11::broadcast_node< T >, tbb::flow::interface11::continue_node< Output, Policy >, tbb::flow::interface11::split_node< TupleType, Allocator >, tbb::flow::interface11::multifunction_node< Input, Output, Policy, Allocator >, tbb::flow::interface11::multifunction_node< Input, tuple< Output >, queueing_lightweight, __TBB_DEFAULT_NODE_ALLOCATOR(Input) >, tbb::flow::interface11::function_node< Input, Output, Policy, Allocator >, tbb::flow::interface11::source_node< Output >, and tbb::flow::interface11::input_node< Output >.

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 455 of file _flow_graph_impl.h.

◆ graph_iterator

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

Definition at line 457 of file _flow_graph_impl.h.

Member Data Documentation

◆ my_graph

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

Definition at line 464 of file _flow_graph_impl.h.

Referenced by tbb::flow::interface11::broadcast_node< T >::broadcast_node(), tbb::flow::interface11::buffer_node< T, __TBB_DEFAULT_NODE_ALLOCATOR(T) >::buffer_node(), tbb::flow::interface11::continue_node< Output, Policy >::continue_node(), tbb::flow::interface11::input_node< Output >::create_put_task(), tbb::flow::interface11::buffer_node< T, __TBB_DEFAULT_NODE_ALLOCATOR(T) >::forward_task(), tbb::flow::interface11::function_node< Input, Output, Policy, Allocator >::function_node(), graph_node(), tbb::flow::interface11::split_node< TupleType, Allocator >::graph_reference(), tbb::flow::interface11::broadcast_node< T >::graph_reference(), tbb::flow::interface11::buffer_node< T, __TBB_DEFAULT_NODE_ALLOCATOR(T) >::graph_reference(), tbb::flow::interface11::buffer_node< T, __TBB_DEFAULT_NODE_ALLOCATOR(T) >::handle_operations_impl(), tbb::flow::interface11::input_node< Output >::input_node(), tbb::flow::interface11::multifunction_node< Input, tuple< Output >, queueing_lightweight, __TBB_DEFAULT_NODE_ALLOCATOR(Input) >::multifunction_node(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::priority_queue_node(), tbb::flow::interface11::queue_node< T, __TBB_DEFAULT_NODE_ALLOCATOR(T) >::queue_node(), tbb::flow::interface11::sequencer_node< T, Allocator >::sequencer_node(), tbb::flow::interface11::input_node< Output >::spawn_put(), tbb::flow::interface11::split_node< TupleType, Allocator >::split_node(), tbb::flow::interface11::buffer_node< T, __TBB_DEFAULT_NODE_ALLOCATOR(T) >::try_put_and_add_task(), tbb::flow::interface11::split_node< TupleType, Allocator >::try_put_task(), and ~graph_node().

◆ next

graph_node* tbb::flow::interface11::graph_node::next
protected

◆ prev

graph_node * tbb::flow::interface11::graph_node::prev
protected

The documentation for this class was generated from the following files:
tbb::flow::interface10::graph::remove_node
void remove_node(tbb::flow::interface11::graph_node *n)
Definition: flow_graph.h:830
tbb::flow::interface11::graph_node::my_graph
graph & my_graph
Definition: _flow_graph_impl.h:464
tbb::flow::interface10::graph::register_node
void register_node(tbb::flow::interface11::graph_node *n)
Definition: flow_graph.h:819

Copyright © 2005-2020 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.