All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
IterableGraphComponent< BAS > Class Template Reference

Detailed Description

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

This class describes the interface of iterable undirected graphs. It extends IterableDigraphComponent with the core iterable interface of undirected graphs. This concept is part of the Graph concept.

#include <lemon/concepts/graph_components.h>

+ Inheritance diagram for IterableGraphComponent< BAS >:

Class Based Iteration

This interface provides iterator classes for edges.

typedef GraphItemIt< Graph, Edge > EdgeIt
 
typedef GraphIncIt< Graph,
Edge, Node, 'e'> 
IncEdgeIt
 This iterator goes trough the incident edges of a node.
 
Node baseNode (const IncEdgeIt &) const
 The base node of the iterator.
 
Node runningNode (const IncEdgeIt &) const
 The running node of the iterator.
 

Public Member Functions

Base Iteration

This interface provides functions for iteration on edges.

void first (Edge &) const
 Return the first edge.
 
void next (Edge &) const
 Return the next edge.
 
void firstInc (Edge &, bool &, const Node &) const
 Return the first edge incident to the given node.
 
void nextInc (Edge &, bool &) const
 Gives back the next of the edges from the given node.
 
- Public Member Functions inherited from IterableDigraphComponent< BAS >
void first (Node &) const
 Return the first node.
 
void next (Node &) const
 Return the next node.
 
void first (Arc &) const
 Return the first arc.
 
void next (Arc &) const
 Return the next arc.
 
void firstIn (Arc &, const Node &) const
 Return the first arc incoming to the given node.
 
void nextIn (Arc &) const
 Return the next arc incoming to the given node.
 
void firstOut (Arc &, const Node &) const
 Return the first arc outgoing form the given node.
 
void nextOut (Arc &) const
 Return the next arc outgoing form the given node.
 
Node baseNode (const InArcIt &) const
 The base node of the iterator.
 
Node runningNode (const InArcIt &) const
 The running node of the iterator.
 
Node baseNode (const OutArcIt &) const
 The base node of the iterator.
 
Node runningNode (const OutArcIt &) const
 The running node of the iterator.
 

Additional Inherited Members

- Public Types inherited from IterableDigraphComponent< BAS >
typedef GraphItemIt< Digraph,
Node > 
NodeIt
 
typedef GraphItemIt< Digraph, Arc > ArcIt
 
typedef GraphIncIt< Digraph,
Arc, Node, 'i'> 
InArcIt
 This iterator goes trough the incoming arcs of a node.
 
typedef GraphIncIt< Digraph,
Arc, Node, 'o'> 
OutArcIt
 This iterator goes trough the outgoing arcs of a node.
 

Member Typedef Documentation

typedef GraphItemIt<Graph, Edge> EdgeIt

This iterator goes through each edge.

typedef GraphIncIt<Graph, Edge, Node, 'e'> IncEdgeIt

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

Member Function Documentation

void first ( Edge &  ) const
inline

This function gives back the first edge in the iteration order.

void next ( Edge &  ) const
inline

This function gives back the next edge in the iteration order.

void firstInc ( Edge &  ,
bool &  ,
const Node &   
) const
inline

This function gives back the first edge incident to the given node. The bool parameter gives back the direction for which the source node of the directed arc representing the edge is the given node.

void nextInc ( Edge &  ,
bool &   
) const
inline

This function gives back the next edge incident to the given node. The bool parameter should be used as firstInc() use it.

Node baseNode ( const IncEdgeIt ) const
inline

This function gives back the base node of the iterator.

Node runningNode ( const IncEdgeIt ) const
inline

This function gives back the running node of the iterator.