Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::LevelOrderTreeIterator< TTreeType > Class Template Reference

#include <itkLevelOrderTreeIterator.h>

Inheritance diagram for itk::LevelOrderTreeIterator< TTreeType >:

Inheritance graph
[legend]
Collaboration diagram for itk::LevelOrderTreeIterator< TTreeType >:

Collaboration graph
[legend]
List of all members.

template<class TTreeType>
class itk::LevelOrderTreeIterator< TTreeType >


Public Types

enum  {
  UNDEFIND = 0,
  PREORDER = 1,
  INORDER = 2,
  POSTORDER = 3,
  LEVELORDER = 4,
  CHILD = 5,
  ROOT = 6,
  LEAF = 7
}
typedef Superclass::Self Self
typedef TreeIteratorBase<
TTreeType > 
Superclass
typedef Superclass::TreeNodeType TreeNodeType
typedef TTreeType TreeType
typedef TTreeType::ValueType ValueType

Public Member Functions

virtual bool Add (TTreeType &subTree)
virtual bool Add (int position, ValueType element)
virtual bool Add (ValueType element)
virtual int ChildPosition (ValueType element) const
virtual TreeIteratorBase<
TTreeType > * 
Children ()
TreeIteratorBase< TTreeType > * Clone ()
virtual int Count ()
virtual int CountChildren () const
virtual bool Disconnect ()
virtual const ValueTypeGet () const
virtual TreeIteratorBase<
TTreeType > * 
GetChild (int number) const
int GetEndLevel () const
int GetLevel () const
virtual const TreeNodeTypeGetNode () const
Get the current node *virtual
TreeNodeType
GetNode ()
const TreeNodeTypeGetParent () const
const TreeNodeType *& GetRoot () const
Get the root *TreeNodeType *& GetRoot ()
int GetStartLevel () const
virtual TTreeType * GetSubTree () const
TTreeType * GetTree () const
int GetType () const
void GoToBegin ()
virtual bool GoToChild (int number=0)
void GoToEnd ()
virtual bool GoToParent ()
virtual bool HasChild (int number=0) const
virtual bool HasParent () const
bool IsAtBegin (void) const
bool IsAtEnd (void) const
virtual bool IsLeaf () const
virtual bool IsRoot () const
 LevelOrderTreeIterator (TreeType *tree, int startLevel, int endLevel, const TreeNodeType *start=NULL)
Constructors * LevelOrderTreeIterator (TreeType *tree, int endLevel=INT_MAX, const TreeNodeType *start=NULL)
 operator++*/Self &operator++ ()
 operator=*/Self &operator= (Superclass &iterator)
virtual TreeIteratorBase<
TTreeType > * 
Parents ()
bool Remove ()
virtual bool RemoveChild (int number)
ValueTypeSet (ValueType element)
virtual ~LevelOrderTreeIterator ()

Protected Member Functions

int Count (TreeNodeType *node)
bool HasNext () const
const ValueTypeNext ()

Protected Attributes

TreeNodeTypem_Begin
TreeNodeTypem_End
TreeNodeTypem_Position
const TreeNodeTypem_Root
TTreeType * m_Tree

Member Typedef Documentation

template<class TTreeType>
typedef Superclass::Self itk::LevelOrderTreeIterator< TTreeType >::Self
 

Typedefs

Reimplemented from itk::TreeIteratorBase< TTreeType >.

Definition at line 32 of file itkLevelOrderTreeIterator.h.

template<class TTreeType>
typedef TreeIteratorBase<TTreeType> itk::LevelOrderTreeIterator< TTreeType >::Superclass
 

Typedefs

Definition at line 31 of file itkLevelOrderTreeIterator.h.

template<class TTreeType>
typedef Superclass::TreeNodeType itk::LevelOrderTreeIterator< TTreeType >::TreeNodeType
 

Reimplemented from itk::TreeIteratorBase< TTreeType >.

Definition at line 35 of file itkLevelOrderTreeIterator.h.

template<class TTreeType>
typedef TTreeType itk::LevelOrderTreeIterator< TTreeType >::TreeType
 

Definition at line 33 of file itkLevelOrderTreeIterator.h.

template<class TTreeType>
typedef TTreeType::ValueType itk::LevelOrderTreeIterator< TTreeType >::ValueType
 

Reimplemented from itk::TreeIteratorBase< TTreeType >.

Definition at line 34 of file itkLevelOrderTreeIterator.h.


Member Enumeration Documentation

template<class TTreeType>
anonymous enum [inherited]
 

Enumerations

Enumeration values:
UNDEFIND 
PREORDER 
INORDER 
POSTORDER 
LEVELORDER 
CHILD 
ROOT 
LEAF 

