My Project
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 >:

Class Based Iteration

This interface provides iterator classes for digraph items.

typedef GraphItemIt< Digraph, NodeNodeIt
 This iterator goes through each node.
typedef GraphItemIt< Digraph, ArcArcIt
 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.