Home ⌂Doc Index ◂Up ▴
Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
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_iteratoroperator= (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_iteratoroperator++ ()
 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.

◆ 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.

106  :
107  my_graph(other.my_graph), current_node(other.current_node)
108  {}

◆ 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.

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

Here is the caller graph for this function:

◆ operator *()

template<typename C , typename N >
graph_iterator< C, N >::reference tbb::flow::interface11::graph_iterator< C, N >::operator * ( ) const

Dereference.

Definition at line 755 of file flow_graph.h.

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

◆ 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.

131 { return !(operator==(other)); }
bool operator==(const graph_iterator &other) const
Equality.

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

Here is the call graph for this function:

◆ 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.

134  {
136  return *this;
137  }

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.

140  {
141  graph_iterator result = *this;
142  operator++();
143  return result;
144  }
graph_iterator & operator++()
Pre-increment.

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-> ( ) const

Dereference.

Definition at line 761 of file flow_graph.h.

761  {
762  return current_node;
763 }

◆ 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.

111  {
112  if (this != &other) {
113  my_graph = other.my_graph;
114  current_node = other.current_node;
115  }
116  return *this;
117  }

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.

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

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

◆ my_graph

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

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

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.