tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType > Class Template Reference

`#include <_flow_graph_impl.h>`

Collaboration diagram for tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >:

## Public Types

typedef size_t | size_type
typedef GraphNodeType | value_type
typedef GraphNodeType * | pointer
typedef GraphNodeType & | reference
typedef const GraphNodeType & | const_reference
typedef std::forward_iterator_tag | iterator_category

## Public Member Functions

| graph_iterator ()
| Default constructor. More...
| graph_iterator (const graph_iterator &other)
| Copy constructor. More...
graph_iterator & | operator= (const graph_iterator &other)
| Assignment. More...
reference | operator* () const
| Dereference. More...
pointer | operator-> () const
| Dereference. More...
bool | operator== (const graph_iterator &other) const
| Equality. More...
bool | operator!= (const graph_iterator &other) const
| Inequality. More...
graph_iterator & | operator++ ()
| Pre-increment. More...
graph_iterator | operator++ (int)
| Post-increment. More...

## Private Member Functions

| graph_iterator (GraphContainerType *g, bool begin)
| Private initializing constructor for begin() and end() iterators. More...
void | internal_forward ()

## Private Attributes

GraphContainerType * | my_graph
pointer | current_node

## Friends

class | tbb::flow::interface10::graph
class | graph_node

## Detailed Description

### template<typename GraphContainerType, typename GraphNodeType>
class tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >

Definition at line 91 of file _flow_graph_impl.h.

## Member Typedef Documentation

## const_reference

template<typename GraphContainerType , typename GraphNodeType >

typedef const GraphNodeType& tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::const_reference

Definition at line 99 of file _flow_graph_impl.h.

## iterator_category

template<typename GraphContainerType , typename GraphNodeType >

typedef std::forward_iterator_tag tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::iterator_category

Definition at line 100 of file _flow_graph_impl.h.

## pointer

template<typename GraphContainerType , typename GraphNodeType >

typedef GraphNodeType* tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::pointer

Definition at line 97 of file _flow_graph_impl.h.

## reference

template<typename GraphContainerType , typename GraphNodeType >

typedef GraphNodeType& tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::reference

Definition at line 98 of file _flow_graph_impl.h.

## size_type

template<typename GraphContainerType , typename GraphNodeType >

typedef size_t tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::size_type

Definition at line 95 of file _flow_graph_impl.h.

## value_type

template<typename GraphContainerType , typename GraphNodeType >

typedef GraphNodeType tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::value_type

Definition at line 96 of file _flow_graph_impl.h.

## Constructor & Destructor Documentation

## graph_iterator() [1/3]

template<typename GraphContainerType , typename GraphNodeType >

tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::graph_iterator | ( |  | ) |

inline

Default constructor.

Definition at line 103 of file _flow_graph_impl.h.

: my_graph(NULL), current_node(NULL) {}
tbb::flow::interface11::graph_iterator::current_node
pointer current_node
Definition: _flow_graph_impl.h:150
tbb::flow::interface11::graph_iterator::my_graph
GraphContainerType * my_graph
Definition: _flow_graph_impl.h:148

## graph_iterator() [2/3]

template<typename GraphContainerType , typename GraphNodeType >

tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::graph_iterator | ( | const graph_iterator< GraphContainerType, GraphNodeType > & | other | ) |

inline

Copy constructor.

Definition at line 106 of file _flow_graph_impl.h.

:
my_graph(other.my_graph), current_node(other.current_node)
{}

## graph_iterator() [3/3]

template<typename GraphContainerType , typename GraphNodeType >

tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::graph_iterator | ( | GraphContainerType * | g,
|  | bool | begin
| ) |  |

private

Private initializing constructor for begin() and end() iterators.

## Member Function Documentation

## internal_forward()

template<typename C , typename N >

void tbb::flow::interface11::graph_iterator< C, N >::internal_forward

private

Definition at line 766 of file flow_graph.h.

{
if (current_node) current_node = current_node->next;
}

Referenced by tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::operator++().

Here is the caller graph for this function:

## operator!=()

template<typename GraphContainerType , typename GraphNodeType >

bool tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::operator!= | ( | const graph_iterator< GraphContainerType, GraphNodeType > & | other | ) | const

