regina::NDiscSpecIterator Class Reference
[Normal Surfaces]

An iterator used for running through all normal discs in a normal surface. More...

#include <ndisc.h>

List of all members.

Public Member Functions

 NDiscSpecIterator ()
 Creates a new uninitialised iterator.
 NDiscSpecIterator (const NDiscSetSurface &discSet)
 Creates a new iterator pointing to the first disc in the given disc set.
void init (const NDiscSetSurface &discSet)
 Points this iterator to the first disc in the given disc set.
void operator++ (int)
 Points this iterator to the next disc, or makes it past-the-end if there is no next disc.
const NDiscSpec & operator* () const
 Returns a reference to the disc pointed to by this iterator.
bool done () const
 Determines if this iterator is past-the-end.

Protected Attributes

const NDiscSetSurface * internalDiscSet
 The disc set through which we are iterating.
NDiscSpec current
 The disc currently pointed to.


Detailed Description

An iterator used for running through all normal discs in a normal surface.

Warning:
This class converts the indices of normal discs of a given type from NLargeInteger to unsigned long. See the precondition below.
Precondition:
The number of normal discs of a particular type in a particular tetrahedron can be represented by a long integer.

Constructor & Destructor Documentation

regina::NDiscSpecIterator::NDiscSpecIterator (  )  [inline]

Creates a new uninitialised iterator.

This iterator cannot be used or queried until init() is called.

regina::NDiscSpecIterator::NDiscSpecIterator ( const NDiscSetSurface &  discSet  )  [inline]

Creates a new iterator pointing to the first disc in the given disc set.

Parameters:
discSet the disc set used to initialise this iterator.


Member Function Documentation

void regina::NDiscSpecIterator::init ( const NDiscSetSurface &  discSet  )  [inline]

Points this iterator to the first disc in the given disc set.

Parameters:
discSet the disc set used to reinitialise this iterator.

void regina::NDiscSpecIterator::operator++ ( int   )  [inline]

Points this iterator to the next disc, or makes it past-the-end if there is no next disc.

Precondition:
This iterator is not past-the-end.
Python:
This routine is called inc(), since Python does not support the increment operator.

const NDiscSpec & regina::NDiscSpecIterator::operator* (  )  const [inline]

Returns a reference to the disc pointed to by this iterator.

Precondition:
This iterator is not past-the-end.
Python:
This routine is called deref(), since Python does not support the dereference operator.
Returns:
a reference to the disc pointed to by this iterator.

bool regina::NDiscSpecIterator::done (  )  const [inline]

Determines if this iterator is past-the-end.

Returns:
true if and only if this iterator is past-the-end.


Member Data Documentation

The disc set through which we are iterating.

The disc currently pointed to.


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

Copyright © 1999-2008, Ben Burton
This software is released under the GNU General Public License.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).