Otawa  0.10
otawa::graph::PreorderIterator< G > Class Template Reference

An iterator allowing to traverse the graph using preorder, that is, a node is only traversed when its predecessors has been traversed. More...

#include <otawa/graph/PreorderIterator.h>

Inheritance diagram for otawa::graph::PreorderIterator< G >:
elm::PreIterator< PreorderIterator< G >, G::Vertex >

Public Member Functions

 PreorderIterator (const G &graph, typename G::Vertex entry)
 
bool ended (void) const
 
G::Vertex item (void) const
 
void next (void)
 
 operator bool (void) const
 
 operator G::Vertex (void) const
 
PreorderIterator< G > & operator++ (void)
 
PreorderIterator< G > & operator++ (int)
 
G::Vertex operator* (void) const
 
G::Vertex operator-> (void) const
 

Private Attributes

const G & _graph
 
elm::BitVector visited
 
elm::BitVector queued
 
elm::genstruct::VectorQueue
< typename G::Vertex > 
queue
 

Detailed Description

template<class G>
class otawa::graph::PreorderIterator< G >

An iterator allowing to traverse the graph using preorder, that is, a node is only traversed when its predecessors has been traversed.

Parameters
GType of traversed graph.

Constructor & Destructor Documentation

template<class G>
otawa::graph::PreorderIterator< G >::PreorderIterator ( const G &  graph,
typename G::Vertex  entry 
)
inline

Member Function Documentation

template<class G>
bool otawa::graph::PreorderIterator< G >::ended ( void  ) const
inline
template<class G>
G::Vertex otawa::graph::PreorderIterator< G >::item ( void  ) const
inline
template<class G>
void otawa::graph::PreorderIterator< G >::next ( void  )
inline
elm::PreIterator< PreorderIterator< G > , G::Vertex >::operator bool ( void  ) const
inherited
elm::PreIterator< PreorderIterator< G > , G::Vertex >::operator G::Vertex ( void  ) const
inherited
G::Vertex elm::PreIterator< PreorderIterator< G > , G::Vertex >::operator* ( void  ) const
inherited
PreorderIterator< G > & elm::PreIterator< PreorderIterator< G > , G::Vertex >::operator++ ( int  )
inherited
PreorderIterator< G > & elm::PreIterator< PreorderIterator< G > , G::Vertex >::operator++ ( void  )
inherited
G::Vertex elm::PreIterator< PreorderIterator< G > , G::Vertex >::operator-> ( void  ) const
inherited

Member Data Documentation

template<class G>
const G& otawa::graph::PreorderIterator< G >::_graph
private

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