My Project
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
 This iterator goes through each edge. More...
 
typedef GraphIncIt< Graph, Edge, Node, 'e'> IncEdgeIt
 This iterator goes trough the incident edges of a node. More...
 
Node baseNode (const IncEdgeIt &) const
 The base node of the iterator. More...
 
Node runningNode (const IncEdgeIt &) const
 The running node of the iterator. More...
 

Public Member Functions

Base Iteration

This interface provides functions for iteration on edges.

void first (Edge &) const
 Return the first edge. More...
 
void next (Edge &) const
 Return the next edge. More...
 
void firstInc (Edge &, bool &, const Node &) const
 Return the first edge incident to the given node. More...
 
void nextInc (Edge &, bool &) const
 Gives back the next of the edges from the given node. More...
 
- Public Member Functions inherited from IterableDigraphComponent< BaseGraphComponent >
void first (Node &) const
 Return the first node. More...
 
void first (Arc &) const
 Return the first arc. More...
 
void next (Node &) const
 Return the next node. More...
 
void next (Arc &) const
 Return the next arc. More...
 
void firstIn (Arc &, const Node &) const
 Return the first arc incoming to the given node. More...
 
void nextIn (Arc &) const
 Return the next arc incoming to the given node. More...
 
void firstOut (Arc &, const Node &) const
 Return the first arc outgoing form the given node. More...
 
void nextOut (Arc &) const
 Return the next arc outgoing form the given node. More...
 
Node baseNode (const InArcIt &) const
 The base node of the iterator. More...
 
Node baseNode (const OutArcIt &) const
 The base node of the iterator. More...
 
Node runningNode (const InArcIt &) const
 The running node of the iterator. More...
 
Node runningNode (const OutArcIt &) const
 The running node of the iterator. More...
 
- Public Member Functions inherited from BaseGraphComponent
Node u (const Edge &) const
 Return one end node of an edge. More...
 
Node v (const Edge &) const
 Return the other end node of an edge. More...
 
Arc direct (const Edge &, bool) const
 Return a directed arc related to an edge. More...
 
Arc direct (const Edge &, const Node &) const
 Return a directed arc related to an edge. More...
 
bool direction (const Arc &) const
 Return the direction of the arc. More...
 
Arc oppositeArc (const Arc &) const
 Return the opposite arc. More...
 
- Public Member Functions inherited from BaseDigraphComponent
Node source (const Arc &) const
 Return the source node of an arc. More...
 
Node target (const Arc &) const
 Return the target node of an arc. More...
 
Node oppositeNode (const Node &, const Arc &) const
 Return the opposite node on the given arc. More...
 

Additional Inherited Members

- Public Types inherited from IterableDigraphComponent< BaseGraphComponent >
typedef GraphItemIt< Digraph, NodeNodeIt
 This iterator goes through each node. More...
 
typedef GraphItemIt< Digraph, ArcArcIt
 This iterator goes through each arc. More...
 
typedef GraphIncIt< Digraph, Arc, Node, 'i'> InArcIt
 This iterator goes trough the incoming arcs of a node. More...
 
typedef GraphIncIt< Digraph, Arc, Node, 'o'> OutArcIt
 This iterator goes trough the outgoing arcs of a node. More...
 
- Public Types inherited from BaseDigraphComponent
typedef GraphItem< 'n'> Node
 Node class of the digraph. More...
 
typedef GraphItem< 'a'> Arc
 Arc class of the digraph. More...
 

Member Typedef Documentation

◆ EdgeIt

typedef GraphItemIt<Graph, Edge> EdgeIt

This iterator goes through each edge.

◆ IncEdgeIt

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

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

Member Function Documentation

◆ first()

void first ( Edge &  ) const
inline

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

◆ next()

void next ( Edge &  ) const
inline

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

◆ firstInc()

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.

◆ nextInc()

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.

◆ baseNode()

Node baseNode ( const IncEdgeIt ) const
inline

This function gives back the base node of the iterator.

◆ runningNode()

Node runningNode ( const IncEdgeIt ) const
inline

This function gives back the running node of the iterator.