IterableGraphComponent< _Base > Class Template Reference


Detailed Description

template<typename _Base = BaseGraphComponent>
class lemon::concepts::IterableGraphComponent< _Base >

This class provides beside the core graph features iterator based iterable interface for the graph structure. This concept is part of the Graph concept. #include <lemon/concepts/graph_components.h>

Inherits _Base.

List of all members.

Class based iteration

This interface provides functions for iteration on graph items

typedef GraphItemIt< Graph, Node > NodeIt
typedef GraphItemIt< Graph, Edge > EdgeIt
typedef GraphIncIt< Graph,
Edge, Node, 'i'> 
InEdgeIt
 This iterator goes trough the incoming edges of a node.
typedef GraphIncIt< Graph,
Edge, Node, 'o'> 
OutEdgeIt
 This iterator goes trough the outgoing edges of a node.
Node baseNode (const InEdgeIt &) const
 The base node of the iterator.
Node runningNode (const InEdgeIt &) const
 The running node of the iterator.
Node baseNode (const OutEdgeIt &) const
 The base node of the iterator.
Node runningNode (const OutEdgeIt &) const
 The running node of the iterator.

Public Member Functions

Base iteration
This interface provides functions for iteration on graph items

void first (Node &) const
void next (Node &) const
void first (Edge &) const
void next (Edge &) const
void firstIn (Edge &, const Node &) const
void nextIn (Edge &) const
void firstOut (Edge &, const Node &) const
void nextOut (Edge &) const


Member Typedef Documentation

typedef GraphItemIt<Graph, Node> NodeIt

This iterator goes through each node.

typedef GraphItemIt<Graph, Edge> EdgeIt

This iterator goes through each node.

typedef GraphIncIt<Graph, Edge, Node, 'i'> InEdgeIt

This iterator goes trough the inccoming edges of a certain node of a graph.

typedef GraphIncIt<Graph, Edge, Node, 'o'> OutEdgeIt

This iterator goes trough the outgoing edges of a certain node of a graph.


Member Function Documentation

void first ( Node &   )  const [inline]

Gives back the first node in the iterating order.

void next ( Node &   )  const [inline]

Gives back the next node in the iterating order.

void first ( Edge &   )  const [inline]

Gives back the first edge in the iterating order.

void next ( Edge &   )  const [inline]

Gives back the next edge in the iterating order.

void firstIn ( Edge &  ,
const Node &   
) const [inline]

Gives back the first of the edges point to the given node.

void nextIn ( Edge &   )  const [inline]

Gives back the next of the edges points to the given node.

void firstOut ( Edge &  ,
const Node &   
) const [inline]

Gives back the first of the edges start from the given node.

void nextOut ( Edge &   )  const [inline]

Gives back the next of the edges start from the given node.

Node baseNode ( const InEdgeIt  )  const [inline]

Gives back the base node of the iterator. It is always the target of the pointed edge.

Reimplemented in IterableUGraphComponent< _Base >, and IterableUGraphComponent< _Base >.

Node runningNode ( const InEdgeIt  )  const [inline]

Gives back the running node of the iterator. It is always the source of the pointed edge.

Reimplemented in IterableUGraphComponent< _Base >, and IterableUGraphComponent< _Base >.

Node baseNode ( const OutEdgeIt  )  const [inline]

Gives back the base node of the iterator. It is always the source of the pointed edge.

Reimplemented in IterableUGraphComponent< _Base >, and IterableUGraphComponent< _Base >.

Node runningNode ( const OutEdgeIt  )  const [inline]

Gives back the running node of the iterator. It is always the target of the pointed edge.

Reimplemented in IterableUGraphComponent< _Base >, and IterableUGraphComponent< _Base >.


Generated on Thu Jun 4 04:06:50 2009 for LEMON by  doxygen 1.5.9