Regina Calculation Engine
|
Iterates through the two directed arcs either entering or exiting a given crossing of a knot or link. More...
#include <link/graph.h>
Public Member Functions | |
IncidentArcIterator () | |
Creates a singular iterator. More... | |
IncidentArcIterator (Crossing *crossing, int strand=0) | |
Creates a new iterator that runs through the two arcs entering or exiting the given crossing (depending on the template parameter out). More... | |
IncidentArcIterator (const IncidentArcIterator &)=default | |
Default copy constructor. More... | |
IncidentArcIterator & | operator++ () |
Preincrement operator. More... | |
IncidentArcIterator | operator++ (int) |
Postincrement operator. More... | |
StrandRef | operator* () const |
Returns the directed arc to which this iterator points. More... | |
IncidentArcIterator & | operator= (const IncidentArcIterator &)=default |
Default assignment operator. More... | |
bool | operator== (const IncidentArcIterator &rhs) const |
Tests whether this and the given iterator are equal. More... | |
bool | operator!= (const IncidentArcIterator &rhs) const |
Tests whether this and the given iterator are different. More... | |
Iterates through the two directed arcs either entering or exiting a given crossing of a knot or link.
If the template argument out is true
, then this will iterate through the two directed arcs exiting the given crossing: first the arc leaving from the lower strand, and then the arc leaving from the upper strand.
If the template argument out is false
, then this will iterate through the two directed arcs entering the given crossing: first the arc entering into the lower strand, and then the arc entering into the upper strand.
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.
out | indicates whether to iterate through arcs exiting or entering the given crossing, as described above. |
|
inline |
Creates a singular iterator.
|
inline |
Creates a new iterator that runs through the two arcs entering or exiting the given crossing (depending on the template parameter out).
crossing | the crossing whose incident arcs we are iterating through. |
strand | 0 if we should begin at the arc entering or exiting the lower strand; 1 if we should begin at the arc entering or exiting the upper strand; or 2 if the iterator should be marked as past-the-end. |
|
default |
Default copy constructor.
|
inline |
Tests whether this and the given iterator are different.
rhs | the iterator to compare with this. |
true
if and only if the two iterators are different.
|
inline |
|
inline |
Preincrement operator.
|
inline |
Postincrement operator.
|
default |
Default assignment operator.
|
inline |
Tests whether this and the given iterator are equal.
rhs | the iterator to compare with this. |
true
if and only if the two iterators are equal.