Loading...
Searching...
No Matches
IterableDigraphComponent< BAS > Class Template Reference

## Detailed Description

template<typename BAS = BaseDigraphComponent>
class lemon::concepts::IterableDigraphComponent< BAS >

This class describes the interface of iterable directed graphs. It extends BaseDigraphComponent with the core iterable interface. This concept is part of the Digraph concept.

`#include <lemon/concepts/graph_components.h>`

Inheritance diagram for IterableDigraphComponent< BAS >:
[legend]

## Class Based Iteration

This interface provides iterator classes for digraph items.
typedef GraphItemIt< Digraph, Node > | NodeIt
| This iterator goes through each node.
typedef GraphItemIt< Digraph, Arc > | ArcIt
| This iterator goes through each arc.
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.
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.

## Public Member Functions

Base Iteration
This interface provides functions for iteration on digraph items.
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.
Public Member Functions inherited from BaseDigraphComponent
Node | source (const Arc &) const
| Return the source node of an arc.
Node | target (const Arc &) const
| Return the target node of an arc.
Node | oppositeNode (const Node &, const Arc &) const
| Return the opposite node on the given arc.

## Additional Inherited Members

Public Types inherited from BaseDigraphComponent
typedef GraphItem< 'n'> | Node
| Node class of the digraph.
typedef GraphItem< 'a'> | Arc
| Arc class of the digraph.

## Member Typedef Documentation

## NodeIt

template<typename BAS = BaseDigraphComponent>

typedef GraphItemIt<Digraph, Node> NodeIt

This iterator goes through each node.

## ArcIt

template<typename BAS = BaseDigraphComponent>

typedef GraphItemIt<Digraph, Arc> ArcIt

This iterator goes through each arc.

## InArcIt

template<typename BAS = BaseDigraphComponent>

typedef GraphIncIt<Digraph, Arc, Node, 'i'> InArcIt

This iterator goes trough the incoming arcs of a certain node of a digraph.

## OutArcIt

template<typename BAS = BaseDigraphComponent>

typedef GraphIncIt<Digraph, Arc, Node, 'o'> OutArcIt

This iterator goes trough the outgoing arcs of a certain node of a digraph.

## Member Function Documentation

## first() [1/2]

template<typename BAS = BaseDigraphComponent>

void first | ( | Node & |  | ) | const

inline

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

## next() [1/2]

template<typename BAS = BaseDigraphComponent>

void next | ( | Node & |  | ) | const

inline

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

## first() [2/2]

template<typename BAS = BaseDigraphComponent>

void first | ( | Arc & |  | ) | const

inline

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

## next() [2/2]

template<typename BAS = BaseDigraphComponent>

void next | ( | Arc & |  | ) | const

inline

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

## firstIn()

template<typename BAS = BaseDigraphComponent>

void firstIn | ( | Arc & | ,
|  | const Node & | ) const

inline

This function gives back the first arc incoming to the given node.

## nextIn()

template<typename BAS = BaseDigraphComponent>

void nextIn | ( | Arc & |  | ) | const

inline

This function gives back the next arc incoming to the given node.

## firstOut()

template<typename BAS = BaseDigraphComponent>

void firstOut | ( | Arc & | ,
|  | const Node & | ) const

inline

This function gives back the first arc outgoing form the given node.

## nextOut()

template<typename BAS = BaseDigraphComponent>

void nextOut | ( | Arc & |  | ) | const

inline

This function gives back the next arc outgoing form the given node.

## baseNode() [1/2]

template<typename BAS = BaseDigraphComponent>

Node baseNode | ( | const InArcIt & |  | ) | const

inline

This function gives back the base node of the iterator. It is always the target node of the pointed arc.

## runningNode() [1/2]

template<typename BAS = BaseDigraphComponent>

Node runningNode | ( | const InArcIt & |  | ) | const

inline

This function gives back the running node of the iterator. It is always the source node of the pointed arc.

## baseNode() [2/2]

template<typename BAS = BaseDigraphComponent>

Node baseNode | ( | const OutArcIt & |  | ) | const

inline

This function gives back the base node of the iterator. It is always the source node of the pointed arc.

## runningNode() [2/2]

template<typename BAS = BaseDigraphComponent>

Node runningNode | ( | const OutArcIt & |  | ) | const

inline

This function gives back the running node of the iterator. It is always the target node of the pointed arc.