IterableGraphComponent Class Template Reference

#include <lemon/concepts/graph_components.h>

Inherited by IterableUGraphComponent.

Inheritance diagram for IterableGraphComponent:

Inheritance graph
[legend]
List of all members.

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.


Class based iteration

This interface provides functions for iteration on graph items

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 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
 Gives back the first node in the iterating order.
void next (Node &) const
 Gives back the next node in the iterating order.
void first (Edge &) const
 Gives back the first edge in the iterating order.
void next (Edge &) const
 Gives back the next edge in the iterating order.
void firstIn (Edge &, const Node &) const
 Gives back the first of the edges point to the given node.
void nextIn (Edge &) const
 Gives back the next of the edges points to the given node.
void firstOut (Edge &, const Node &) const
 Gives back the first of the edges start from the given node.
void nextOut (Edge &) const
 Gives back the next of the edges start from the given node.


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.

Node runningNode ( const InEdgeIt  )  const [inline]

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

Node baseNode ( const OutEdgeIt  )  const [inline]

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

Node runningNode ( const OutEdgeIt  )  const [inline]

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


The documentation for this class was generated from the following file:
Generated on Tue Oct 31 09:51:40 2006 for LEMON by  doxygen 1.5.1