Definition at line 149 of file itkTreeIteratorBase.h.


Constructor & Destructor Documentation

template<class TTreeType>
Constructors* itk::LevelOrderTreeIterator< TTreeType >::LevelOrderTreeIterator TreeType tree,
int  endLevel = INT_MAX,
const TreeNodeType start = NULL
 

template<class TTreeType>
itk::LevelOrderTreeIterator< TTreeType >::LevelOrderTreeIterator TreeType tree,
int  startLevel,
int  endLevel,
const TreeNodeType start = NULL
 

template<class TTreeType>
virtual itk::LevelOrderTreeIterator< TTreeType >::~LevelOrderTreeIterator  )  [inline, virtual]
 

Definition at line 42 of file itkLevelOrderTreeIterator.h.


Member Function Documentation

template<class TTreeType>
virtual bool itk::TreeIteratorBase< TTreeType >::Add TTreeType &  subTree  )  [virtual, inherited]
 

Add a subtree

template<class TTreeType>
virtual bool itk::TreeIteratorBase< TTreeType >::Add int  position,
ValueType  element
[virtual, inherited]
 

Add an element at a given position

template<class TTreeType>
virtual bool itk::TreeIteratorBase< TTreeType >::Add ValueType  element  )  [virtual, inherited]
 

Add an element to the tree

template<class TTreeType>
virtual int itk::TreeIteratorBase< TTreeType >::ChildPosition ValueType  element  )  const [virtual, inherited]
 

Return the current ChildPosition of an element

template<class TTreeType>
virtual TreeIteratorBase<TTreeType>* itk::TreeIteratorBase< TTreeType >::Children  )  [virtual, inherited]
 

Return a list of children

template<class TTreeType>
Clone function *TreeIteratorBase< TTreeType > * itk::LevelOrderTreeIterator< TTreeType >::Clone  )  [virtual]
 

Clone function

Implements itk::TreeIteratorBase< TTreeType >.

Definition at line 291 of file itkLevelOrderTreeIterator.h.

References itk::TreeIteratorBase< TTreeType >::m_Tree.

template<class TTreeType>
int itk::TreeIteratorBase< TTreeType >::Count TreeNodeType node  )  [protected, inherited]
 

template<class TTreeType>
virtual int itk::TreeIteratorBase< TTreeType >::Count  )  [virtual, inherited]
 

Count the number of nodes

template<class TTreeType>
virtual int itk::TreeIteratorBase< TTreeType >::CountChildren  )  const [virtual, inherited]
 

Count the number of children

template<class TTreeType>
virtual bool itk::TreeIteratorBase< TTreeType >::Disconnect  )  [virtual, inherited]
 

Disconnect the tree

template<class TTreeType>
virtual const ValueType& itk::TreeIteratorBase< TTreeType >::Get  )  const [virtual, inherited]
 

Get a value

template<class TTreeType>
virtual TreeIteratorBase<TTreeType>* itk::TreeIteratorBase< TTreeType >::GetChild int  number  )  const [virtual, inherited]
 

Return a list of child

template<class TTreeType>
int itk::LevelOrderTreeIterator< TTreeType >::GetEndLevel  )  const
 

Get the end level

Definition at line 183 of file itkLevelOrderTreeIterator.h.

template<class TTreeType>
int itk::LevelOrderTreeIterator< TTreeType >::GetLevel  )  const
 

Get the current level

Definition at line 215 of file itkLevelOrderTreeIterator.h.

References itk::TreeIteratorBase< TTreeType >::m_Position, itk::TreeIteratorBase< TTreeType >::m_Root, and NULL.

template<class TTreeType>
virtual const TreeNodeType* itk::TreeIteratorBase< TTreeType >::GetNode  )  const [virtual, inherited]
 

template<class TTreeType>
Get the current node* virtual TreeNodeType* itk::TreeIteratorBase< TTreeType >::GetNode  )  [virtual, inherited]
 

template<class TTreeType>
const TreeNodeType* itk::TreeIteratorBase< TTreeType >::GetParent  )  const [inherited]
 

Return the first parent found

template<class TTreeType>
const TreeNodeType* & itk::TreeIteratorBase< TTreeType >::GetRoot  )  const [inherited]
 

template<class TTreeType>
Get the root* TreeNodeType* & itk::TreeIteratorBase< TTreeType >::GetRoot  )  [inherited]
 

template<class TTreeType>
int itk::LevelOrderTreeIterator< TTreeType >::GetStartLevel  )  const
 

Get the start level

Definition at line 175 of file itkLevelOrderTreeIterator.h.

