regina::NNormalSurfaceList::SurfaceInserter Struct Reference

An output iterator used to insert surfaces into an NNormalSurfaceList. More...

#include <nnormalsurfacelist.h>

List of all members.

Public Member Functions

 SurfaceInserter ()
 Creates a new uninitialised output iterator.
 SurfaceInserter (NNormalSurfaceList &newList, NTriangulation *newOwner)
 Creates a new output iterator.
 SurfaceInserter (const SurfaceInserter &cloneMe)
 Creates a new output iterator that is a clone of the given iterator.
SurfaceInserteroperator= (const SurfaceInserter &cloneMe)
 Sets this iterator to be a clone of the given output iterator.
SurfaceInserteroperator= (NNormalSurface *surface)
 Appends a normal surface to the end of the appropriate surface list.
SurfaceInserteroperator= (NNormalSurfaceVector *vector)
 Appends the normal surface corresponding to the given vector to the end of the appropriate surface list.
SurfaceInserteroperator* ()
 Returns a reference to this output iterator.
SurfaceInserteroperator++ ()
 Returns a reference to this output iterator.
SurfaceInserteroperator++ (int)
 Returns a reference to this output iterator.

Public Attributes

NNormalSurfaceListlist
 The list into which surfaces will be inserted.
NTriangulationowner
 The triangulation in which the surfaces to be inserted are contained.


Detailed Description

An output iterator used to insert surfaces into an NNormalSurfaceList.

Objects of type NNormalSurface* and NNormalSurfaceVector* can be assigned to this iterator. In the latter case, a surrounding NNormalSurface will be automatically created.

Some basic checks may be performed before insertion; see the documentation for operator=(NNormalSurface*) and operator=(NNormalSurfaceVector*) for details.


Constructor & Destructor Documentation

regina::NNormalSurfaceList::SurfaceInserter::SurfaceInserter (  )  [inline]

Creates a new uninitialised output iterator.

Warning:
This iterator must not be used until its surface list and triangulation have been initialised.

regina::NNormalSurfaceList::SurfaceInserter::SurfaceInserter ( NNormalSurfaceList newList,
NTriangulation newOwner 
) [inline]

Creates a new output iterator.

The member variables of this iterator will be initialised according to the parameters passed to this constructor.

Parameters:
newList the list into which surfaces will be inserted.
newOwner the triangulation in which the surfaces to be inserted are contained.

regina::NNormalSurfaceList::SurfaceInserter::SurfaceInserter ( const SurfaceInserter cloneMe  )  [inline]

Creates a new output iterator that is a clone of the given iterator.

Parameters:
cloneMe the output iterator to clone.


Member Function Documentation

NNormalSurfaceList::SurfaceInserter & regina::NNormalSurfaceList::SurfaceInserter::operator= ( const SurfaceInserter cloneMe  )  [inline]

Sets this iterator to be a clone of the given output iterator.

Parameters:
cloneMe the output iterator to clone.
Returns:
this output iterator.

NNormalSurfaceList::SurfaceInserter & regina::NNormalSurfaceList::SurfaceInserter::operator= ( NNormalSurface surface  )  [inline]

Appends a normal surface to the end of the appropriate surface list.

The given surface will be deallocated with the other surfaces in this list.

Parameters:
surface the normal surface to insert.
Returns:
this output iterator.

NNormalSurfaceList::SurfaceInserter & regina::NNormalSurfaceList::SurfaceInserter::operator= ( NNormalSurfaceVector vector  )  [inline]

Appends the normal surface corresponding to the given vector to the end of the appropriate surface list.

The given vector will be owned by the newly created normal surface and will be deallocated with the other surfaces in this list.

If the surface list allows almost normal surfaces, the vector will be checked for multiple octagonal discs. If multiple octagonal discs are found, the vector will be deleted immediately and no surface will be inserted.

Parameters:
vector the vector of the normal surface to insert.
Returns:
this output iterator.

NNormalSurfaceList::SurfaceInserter & regina::NNormalSurfaceList::SurfaceInserter::operator* (  )  [inline]

Returns a reference to this output iterator.

Returns:
this output iterator.

NNormalSurfaceList::SurfaceInserter & regina::NNormalSurfaceList::SurfaceInserter::operator++ (  )  [inline]

Returns a reference to this output iterator.

Returns:
this output iterator.

NNormalSurfaceList::SurfaceInserter & regina::NNormalSurfaceList::SurfaceInserter::operator++ ( int   )  [inline]

Returns a reference to this output iterator.

Returns:
this output iterator.


Member Data Documentation

The list into which surfaces will be inserted.

The triangulation in which the surfaces to be inserted are contained.


The documentation for this struct 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).