LLVM 20.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]

Public Types

using iterator_category = std::conditional_t< ExtStorage, std::input_iterator_tag, std::forward_iterator_tag >
 
using value_type = typename GT::NodeRef
 
using difference_type = std::ptrdiff_t
 
using pointer = value_type *
 
using reference = const value_type &
 

Public Member Functions

bool operator== (const po_iterator &x) const
 
bool operator!= (const po_iterator &x) const
 
reference operator* () const
 
NodeRef operator-> () const
 
po_iteratoroperator++ ()
 
po_iterator operator++ (int)
 
- Public Member Functions inherited from llvm::po_iterator_storage< SetType, External >
template<typename NodeRef >
bool insertEdge (std::optional< NodeRef > From, NodeRef To)
 
template<typename NodeRef >
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 97 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 104 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::conditional_t<ExtStorage, std::input_iterator_tag, std::forward_iterator_tag>

Definition at line 100 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 105 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 = const value_type &

Definition at line 106 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 103 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 152 of file PostOrderIterator.h.

References G.

Referenced by llvm::ipo_begin(), llvm::ipo_ext_begin(), llvm::po_begin(), and llvm::po_ext_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 157 of file PostOrderIterator.h.

References G.

◆ 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

◆ 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 160 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 165 of file PostOrderIterator.h.

◆ operator*()

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

◆ 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

◆ 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 183 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 173 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 162 of file PostOrderIterator.h.


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