template<class TTreeType>
virtual TTreeType* itk::TreeIteratorBase< TTreeType >::GetSubTree  )  const [virtual, inherited]
 

Get the subtree

template<class TTreeType>
TTreeType* itk::TreeIteratorBase< TTreeType >::GetTree  )  const [inherited]
 

Get the tree

template<class TTreeType>
int itk::LevelOrderTreeIterator< TTreeType >::GetType  )  const [virtual]
 

Get the type of the iterator

Implements itk::TreeIteratorBase< TTreeType >.

Definition at line 145 of file itkLevelOrderTreeIterator.h.

References itk::TreeIteratorBase< TTreeType >::LEVELORDER.

template<class TTreeType>
void itk::TreeIteratorBase< TTreeType >::GoToBegin void   )  [inline, inherited]
 

Move an iterator to the beginning of the tree

Definition at line 122 of file itkTreeIteratorBase.h.

References itk::TreeIteratorBase< TTreeType >::m_Begin, and itk::TreeIteratorBase< TTreeType >::m_Position.

template<class TTreeType>
virtual bool itk::TreeIteratorBase< TTreeType >::GoToChild int  number = 0  )  [virtual, inherited]
 

Go to the specified child

Reimplemented in itk::ChildTreeIterator< TTreeType >.

template<class TTreeType>
void itk::TreeIteratorBase< TTreeType >::GoToEnd void   )  [inline, inherited]
 

Move an iterator to the end of the tree.

Definition at line 128 of file itkTreeIteratorBase.h.

References itk::TreeIteratorBase< TTreeType >::m_End, and itk::TreeIteratorBase< TTreeType >::m_Position.

template<class TTreeType>
virtual bool itk::TreeIteratorBase< TTreeType >::GoToParent  )  [virtual, inherited]
 

Go to the parent

Reimplemented in itk::ChildTreeIterator< TTreeType >.

template<class TTreeType>
virtual bool itk::TreeIteratorBase< TTreeType >::HasChild int  number = 0  )  const [virtual, inherited]
 

Return true if the current node has a child

template<class TTreeType>
Return true if the next value exists *bool itk::LevelOrderTreeIterator< TTreeType >::HasNext  )  const [protected, virtual]
 

Return true if the next node exists

Implements itk::TreeIteratorBase< TTreeType >.

Definition at line 153 of file itkLevelOrderTreeIterator.h.

template<class TTreeType>
virtual bool itk::TreeIteratorBase< TTreeType >::HasParent  )  const [virtual, inherited]
 

Return true if the current node has a parent

template<class TTreeType>
bool itk::TreeIteratorBase< TTreeType >::IsAtBegin void   )  const [inline, inherited]
 

Is the iterator at the beginning of the tree?

Definition at line 134 of file itkTreeIteratorBase.h.

References itk::TreeIteratorBase< TTreeType >::m_Begin, and itk::TreeIteratorBase< TTreeType >::m_Position.

template<class TTreeType>
bool itk::TreeIteratorBase< TTreeType >::IsAtEnd void   )  const [inline, inherited]
 

Is the iterator at the end of the tree?. The iterator is at the end if it points to NULL

Definition at line 140 of file itkTreeIteratorBase.h.

References itk::TreeIteratorBase< TTreeType >::m_End, and itk::TreeIteratorBase< TTreeType >::m_Position.

template<class TTreeType>
virtual bool itk::TreeIteratorBase< TTreeType >::IsLeaf  )  const [virtual, inherited]
 

Return true if the current node is a leaf

template<class TTreeType>
virtual bool itk::TreeIteratorBase< TTreeType >::IsRoot  )  const [virtual, inherited]
 

Return true if the current node is a root

template<class TTreeType>
Return the next node *const LevelOrderTreeIterator< TTreeType >::ValueType & itk::LevelOrderTreeIterator< TTreeType >::Next  )  [protected, virtual]
 

Return the next node

Implements itk::TreeIteratorBase< TTreeType >.

Definition at line 166 of file itkLevelOrderTreeIterator.h.

References itk::TreeIteratorBase< TTreeType >::m_Position.

template<class TTreeType>
itk::TreeIteratorBase< TTreeType >::operator++*/Self &operator++  )  [inline, inherited]
 

Definition at line 162 of file itkTreeIteratorBase.h.

References itk::TreeIteratorBase< TTreeType >::Next().

template<class TTreeType>
itk::LevelOrderTreeIterator< TTreeType >::operator=*/Self &operator= Superclass iterator  )  [inline]
 

Definition at line 60 of file itkLevelOrderTreeIterator.h.

