|
PSCF v1.4.0
|
Edge iterator for graph associated with a polymer. More...
#include <EdgeIterator.h>
Public Member Functions | |
| EdgeIterator (PolymerSpecies< WT > const &polymer) | |
| Constructor. | |
| ~EdgeIterator () | |
| Destructor. | |
| void | begin (int sourceId, int targetId) |
| Initialize iterator. | |
| EdgeIterator< WT > & | operator++ () |
| Increment operator - move to next vertex. | |
| int | currentEdgeId () const |
| Get index of the current edge. | |
| int | currentDirectionId () const |
| Get direction index for the path within the current edge. | |
| int | currentVertexId () const |
| Get index of the current vertex. | |
| bool | isEnd () const |
| Return true iff currentId == targetId. | |
| bool | notEnd () const |
| Return true iff currentId != targetId. | |
Edge iterator for graph associated with a polymer.
Usage: Suppose that object p is an instance of a subclass of PolymerSpecies<WT>. The following snippet illustrates how to iterate from edge (or block) iSource to edge iTarget of the associated polymer:
Definition at line 36 of file EdgeIterator.h.
| Pscf::EdgeIterator< WT >::EdgeIterator | ( | PolymerSpecies< WT > const & | polymer | ) |
Constructor.
| polymer | associated PolymerSpecies object |
Definition at line 19 of file EdgeIterator.tpp.
Referenced by operator++().
| Pscf::EdgeIterator< WT >::~EdgeIterator | ( | ) |
Destructor.
Definition at line 29 of file EdgeIterator.tpp.
| void Pscf::EdgeIterator< WT >::begin | ( | int | sourceId, |
| int | targetId ) |
Initialize iterator.
| sourceId | index of the initial (or source) edge |
| targetId | index of the final (or target) edge |
Definition at line 36 of file EdgeIterator.tpp.
References UTIL_CHECK, and UTIL_THROW.
| EdgeIterator< WT > & Pscf::EdgeIterator< WT >::operator++ | ( | ) |
Increment operator - move to next vertex.
Definition at line 101 of file EdgeIterator.tpp.
References EdgeIterator(), notEnd(), UTIL_CHECK, and Pscf::Edge::vertexId().
| int Pscf::EdgeIterator< WT >::currentEdgeId | ( | ) | const |
Get index of the current edge.
Definition at line 127 of file EdgeIterator.tpp.
| int Pscf::EdgeIterator< WT >::currentDirectionId | ( | ) | const |
Get direction index for the path within the current edge.
Definition at line 134 of file EdgeIterator.tpp.
| int Pscf::EdgeIterator< WT >::currentVertexId | ( | ) | const |
Get index of the current vertex.
When the current edge is not the target edge, the current vertex is the vertex of the current edge that is closer to the closest vertex of the target edge.
When the current edge is also the target edge, the current vertex is the vertex of the target edge that is farther from the initial source edge.
Definition at line 141 of file EdgeIterator.tpp.
| bool Pscf::EdgeIterator< WT >::isEnd | ( | ) | const |
Return true iff currentId == targetId.
Definition at line 148 of file EdgeIterator.tpp.
| bool Pscf::EdgeIterator< WT >::notEnd | ( | ) | const |
Return true iff currentId != targetId.
Definition at line 157 of file EdgeIterator.tpp.
Referenced by operator++().