latest version v1.9 - last update 10 Apr 2010 |
The edge iterator iterates on all outgoing edges of a node. More...
#include <ltiAdjacencyGraph.h>
Public Member Functions | |
edge_iterator () | |
edge_iterator (const edge_iterator &other) | |
edge_iterator & | operator++ () |
edge_iterator | operator++ (int) |
edge_iterator & | operator-- () |
edge_iterator | operator-- (int) |
bool | operator== (const edge_iterator &other) const |
bool | operator!= (const edge_iterator &other) const |
edge_data_type & | operator* () |
const edge_data_type & | operator* () const |
edge_iterator & | operator= (const edge_iterator &other) |
Protected Member Functions | |
edge_iterator (const typename row_type::iterator &startPos, const id_type node) | |
const row_type::iterator & | getPos () const |
entry_type & | getRWEntry () const |
const entry_type & | getEntry () const |
id_type | getNode () const |
The edge iterator iterates on all outgoing edges of a node.
This class is similar to the usual iterators of the STL. The iterator allows you to access the data the edge, but you can also get the next node's id for other kind of processing.
Since you got this iterator, you should know somehow which is the starting edge node.
To access the edge's data, use the operator* (for example, if it
is an edge_iterator, get the data with (*it) ). To get the ids of the nodes or the weight of the edge, use the corresponding methods in the adjacencyGraph class.
lti::adjacencyGraph< N, W, D, F, E >::edge_iterator::edge_iterator | ( | ) | [inline] |
Default constructor.
lti::adjacencyGraph< N, W, D, F, E >::edge_iterator::edge_iterator | ( | const edge_iterator & | other | ) | [inline] |
copy constructor
lti::adjacencyGraph< N, W, D, F, E >::edge_iterator::edge_iterator | ( | const typename row_type::iterator & | startPos, | |
const id_type | node | |||
) | [inline, explicit, protected] |
protected constructor (for internal use only)
startPos | map iterator | |
node | id of the current node |
const entry_type& lti::adjacencyGraph< N, W, D, F, E >::edge_iterator::getEntry | ( | ) | const [inline, protected] |
get complete matrix element entry for internal use only!!!
id_type lti::adjacencyGraph< N, W, D, F, E >::edge_iterator::getNode | ( | ) | const [inline, protected] |
for internal use only!!!
Referenced by lti::adjacencyGraph< N, W, D, F, E >::const_edge_iterator::operator=().
const row_type::iterator& lti::adjacencyGraph< N, W, D, F, E >::edge_iterator::getPos | ( | ) | const [inline, protected] |
entry_type& lti::adjacencyGraph< N, W, D, F, E >::edge_iterator::getRWEntry | ( | ) | const [inline, protected] |
get complete matrix element entry for internal use only!!!
bool lti::adjacencyGraph< N, W, D, F, E >::edge_iterator::operator!= | ( | const edge_iterator & | other | ) | const [inline] |
compare if both pointed positions are different
const edge_data_type& lti::adjacencyGraph< N, W, D, F, E >::edge_iterator::operator* | ( | ) | const [inline] |
get pointed data
edge_data_type& lti::adjacencyGraph< N, W, D, F, E >::edge_iterator::operator* | ( | ) | [inline] |
get pointed data
edge_iterator lti::adjacencyGraph< N, W, D, F, E >::edge_iterator::operator++ | ( | int | ) | [inline] |
advance to next item
edge_iterator& lti::adjacencyGraph< N, W, D, F, E >::edge_iterator::operator++ | ( | ) | [inline] |
advance to next item
edge_iterator lti::adjacencyGraph< N, W, D, F, E >::edge_iterator::operator-- | ( | int | ) | [inline] |
recede to previous item
edge_iterator& lti::adjacencyGraph< N, W, D, F, E >::edge_iterator::operator-- | ( | ) | [inline] |
recede to previous item // prefix
edge_iterator& lti::adjacencyGraph< N, W, D, F, E >::edge_iterator::operator= | ( | const edge_iterator & | other | ) | [inline] |
copy member
bool lti::adjacencyGraph< N, W, D, F, E >::edge_iterator::operator== | ( | const edge_iterator & | other | ) | const [inline] |
compare if both pointed positions are the same