IterableGraphComponent< BAS > Class Template Reference

- Main Page
- Modules
- Classes
- Namespaces
- Files
- Related Pages

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 >:
[legend]

## 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< BAS >
void | first (Node &) const
| Return the first node. More...
void | next (Node &) const
| Return the next node. More...
void | first (Arc &) const
| Return the first arc. 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 | runningNode (const InArcIt &) const
| The running node of the iterator. More...
Node | baseNode (const OutArcIt &) const
| The base node of the iterator. More...
Node | runningNode (const OutArcIt &) const
| The running node of the iterator. More...

## 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.