HPCToolkit
NonUniformDegreeTreeIterator Class Reference

#include <NonUniformDegreeTree.hpp>

Inheritance diagram for NonUniformDegreeTreeIterator:
Collaboration diagram for NonUniformDegreeTreeIterator:

Public Types

enum  TraversalOrder {
  Unordered, PreOrder, PostOrder, ReversePreOrder,
  ReversePostOrder, PreAndPostOrder
}
 

Public Member Functions

 NonUniformDegreeTreeIterator (const NonUniformDegreeTreeNode *root, TraversalOrder torder=PreOrder, NonUniformDegreeTreeEnumType how=NON_UNIFORM_DEGREE_TREE_ENUM_ALL_NODES)
 
 ~NonUniformDegreeTreeIterator ()
 
virtual NonUniformDegreeTreeNodeCurrent () const
 
virtual void DumpAndReset (std::ostream &os=std::cerr)
 
void operator++ (int)
 
void operator++ ()
 
void Reset ()
 
void Reset (TraversalOrder torder, IterStackEnumType enumType=ITER_STACK_ENUM_ALL_NODES)
 
void ReConstruct (TraversalOrder torder, IterStackEnumType enumType=ITER_STACK_ENUM_ALL_NODES)
 
bool IsValid () const
 
virtual TraversalVisitType VisitType () const
 
TraversalOrder GetTraversalOrder () const
 
virtual bool IterationIsForward () const
 
void DumpUpCall ()
 
void Dump ()
 

Protected Member Functions

void Push (StackableIterator *)
 
StackableIteratorTop (void) const
 
StackableIteratorGetIteratorAtPosition (unsigned int depth) const
 
void FreeTop ()
 
int Depth () const
 

Protected Attributes

TraversalOrder clientTraversalOrder
 
IterStackEnumType enumType
 

Private Member Functions

void * CurrentUpCall () const
 
StackableIteratorIteratorToPushIfAny (void *current)
 

Detailed Description

Definition at line 312 of file NonUniformDegreeTree.hpp.

Member Enumeration Documentation

◆ TraversalOrder

Enumerator
Unordered 
PreOrder 
PostOrder 
ReversePreOrder 
ReversePostOrder 
PreAndPostOrder 

Definition at line 96 of file IteratorStack.hpp.

Constructor & Destructor Documentation

◆ NonUniformDegreeTreeIterator()

NonUniformDegreeTreeIterator::NonUniformDegreeTreeIterator ( const NonUniformDegreeTreeNode root,
TraversalOrder  torder = PreOrder,
NonUniformDegreeTreeEnumType  how = NON_UNIFORM_DEGREE_TREE_ENUM_ALL_NODES 
)

Definition at line 234 of file NonUniformDegreeTree.cpp.

Here is the call graph for this function:

◆ ~NonUniformDegreeTreeIterator()

NonUniformDegreeTreeIterator::~NonUniformDegreeTreeIterator ( )
inline

Definition at line 318 of file NonUniformDegreeTree.hpp.

Member Function Documentation

◆ Current()

virtual NonUniformDegreeTreeNode* NonUniformDegreeTreeIterator::Current ( ) const
inlinevirtual

Reimplemented in Prof::Struct::ANodeIterator, and Prof::CCT::ANodeIterator.

Definition at line 324 of file NonUniformDegreeTree.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CurrentUpCall()

void* NonUniformDegreeTreeIterator::CurrentUpCall ( ) const
inlineprivatevirtual

Reimplemented from IteratorStack.

Definition at line 334 of file NonUniformDegreeTree.hpp.

◆ Depth()

int IteratorStack::Depth ( ) const
protectedinherited

Definition at line 250 of file IteratorStack.cpp.

◆ Dump()

void StackableIterator::Dump ( )
inherited

Definition at line 101 of file StackableIterator.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DumpAndReset()

void NonUniformDegreeTreeIterator::DumpAndReset ( std::ostream &  os = std::cerr)
virtual

Definition at line 287 of file NonUniformDegreeTree.cpp.

Here is the call graph for this function:

◆ DumpUpCall()

void IteratorStack::DumpUpCall ( )
virtualinherited

Reimplemented from StackableIterator.

Definition at line 296 of file IteratorStack.cpp.

Here is the call graph for this function:

◆ FreeTop()

void IteratorStack::FreeTop ( )
protectedinherited

Definition at line 256 of file IteratorStack.cpp.

◆ GetIteratorAtPosition()

StackableIterator * IteratorStack::GetIteratorAtPosition ( unsigned int  depth) const
protectedinherited

Definition at line 98 of file IteratorStack.cpp.

◆ GetTraversalOrder()

IteratorStack::TraversalOrder IteratorStack::GetTraversalOrder ( ) const
inherited

Definition at line 228 of file IteratorStack.cpp.

Here is the caller graph for this function:

◆ IsValid()

bool IteratorStack::IsValid ( ) const
virtualinherited

Reimplemented from StackableIterator.

Definition at line 195 of file IteratorStack.cpp.

Here is the call graph for this function:

◆ IterationIsForward()

bool IteratorStack::IterationIsForward ( ) const
virtualinherited

Definition at line 233 of file IteratorStack.cpp.

Here is the caller graph for this function:

◆ IteratorToPushIfAny()

StackableIterator * NonUniformDegreeTreeIterator::IteratorToPushIfAny ( void *  current)
privatevirtual

Implements IteratorStack.

Definition at line 260 of file NonUniformDegreeTree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator++() [1/2]

void IteratorStack::operator++ ( int  )
inherited

Definition at line 125 of file IteratorStack.cpp.

Here is the call graph for this function:

◆ operator++() [2/2]

void IteratorStack::operator++ ( )
virtualinherited

Implements StackableIterator.

Definition at line 119 of file IteratorStack.cpp.

◆ Push()

void IteratorStack::Push ( StackableIterator newtop)
protectedinherited

Definition at line 104 of file IteratorStack.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReConstruct()

void IteratorStack::ReConstruct ( TraversalOrder  torder,
IterStackEnumType  enumType = ITER_STACK_ENUM_ALL_NODES 
)
inherited

Definition at line 162 of file IteratorStack.cpp.

◆ Reset() [1/2]

void IteratorStack::Reset ( void  )
virtualinherited

Implements StackableIterator.

Definition at line 170 of file IteratorStack.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Reset() [2/2]

void IteratorStack::Reset ( TraversalOrder  torder,
IterStackEnumType  enumType = ITER_STACK_ENUM_ALL_NODES 
)
inherited

Definition at line 181 of file IteratorStack.cpp.

◆ Top()

StackableIterator * IteratorStack::Top ( void  ) const
protectedinherited

Definition at line 93 of file IteratorStack.cpp.

Here is the caller graph for this function:

◆ VisitType()

TraversalVisitType IteratorStack::VisitType ( ) const
virtualinherited

Definition at line 201 of file IteratorStack.cpp.

Here is the call graph for this function:

Member Data Documentation

◆ clientTraversalOrder

TraversalOrder IteratorStack::clientTraversalOrder
protectedinherited

Definition at line 129 of file IteratorStack.hpp.

◆ enumType

IterStackEnumType IteratorStack::enumType
protectedinherited

Definition at line 130 of file IteratorStack.hpp.


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