regina::NormalSurfaces::VectorIterator Class Reference

A bidirectional iterator that runs through the raw vectors for surfaces in this list. More...

`#include <surfaces/normalsurfaces.h>`

Inheritance diagram for regina::NormalSurfaces::VectorIterator:

## Public Member Functions

| VectorIterator ()
| Creates a new uninitialised iterator. More...
| VectorIterator (const VectorIterator &cloneMe)
| Creates a copy of the given iterator. More...
VectorIterator & | operator= (const VectorIterator &cloneMe)
| Makes this a copy of the given iterator. More...
bool | operator== (const VectorIterator &other) const
| Compares this with the given operator for equality. More...
bool | operator!= (const VectorIterator &other) const
| Compares this with the given operator for inequality. More...
const Ray & | operator* () const
| Returns the raw vector for the normal surface that this iterator is currently pointing to. More...
VectorIterator & | operator++ ()
| The preincrement operator. More...
VectorIterator | operator++ (int)
| The postincrement operator. More...
VectorIterator & | operator-- ()
| The predecrement operator. More...
VectorIterator | operator-- (int)
| The postdecrement operator. More...

## Friends

class | NormalSurfaces

## Detailed Description

A bidirectional iterator that runs through the raw vectors for surfaces in this list.

Python:
  Not present.

## Constructor & Destructor Documentation

## VectorIterator() [1/2]

regina::NormalSurfaces::VectorIterator::VectorIterator | ( |  | ) |

inline

Creates a new uninitialised iterator.

## VectorIterator() [2/2]

regina::NormalSurfaces::VectorIterator::VectorIterator | ( | const VectorIterator & | cloneMe | ) |

inline

Creates a copy of the given iterator.

Parameters

  cloneMe | the iterator to clone.

## Member Function Documentation

## operator!=()

bool regina::NormalSurfaces::VectorIterator::operator!= | ( | const VectorIterator & | other | ) | const

inline

Compares this with the given operator for inequality.

Parameters

  other | the iterator to compare this with.

Returns
  `false` if the iterators point to the same element of the same normal surface list, or `true` if they do not.

## operator*()

const Ray & regina::NormalSurfaces::VectorIterator::operator* | ( |  | ) | const

inline

Returns the raw vector for the normal surface that this iterator is currently pointing to.

Precondition
  This iterator is dereferenceable (in particular, it is not past-the-end).

Returns
  the corresponding normal surface vector.

## operator++() [1/2]

NormalSurfaces::VectorIterator & regina::NormalSurfaces::VectorIterator::operator++ | ( |  | ) |

inline

The preincrement operator.

Returns
  a reference to this iterator after the increment.

## operator++() [2/2]

NormalSurfaces::VectorIterator regina::NormalSurfaces::VectorIterator::operator++ | ( | int |  | ) |

inline

The postincrement operator.

Returns
  a copy of this iterator before the increment took place.

## operator--() [1/2]

NormalSurfaces::VectorIterator & regina::NormalSurfaces::VectorIterator::operator-- | ( |  | ) |

inline

The predecrement operator.

Returns
  a reference to this iterator after the decrement.

## operator--() [2/2]

NormalSurfaces::VectorIterator regina::NormalSurfaces::VectorIterator::operator-- | ( | int |  | ) |

inline

The postdecrement operator.

Returns
  a copy of this iterator before the decrement took place.

## operator=()

NormalSurfaces::VectorIterator & regina::NormalSurfaces::VectorIterator::operator= | ( | const VectorIterator & | cloneMe | ) |

inline

Makes this a copy of the given iterator.

Parameters

  cloneMe | the iterator to clone.

Returns
  a reference to this iterator.

## operator==()

bool regina::NormalSurfaces::VectorIterator::operator== | ( | const VectorIterator & | other | ) | const

inline

Compares this with the given operator for equality.

Parameters

  other | the iterator to compare this with.

Returns
  `true` if the iterators point to the same element of the same normal surface list, or `false` if they do not.

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

- surfaces/normalsurfaces.h

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