Regina Calculation Engine
Public Member Functions | Protected Attributes | List of all members
regina::DiscSpecIterator Class Reference

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

#include <surfaces/disc.h>

Public Member Functions

 DiscSpecIterator ()
 Creates a new uninitialised iterator. More...
 
 DiscSpecIterator (const DiscSetSurface &discSet)
 Creates a new iterator pointing to the first disc in the given disc set. More...
 
void init (const DiscSetSurface &discSet)
 Points this iterator to the first disc in the given disc set. More...
 
void operator++ ()
 Points this iterator to the next disc, or makes it past-the-end if there is no next disc. More...
 
void operator++ (int)
 Points this iterator to the next disc, or makes it past-the-end if there is no next disc. More...
 
const DiscSpec & operator* () const
 Returns a reference to the disc pointed to by this iterator. More...
 
bool done () const
 Determines if this iterator is past-the-end. More...
 
bool operator== (const DiscSpecIterator &other) const
 Determines if this and the given iterator are equal. More...
 
bool operator!= (const DiscSpecIterator &other) const
 Determines if this and the given iterator are different. More...
 

Protected Attributes

const DiscSetSurface * internalDiscSet
 The disc set through which we are iterating. More...
 
DiscSpec current
 The disc currently pointed to. More...
 

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 LargeInteger 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.

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

Copyright © 1999-2016, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@maths.uq.edu.au).