inline

Inequality.

Definition at line 131 of file _flow_graph_impl.h.

{ return !(operator==(other)); }
tbb::flow::interface11::graph_iterator::operator==
bool operator==(const graph_iterator &other) const
Equality.
Definition: _flow_graph_impl.h:126

References tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::operator==().

Here is the call graph for this function:

## operator*()

template<typename C , typename N >

graph_iterator< C, N >::reference tbb::flow::interface11::graph_iterator< C, N >::operator*

Dereference.

Definition at line 755 of file flow_graph.h.

{
__TBB_ASSERT(current_node, "graph_iterator at end");
return *operator->();
}
__TBB_ASSERT
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
Definition: tbb_stddef.h:165
tbb::flow::interface11::graph_iterator::operator->
pointer operator->() const
Dereference.
Definition: flow_graph.h:761

References __TBB_ASSERT.

## operator++() [1/2]

template<typename GraphContainerType , typename GraphNodeType >

graph_iterator& tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::operator++ | ( |  | ) |

inline

Pre-increment.

Definition at line 134 of file _flow_graph_impl.h.

{
internal_forward();
return *this;
}
tbb::flow::interface11::graph_iterator::internal_forward
void internal_forward()
Definition: flow_graph.h:766

References tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::internal_forward().

Referenced by tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::operator++().

Here is the call graph for this function:
Here is the caller graph for this function:

## operator++() [2/2]

template<typename GraphContainerType , typename GraphNodeType >

graph_iterator tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::operator++ | ( | int |  | ) |

inline

Post-increment.

Definition at line 140 of file _flow_graph_impl.h.

{
graph_iterator result = *this;
operator++();
return result;
}
tbb::flow::interface11::graph_iterator::graph_iterator
graph_iterator()
Default constructor.
Definition: _flow_graph_impl.h:103
tbb::flow::interface11::graph_iterator::operator++
graph_iterator & operator++()
Pre-increment.
Definition: _flow_graph_impl.h:134

References tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::operator++().

Here is the call graph for this function:

## operator->()

template<typename C , typename N >

graph_iterator< C, N >::pointer tbb::flow::interface11::graph_iterator< C, N >::operator->

Dereference.

Definition at line 761 of file flow_graph.h.

{
return current_node;
}

## operator=()

template<typename GraphContainerType , typename GraphNodeType >

graph_iterator& tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::operator= | ( | const graph_iterator< GraphContainerType, GraphNodeType > & | other | ) |

inline

Assignment.

Definition at line 111 of file _flow_graph_impl.h.

{
if (this != &other) {
my_graph = other.my_graph;
current_node = other.current_node;
}
return *this;
}

References tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::current_node, and tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::my_graph.

## operator==()

template<typename GraphContainerType , typename GraphNodeType >

bool tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::operator== | ( | const graph_iterator< GraphContainerType, GraphNodeType > & | other | ) | const

inline

Equality.

Definition at line 126 of file _flow_graph_impl.h.

{
return ((my_graph == other.my_graph) && (current_node == other.current_node));
}

References tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::current_node, and tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::my_graph.

Referenced by tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::operator!=().

Here is the caller graph for this function:

## Friends And Related Function Documentation

## graph_node

template<typename GraphContainerType , typename GraphNodeType >

friend class graph_node

friend

Definition at line 93 of file _flow_graph_impl.h.

## tbb::flow::interface10::graph

template<typename GraphContainerType , typename GraphNodeType >

friend class tbb::flow::interface10::graph

friend

Definition at line 92 of file _flow_graph_impl.h.

## Member Data Documentation

## current_node

template<typename GraphContainerType , typename GraphNodeType >

pointer tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::current_node

private

Definition at line 150 of file _flow_graph_impl.h.

Referenced by tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::operator=(), and tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::operator==().

## my_graph

template<typename GraphContainerType , typename GraphNodeType >

GraphContainerType* tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::my_graph

private

Definition at line 148 of file _flow_graph_impl.h.

Referenced by tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::operator=(), and tbb::flow::interface11::graph_iterator< GraphContainerType, GraphNodeType >::operator==().

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.