My Project
Loading...
Searching...
No Matches
AlterableDigraphComponent< BAS > Class Template Reference

Detailed Description

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

This class describes the interface of alterable directed graphs. It extends BaseDigraphComponent with the alteration notifier interface. It implements an observer-notifier pattern for each digraph item. More obsevers can be registered into the notifier and whenever an alteration occured in the digraph all the observers will be notified about it.

#include <lemon/concepts/graph_components.h>

Inheritance diagram for AlterableDigraphComponent< BAS >:

Public Types

typedef AlterationNotifier< AlterableDigraphComponent, NodeNodeNotifier
 Node alteration notifier class.
typedef AlterationNotifier< AlterableDigraphComponent, ArcArcNotifier
 Arc alteration notifier class.
Public Types inherited from BaseDigraphComponent
typedef GraphItem< 'n'> Node
 Node class of the digraph.
typedef GraphItem< 'a'> Arc
 Arc class of the digraph.

Public Member Functions

NodeNotifiernotifier (Node) const
 Return the node alteration notifier.
ArcNotifiernotifier (Arc) const
 Return the arc alteration notifier.
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.

Member Function Documentation

◆ notifier() [1/2]

template<typename BAS = BaseDigraphComponent>
NodeNotifier & notifier ( Node ) const
inline

This function gives back the node alteration notifier.

◆ notifier() [2/2]

template<typename BAS = BaseDigraphComponent>
ArcNotifier & notifier ( Arc ) const
inline

This function gives back the arc alteration notifier.