regina::NormalHypersurfaces::HypersurfaceInserter Struct Reference

An output iterator used to insert hypersurfaces into an NormalHypersurfaces. More...

`#include <hypersurface/normalhypersurfaces.h>`

Inheritance diagram for regina::NormalHypersurfaces::HypersurfaceInserter:

## Public Member Functions

| HypersurfaceInserter (NormalHypersurfaces &list, Triangulation< 4 > *owner)
| Creates a new output iterator. More...
| HypersurfaceInserter (const HypersurfaceInserter &cloneMe)
| Creates a new output iterator that is a clone of the given iterator. More...
HypersurfaceInserter & | operator= (const HypersurfaceInserter &cloneMe)
| Sets this iterator to be a clone of the given output iterator. More...
HypersurfaceInserter & | operator= (NormalHypersurface *hypersurface)
| Appends a normal hypersurface to the end of the appropriate surface list. More...
HypersurfaceInserter & | operator= (NormalHypersurfaceVector *vector)
| Appends the normal hypersurface corresponding to the given vector to the end of the appropriate hypersurface list. More...
HypersurfaceInserter & | operator* ()
| Returns a reference to this output iterator. More...
HypersurfaceInserter & | operator++ ()
| Returns a reference to this output iterator. More...
HypersurfaceInserter & | operator++ (int)
| Returns a reference to this output iterator. More...

## Public Attributes

NormalHypersurfaces * | list_
| The list into which hypersurfaces will be inserted. More...
Triangulation< 4 > * | owner_
| The triangulation in which the hypersurfaces to be inserted are contained. More...

## Detailed Description

An output iterator used to insert hypersurfaces into an NormalHypersurfaces.

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

## Constructor & Destructor Documentation

## HypersurfaceInserter() [1/2]

regina::NormalHypersurfaces::HypersurfaceInserter::HypersurfaceInserter | ( | NormalHypersurfaces & | list,
|  | Triangulation< 4 > * | owner
| ) |  |

inline

Creates a new output iterator.

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

Parameters

  list | the list into which hypersurfaces will be inserted.
  owner | the triangulation in which the hypersurfaces to be inserted are contained.

## HypersurfaceInserter() [2/2]

regina::NormalHypersurfaces::HypersurfaceInserter::HypersurfaceInserter | ( | const HypersurfaceInserter & | 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

## operator*()

NormalHypersurfaces::HypersurfaceInserter & regina::NormalHypersurfaces::HypersurfaceInserter::operator* | ( |  | ) |

inline

Returns a reference to this output iterator.

Returns
  this output iterator.

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

NormalHypersurfaces::HypersurfaceInserter & regina::NormalHypersurfaces::HypersurfaceInserter::operator++ | ( |  | ) |

inline

Returns a reference to this output iterator.

Returns
  this output iterator.

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

NormalHypersurfaces::HypersurfaceInserter & regina::NormalHypersurfaces::HypersurfaceInserter::operator++ | ( | int |  | ) |

inline

Returns a reference to this output iterator.

Returns
  this output iterator.

## operator=() [1/3]

NormalHypersurfaces::HypersurfaceInserter & regina::NormalHypersurfaces::HypersurfaceInserter::operator= | ( | const HypersurfaceInserter & | 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.

## operator=() [2/3]

NormalHypersurfaces::HypersurfaceInserter & regina::NormalHypersurfaces::HypersurfaceInserter::operator= | ( | NormalHypersurface * | hypersurface | ) |

inline

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

The given hypersurface will be deallocated with the other hypersurfaces in this list when the list is eventually destroyed.

Parameters

  hypersurface | the normal hypersurface to insert.

Returns
  this output iterator.

## operator=() [3/3]

NormalHypersurfaces::HypersurfaceInserter & regina::NormalHypersurfaces::HypersurfaceInserter::operator= | ( | NormalHypersurfaceVector * | vector | ) |

inline

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

The given vector will be owned by the newly created normal hypersurface and will be deallocated with the other hypersurfaces in this list when the list is eventually destroyed.

Parameters

  vector | the vector of the normal hypersurface to insert.

Returns
  this output iterator.

## Member Data Documentation

## list_

NormalHypersurfaces* regina::NormalHypersurfaces::HypersurfaceInserter::list_

The list into which hypersurfaces will be inserted.

## owner_

Triangulation<4>* regina::NormalHypersurfaces::HypersurfaceInserter::owner_

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

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

- hypersurface/normalhypersurfaces.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).