proj home

Files   Classes   Functions   Hierarchy  

treeindexedD2iterinternal< T > Class Template Reference

Iterate over the internal nodes (not leaves). More...

#include <treeindexedD2iter.h>

Inheritance diagram for treeindexedD2iterinternal< T >:
Collaboration diagram for treeindexedD2iterinternal< T >:

List of all members.

Public Member Functions

 treeindexedD2iterinternal (treeindexedD2< T > &tree_, boolc setreset=true)
 Pass in the tree.
void operator++ ()
 Move to the next internal node.
void reset ()
 Reset the iterator.
 treeindexedD2iterinternal (treeindexedD2< T > &tree_, boolc setreset=true)
 Pass in the tree.
void operator++ ()
 Move to the next internal node.
void reset ()
 Reset the iterator.


Detailed Description

template<typename T>
class treeindexedD2iterinternal< T >

Iterate over the internal nodes (not leaves).

Definition at line 90 of file treeindexedD2iter.h.


Constructor & Destructor Documentation

template<typename T >
treeindexedD2iterinternal< T >::treeindexedD2iterinternal ( treeindexedD2< T > &  tree_,
boolc  setreset = true 
) [inline]

Pass in the tree.

Definition at line 128 of file treeindexedD2iter.h.

00132   : treeindexedD2iter<T>(tree_,setreset) 
00133 {
00134   if (setreset==false)
00135     return;
00136 
00137   // Warning, deliberate duplicate code - same as in reset().
00138 
00139   if (! treeindexedD2iter<T>::operator !())
00140     return;
00141 
00142   if (treeindexedD2iter<T>::operator()()->isleaf())
00143     treeindexedD2iterinternal<T>::operator++();
00144 }

template<typename T >
treeindexedD2iterinternal< T >::treeindexedD2iterinternal ( treeindexedD2< T > &  tree_,
boolc  setreset = true 
)

Pass in the tree.


Member Function Documentation

template<typename T >
void treeindexedD2iterinternal< T >::operator++ (  ) 

Move to the next internal node.

Reimplemented from treeindexedD2iter< T >.

template<typename T >
void treeindexedD2iterinternal< T >::operator++ (  )  [inline]

Move to the next internal node.

Reimplemented from treeindexedD2iter< T >.

Definition at line 147 of file treeindexedD2iter.h.

Referenced by treeindexedD2iterinternal< T >::reset().

00148 {
00149   treeindexedD2iter<T>::operator ++ ();
00150 
00151   while (treeindexedD2iter<T>::operator ! ()) 
00152   {
00153     if (! treeindexedD2iter<T>::operator ()()->isleaf())
00154       return;
00155 
00156     treeindexedD2iter<T>::operator ++ ();
00157   }
00158 }

template<typename T >
void treeindexedD2iterinternal< T >::reset (  ) 

Reset the iterator.

Reimplemented from treeindexedD2iter< T >.

template<typename T >
void treeindexedD2iterinternal< T >::reset (  )  [inline]

Reset the iterator.

Reimplemented from treeindexedD2iter< T >.

Definition at line 113 of file treeindexedD2iter.h.

References treeindexedD2iterinternal< T >::operator++().

00114 {
00115   treeindexedD2iter<T>::reset();
00116 
00117   // Warning, deliberate duplicate code - same as in constructor treeindexedD2iterinternal(...).
00118 
00119   if (! treeindexedD2iter<T>::operator !())
00120     return;
00121 
00122   if (treeindexedD2iter<T>::operator()()->isleaf())
00123     treeindexedD2iterinternal<T>::operator++();
00124 }


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

Generated on Fri Mar 4 00:50:20 2011 for Chelton Evans Source by  doxygen 1.5.8