LLVM  15.0.0git
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::df_iterator< GraphT, SetType, ExtStorage, GT > Class Template Reference

#include "llvm/ADT/DepthFirstIterator.h"

Inheritance diagram for llvm::df_iterator< GraphT, SetType, ExtStorage, GT >:
Inheritance graph
[legend]
Collaboration diagram for llvm::df_iterator< GraphT, SetType, ExtStorage, GT >:
Collaboration graph
[legend]

Public Types

using iterator_category = std::forward_iterator_tag
 
using value_type = typename GT::NodeRef
 
using difference_type = std::ptrdiff_t
 
using pointer = value_type *
 
using reference = value_type &
 

Public Member Functions

bool operator== (const df_iterator &x) const
 
bool operator!= (const df_iterator &x) const
 
const NodeRef & operator* () const
 
NodeRef operator-> () const
 
df_iteratoroperator++ ()
 
df_iteratorskipChildren ()
 Skips all children of the current node and traverses to next node. More...
 
df_iterator operator++ (int)
 
bool nodeVisited (NodeRef Node) const
 
unsigned getPathLength () const
 getPathLength - Return the length of the path from the entry node to the current node, counting both nodes. More...
 
NodeRef getPath (unsigned n) const
 getPath - Return the n'th node in the path from the entry node to the current node. More...
 

Static Public Member Functions

static df_iterator begin (const GraphT &G)
 
static df_iterator end (const GraphT &G)
 
static df_iterator begin (const GraphT &G, SetType &S)
 
static df_iterator end (const GraphT &G, SetType &S)
 

Additional Inherited Members

- Public Attributes inherited from llvm::df_iterator_storage< df_iterator_default_set< typename GraphTraits< GraphT >::NodeRef >, false >
df_iterator_default_set< typename GraphTraits< GraphT >::NodeRef > Visited
 

Detailed Description

template<class GraphT, class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
class llvm::df_iterator< GraphT, SetType, ExtStorage, GT >

Definition at line 86 of file DepthFirstIterator.h.

Member Typedef Documentation

◆ difference_type

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
using llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::difference_type = std::ptrdiff_t

Definition at line 90 of file DepthFirstIterator.h.

◆ iterator_category

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
using llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::iterator_category = std::forward_iterator_tag

Definition at line 88 of file DepthFirstIterator.h.

◆ pointer

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
using llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::pointer = value_type *

Definition at line 91 of file DepthFirstIterator.h.

◆ reference

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
using llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::reference = value_type &

Definition at line 92 of file DepthFirstIterator.h.

◆ value_type

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
using llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::value_type = typename GT::NodeRef

Definition at line 89 of file DepthFirstIterator.h.

Member Function Documentation

◆ begin() [1/2]

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
static df_iterator llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::begin ( const GraphT &  G)
inlinestatic

Definition at line 153 of file DepthFirstIterator.h.

Referenced by llvm::df_begin().

◆ begin() [2/2]

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
static df_iterator llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::begin ( const GraphT &  G,
SetType &  S 
)
inlinestatic

Definition at line 159 of file DepthFirstIterator.h.

◆ end() [1/2]

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
static df_iterator llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::end ( const GraphT &  G)
inlinestatic

Definition at line 156 of file DepthFirstIterator.h.

Referenced by llvm::df_end().

◆ end() [2/2]

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
static df_iterator llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::end ( const GraphT &  G,
SetType &  S 
)
inlinestatic

Definition at line 162 of file DepthFirstIterator.h.

◆ getPath()

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
NodeRef llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::getPath ( unsigned  n) const
inline

getPath - Return the n'th node in the path from the entry node to the current node.

Definition at line 213 of file DepthFirstIterator.h.

◆ getPathLength()

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
unsigned llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::getPathLength ( ) const
inline

getPathLength - Return the length of the path from the entry node to the current node, counting both nodes.

Definition at line 209 of file DepthFirstIterator.h.

◆ nodeVisited()

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
bool llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::nodeVisited ( NodeRef  Node) const
inline

Definition at line 203 of file DepthFirstIterator.h.

◆ operator!=()

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
bool llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::operator!= ( const df_iterator< GraphT, SetType, ExtStorage, GT > &  x) const
inline

Definition at line 167 of file DepthFirstIterator.h.

◆ operator*()

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
const NodeRef& llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::operator* ( ) const
inline

Definition at line 169 of file DepthFirstIterator.h.

◆ operator++() [1/2]

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
df_iterator& llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::operator++ ( )
inline

Definition at line 177 of file DepthFirstIterator.h.

◆ operator++() [2/2]

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
df_iterator llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::operator++ ( int  )
inline

Definition at line 193 of file DepthFirstIterator.h.

◆ operator->()

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
NodeRef llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::operator-> ( ) const
inline

Definition at line 175 of file DepthFirstIterator.h.

◆ operator==()

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
bool llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::operator== ( const df_iterator< GraphT, SetType, ExtStorage, GT > &  x) const
inline

Definition at line 164 of file DepthFirstIterator.h.

◆ skipChildren()

template<class GraphT , class SetType = df_iterator_default_set<typename GraphTraits<GraphT>::NodeRef>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
df_iterator& llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::skipChildren ( )
inline

Skips all children of the current node and traverses to next node.

Note: This function takes care of incrementing the iterator. If you always increment and call this function, you risk walking off the end.

Definition at line 186 of file DepthFirstIterator.h.


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