template<int dim>
class regina::graph::AdjacentDualVertexIterator< dim >
Used to iterate through the dual vertices adjacent to a given dual vertex of a dim-dimensional triangulation.
Let v denote the given dual vertex; note that v corresponds to a top-dimensional simplex of the triangulation. The order of iteration will follow those dual vertices that are adjacent through facets 0, 1, ..., dim of this simplex in turn. Note however that the range of iterators may be smaller than (dim+1), since an iterator will skip past those facets of the simplex that lie on the boundary of the triangulation.
This class implements the Boost multipass input iterator concept, which is similar to the standard C++ forward iterator except that the reference type may be the same as value_type (and so, in particular, the dereference operator may return by value). This header also specialises std::iterator_traits for this iterator type.
- Template Parameters
-
dim | the dimension of the underlying triangulation. |
Creates a new iterator that runs through all dual vertices adjacent to the given dual vertex.
The given dual vertex is specified by passing the corresponding top-dimensional simplex source in the underlying triangulation.
The iterator will begin at the dual vertex (i.e., top-domensional simplex) attached to facet number facet of simp, assuming that one exists. However, if this is a boundary facet of the triangulation, then the iterator will skip forward through the list of facets until it either locates an internal facet (with a simplex on the other side), or moves past-the-end (facet number dim+1).
- Parameters
-
source | the dual vertex (i.e., top-dimensional simplex) whose adjacent dual vertices we are iterating through. |
facet | indicates the facet of simp at which the iteration should begin. This must be between 0 and (dim+1) inclusive, where a value of (dim+1) indicates an iterator that is past-the-end. |