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

graph & | my_graph
graph_node * | next
graph_node * | prev

## 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 | ) |

inline explicit

Definition at line 888 of file flow_graph.h.

: my_graph(g) {
my_graph.register_node(this);
}
tbb::flow::interface10::graph::register_node
void register_node(tbb::flow::interface11::graph_node *n)
Definition: flow_graph.h:820
tbb::flow::interface11::graph_node::my_graph
graph & my_graph
Definition: _flow_graph_impl.h:464

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

Here is the call graph for this function:

## ~graph_node()

graph_node::~graph_node | ( |  | ) |

inline virtual

Definition at line 892 of file flow_graph.h.

{
my_graph.remove_node(this);
}
tbb::flow::interface10::graph::remove_node
void remove_node(tbb::flow::interface11::graph_node *n)
Definition: flow_graph.h:831

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` | ) |

protected pure 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::limiter_node< T, DecrementType >, 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, Allocator >::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, Allocator >::forward_task(), tbb::flow::interface11::limiter_node< T, DecrementType >::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, Allocator >::graph_reference(), tbb::flow::interface11::limiter_node< T, DecrementType >::graph_reference(), tbb::flow::interface11::buffer_node< T, Allocator >::handle_operations_impl(), tbb::flow::interface11::limiter_node< T, DecrementType >::initialize(), tbb::flow::interface11::input_node< Output >::input_node(), tbb::flow::interface11::multifunction_node< Input, Output, Policy, Allocator >::multifunction_node(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::priority_queue_node(), tbb::flow::interface11::queue_node< T, Allocator >::queue_node(), tbb::flow::interface11::limiter_node< T, DecrementType >::register_predecessor(), tbb::flow::interface11::limiter_node< T, DecrementType >::register_successor(), tbb::flow::interface11::sequencer_node< T, Allocator >::sequencer_node(), tbb::flow::interface11::split_node< TupleType, Allocator >::split_node(), tbb::flow::interface11::buffer_node< T, Allocator >::try_put_and_add_task(), tbb::flow::interface11::limiter_node< T, DecrementType >::try_put_task(), tbb::flow::interface11::split_node< TupleType, Allocator >::try_put_task(), and ~graph_node().

## next

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

protected

Definition at line 465 of file _flow_graph_impl.h.

Referenced by tbb::flow::interface10::graph::register_node(), and tbb::flow::interface10::graph::remove_node().

## prev

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

protected

Definition at line 465 of file _flow_graph_impl.h.

Referenced by tbb::flow::interface10::graph::register_node(), and tbb::flow::interface10::graph::remove_node().

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

- _flow_graph_impl.h
- flow_graph.h

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.