EdgeIterator Class Reference
allows an iteration trough all edges of a vertex
More...
#include <EdgeIterator.h>
List of all members.
Detailed Description
The Vertex that is the source for all edges is called "source vertex". The order of the iteration through the edges is from the shortest to the longest edge. If two edges have the same length they are ordered the same way as the corresponding entries in the sample value adjacency lists (for different sample values) respectivly the destination sample occurences in the SampleOccurences data structure (for the same sample value).
EdgeIterator uses an SampleOccurence::const_iterator to store information about the current edge. Graph::(un)markDeletedSampleOccurence can invalidate such iterators. It is therefore not a good idea to use EdgeIterators at the same time as the Graph::(un)markDeletedSampleOccurence functionality.
NOTE: EdgeIterator relies on the Globals object pointed to by the Globs pointer. This means that it must be set correctly before using any method of an EdgeIterator object.
Member Enumeration Documentation
- Enumerator:
SAMPLEOCCURENCE |
|
SAMPLEVALUE |
|
Constructor & Destructor Documentation
EdgeIterator::EdgeIterator |
( |
void |
|
) |
|
the default contructor - does not create a valid object
EdgeIterator::~EdgeIterator |
( |
void |
|
) |
|
Member Function Documentation
void EdgeIterator::findNextEdge |
( |
void |
|
) |
[private] |
find the shortest edge, starting the search at SVOppNeighsIndices[0...k] set the private variables accordingly is only called to find a new destination sample value, i.e. if one of the SVOppNeighsIndices[i] is changed
static UWORD32 EdgeIterator::getMaxNumEdges |
( |
void |
|
) |
[inline, static] |
VertexLabel EdgeIterator::getPartnerVertexLabel |
( |
void |
|
) |
const [inline] |
get the label of the partner vertex
- Returns:
- the label of the vertex that builds the edge returned by operator* together with SrcVertex
bool EdgeIterator::isDestSampleValueOK |
( |
const SampleValue * |
sv |
) |
[private] |
- Returns:
- true iff there is a sample with value sv that is part of an edge starting at SrcVertex
bool EdgeIterator::isFinished |
( |
void |
|
) |
const [inline] |
- Returns:
- true iff this EdgeIterator points to the end of the list of edges of SrcVertex
const Edge* EdgeIterator::operator* |
( |
void |
|
) |
const [inline] |
get the current edge
- Returns:
- the edge that is described by the current status of this EdgeIterator
void EdgeIterator::operator++ |
( |
void |
|
) |
|
set this iterator to next edge
void EdgeIterator::print |
( |
unsigned short |
spc = 0 |
) |
const |
reset this iterator to first (shortest) edge
set this iterator to first (shortest) edge of vertex v
- Parameters:
-
| v | new vertex (don't change if it is NULL) |
static void EdgeIterator::setMaxNumEdges |
( |
UWORD32 |
mne |
) |
[inline, static] |
Member Data Documentation
contains the iterator pointing to the sample occurence that constitutes the edge together with SourceVertex/SourceSamleValueIndex
The documentation for this class was generated from the following files: