Regina Calculation Engine
Public Member Functions | List of all members
regina::CrossingIterator Class Reference

Iterates through all crossings of a link. More...

#include <link/link.h>

Public Member Functions

 CrossingIterator ()
 Creates a singular iterator. More...
 
 CrossingIterator (const CrossingIterator &)=default
 Default copy constructor. More...
 
 CrossingIterator (const Link &link, size_t index=0)
 Creates a new iterator pointing to the given crossing of the given link. More...
 
CrossingIteratoroperator++ ()
 Preincrement operator. More...
 
CrossingIterator operator++ (int)
 Postincrement operator. More...
 
Crossingoperator* () const
 Returns the crossing to which this iterator points. More...
 
CrossingIteratoroperator= (const CrossingIterator &)=default
 Default assignment operator. More...
 
bool operator== (const CrossingIterator &rhs) const
 Tests whether this and the given iterator are equal. More...
 
bool operator!= (const CrossingIterator &rhs) const
 Tests whether this and the given iterator are different. More...
 

Detailed Description

Iterates through all crossings of a link.

The order of iteration follows the indexing of the crossings from 0 to Link::size()-1.

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.

Python:\n Not present.

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

Copyright © 1999-2020, 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).