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

#include "llvm/ADT/PostOrderIterator.h"

Inheritance diagram for llvm::po_iterator< GraphT, SetType, ExtStorage, GT >:
Inheritance graph
[legend]
Collaboration diagram for llvm::po_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 po_iterator &x) const
 
bool operator!= (const po_iterator &x) const
 
const NodeRef & operator* () const
 
NodeRef operator-> () const
 
po_iteratoroperator++ ()
 
po_iterator operator++ (int)
 
- Public Member Functions inherited from llvm::po_iterator_storage< SmallPtrSet< typename GraphTraits< GraphT >::NodeRef, 8 >, false >
bool insertEdge (Optional< NodeRef > From, NodeRef To)
 
void finishPostorder (NodeRef BB)
 

Static Public Member Functions

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

Detailed Description

template<class GraphT, class SetType = SmallPtrSet<typename GraphTraits<GraphT>::NodeRef, 8>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
class llvm::po_iterator< GraphT, SetType, ExtStorage, GT >

Definition at line 95 of file PostOrderIterator.h.

Member Typedef Documentation

◆ difference_type

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

Definition at line 99 of file PostOrderIterator.h.

◆ iterator_category

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

Definition at line 97 of file PostOrderIterator.h.

◆ pointer

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

Definition at line 100 of file PostOrderIterator.h.

◆ reference

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

Definition at line 101 of file PostOrderIterator.h.

◆ value_type

template<class GraphT , class SetType = SmallPtrSet<typename GraphTraits<GraphT>::NodeRef, 8>, bool ExtStorage = false, class GT = GraphTraits<GraphT>>
using llvm::po_iterator< GraphT, SetType, ExtStorage, GT >::value_type = typename GT::NodeRef

Definition at line 98 of file PostOrderIterator.h.

Member Function Documentation

◆ begin() [1/2]

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

Definition at line 143 of file PostOrderIterator.h.

Referenced by llvm::po_begin().

◆ begin() [2/2]

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

Definition at line 148 of file PostOrderIterator.h.

◆ end() [1/2]

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

Definition at line 146 of file PostOrderIterator.h.

Referenced by llvm::po_end().

◆ end() [2/2]

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

Definition at line 151 of file PostOrderIterator.h.

◆ operator!=()

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

Definition at line 156 of file PostOrderIterator.h.

◆ operator*()

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

Definition at line 158 of file PostOrderIterator.h.

◆ operator++() [1/2]

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

Definition at line 166 of file PostOrderIterator.h.

◆ operator++() [2/2]

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

Definition at line 174 of file PostOrderIterator.h.

◆ operator->()

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

Definition at line 164 of file PostOrderIterator.h.

◆ operator==()

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

Definition at line 153 of file PostOrderIterator.h.


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