References itk::LevelOrderTreeIterator< TTreeType >::m_EndLevel, itk::LevelOrderTreeIterator< TTreeType >::m_Queue, itk::LevelOrderTreeIterator< TTreeType >::m_StartLevel, and itk::TreeIteratorBase< TTreeType >::operator=().

template<class TTreeType>
virtual TreeIteratorBase<TTreeType>* itk::TreeIteratorBase< TTreeType >::Parents  )  [virtual, inherited]
 

Return a list of parents

template<class TTreeType>
bool itk::TreeIteratorBase< TTreeType >::Remove  )  [inherited]
 

Remove the current node from the tree

template<class TTreeType>
virtual bool itk::TreeIteratorBase< TTreeType >::RemoveChild int  number  )  [virtual, inherited]
 

Remove a child

template<class TTreeType>
ValueType& itk::TreeIteratorBase< TTreeType >::Set ValueType  element  )  [inherited]
 

Set the current value of the node


Member Data Documentation

template<class TTreeType>
TreeNodeType* itk::TreeIteratorBase< TTreeType >::m_Begin [mutable, protected, inherited]
 

Definition at line 188 of file itkTreeIteratorBase.h.

Referenced by itk::TreeIteratorBase< TTreeType >::GoToBegin(), itk::ChildTreeIterator< TTreeType >::GoToChild(), itk::ChildTreeIterator< TTreeType >::GoToParent(), itk::TreeIteratorBase< TTreeType >::IsAtBegin(), and itk::TreeIteratorBase< TTreeType >::operator=().

template<class TTreeType>
TreeNodeType* itk::TreeIteratorBase< TTreeType >::m_End [mutable, protected, inherited]
 

Definition at line 189 of file itkTreeIteratorBase.h.

Referenced by itk::TreeIteratorBase< TTreeType >::GoToEnd(), itk::TreeIteratorBase< TTreeType >::IsAtEnd(), and itk::TreeIteratorBase< TTreeType >::operator=().

template<class TTreeType>
TreeNodeType* itk::TreeIteratorBase< TTreeType >::m_Position [mutable, protected, inherited]
 

Definition at line 187 of file itkTreeIteratorBase.h.

Referenced by itk::ChildTreeIterator< TTreeType >::ChildTreeIterator(), itk::RootTreeIterator< TTreeType >::Clone(), itk::PreOrderTreeIterator< TTreeType >::Clone(), itk::ChildTreeIterator< TTreeType >::Clone(), itk::PostOrderTreeIterator< TTreeType >::FindNextNode(), itk::LevelOrderTreeIterator< TTreeType >::GetLevel(), itk::TreeIteratorBase< TTreeType >::GoToBegin(), itk::ChildTreeIterator< TTreeType >::GoToChild(), itk::TreeIteratorBase< TTreeType >::GoToEnd(), itk::ChildTreeIterator< TTreeType >::GoToParent(), itk::LeafTreeIterator< TTreeType >::HasNext(), itk::TreeIteratorBase< TTreeType >::IsAtBegin(), itk::TreeIteratorBase< TTreeType >::IsAtEnd(), itk::RootTreeIterator< TTreeType >::Next(), itk::PreOrderTreeIterator< TTreeType >::Next(), itk::PostOrderTreeIterator< TTreeType >::Next(), itk::LevelOrderTreeIterator< TTreeType >::Next(), itk::LeafTreeIterator< TTreeType >::Next(), itk::InOrderTreeIterator< TTreeType >::Next(), itk::ChildTreeIterator< TTreeType >::Next(), and itk::TreeIteratorBase< TTreeType >::operator=().

template<class TTreeType>
const TreeNodeType* itk::TreeIteratorBase< TTreeType >::m_Root [protected, inherited]
 

Definition at line 190 of file itkTreeIteratorBase.h.

Referenced by itk::LevelOrderTreeIterator< TTreeType >::GetLevel(), and itk::TreeIteratorBase< TTreeType >::operator=().

template<class TTreeType>
TTreeType* itk::TreeIteratorBase< TTreeType >::m_Tree [protected, inherited]
 

Definition at line 191 of file itkTreeIteratorBase.h.

Referenced by itk::RootTreeIterator< TTreeType >::Clone(), itk::PreOrderTreeIterator< TTreeType >::Clone(), itk::PostOrderTreeIterator< TTreeType >::Clone(), itk::LevelOrderTreeIterator< TTreeType >::Clone(), itk::LeafTreeIterator< TTreeType >::Clone(), itk::ChildTreeIterator< TTreeType >::Clone(), and itk::TreeIteratorBase< TTreeType >::operator=().


The documentation for this class was generated from the following file:
Generated at Sun Jul 9 20:33:04 2006 for ITK by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2000