[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

details AdjacencyListGraph Class Reference VIGRA

undirected adjacency list graph in the LEMON API More...

#include <vigra/adjacency_list_graph.hxx>

Classes

struct  ArcMap
 default arc map More...
 
struct  EdgeMap
 default edge map More...
 
struct  NodeMap
 default node map More...
 

Public Types

typedef detail::GenericArc
< index_type > 
Arc
 arc descriptor
 
typedef
detail_adjacency_list_graph::ArcIt
< GraphType
ArcIt
 arc iterator
 
typedef detail::GenericEdge
< index_type > 
Edge
 edge descriptor
 
typedef
detail_adjacency_list_graph::ItemIter
< GraphType, Edge
EdgeIt
 edge iterator
 
typedef
detail::GenericIncEdgeIt
< GraphType, NodeStorage,
InFlter > 
InArcIt
 incoming arc iterator
 
typedef
detail::GenericIncEdgeIt
< GraphType, NodeStorage,
IncFilter > 
IncEdgeIt
 incident edge iterator
 
typedef detail::GenericNode
< index_type > 
Node
 node descriptor
 
typedef
detail_adjacency_list_graph::ItemIter
< GraphType, Node
NodeIt
 node iterator
 
typedef
detail::GenericIncEdgeIt
< GraphType, NodeStorage,
OutFilter > 
OutArcIt
 outgoing arc iterator
 
typedef
detail::GenericIncEdgeIt
< GraphType, NodeStorage,
BackOutFilter > 
OutBackArcIt
 outgoing back arc iterator
 

Public Member Functions

 AdjacencyListGraph (const size_t nodes=0, const size_t edges=0)
 Constructor. More...
 
Arc arcFromId (const index_type id) const
 Get arc descriptor for given node ID i (API: LEMON). Return Arc(lemon::INVALID) when the ID does not exist in this graph.
 
index_type arcNum () const
 Get the number of arcs in this graph (API: LEMON).
 
Node baseNode (const IncEdgeIt &iter) const
 Return the start node of the edge the given iterator is referring to (API: LEMON).
 
Node baseNode (const OutArcIt &iter) const
 Return the start node of the edge the given iterator is referring to (API: LEMON).
 
Arc direct (const Edge &edge, const bool forward) const
 Create an arc for the given edge e, oriented along the edge's natural (forward = true) or reversed (forward = false) direction (API: LEMON).
 
Arc direct (const Edge &edge, const Node &node) const
 Create an arc for the given edge e oriented so that node n is the starting node of the arc (API: LEMON), or return lemon::INVALID if the edge is not incident to this node.
 
bool direction (const Arc &arc) const
 Return true when the arc is looking on the underlying edge in its natural (i.e. forward) direction, false otherwise (API: LEMON).
 
Edge edgeFromId (const index_type id) const
 Get edge descriptor for given node ID i (API: LEMON). Return Edge(lemon::INVALID) when the ID does not exist in this graph.
 
index_type edgeNum () const
 Get the number of edges in this graph (API: LEMON).
 
Arc findArc (const Node &u, const Node &v) const
 Get a descriptor for the arc connecting vertices u and v,
or lemon::INVALID if no such edge exists (API: LEMON).
 
Edge findEdge (const Node &a, const Node &b) const
 Get a descriptor for the edge connecting vertices u and v,
or lemon::INVALID if no such edge exists (API: LEMON).
 
index_type id (const Node &node) const
 Get the ID for node desciptor v (API: LEMON).
 
index_type id (const Edge &edge) const
 Get the ID for edge desciptor v (API: LEMON).
 
index_type id (const Arc &arc) const
 Get the ID for arc desciptor v (API: LEMON).
 
index_type maxArcId () const
 Get the maximum ID of any edge in arc graph (API: LEMON).
 
index_type maxEdgeId () const
 Get the maximum ID of any edge in this graph (API: LEMON).
 
index_type maxNodeId () const
 Get the maximum ID of any node in this graph (API: LEMON).
 
Node nodeFromId (const index_type id) const
 Get node descriptor for given node ID i (API: LEMON). Return Node(lemon::INVALID) when the ID does not exist in this graph.
 
index_type nodeNum () const
 Get the number of nodes in this graph (API: LEMON).
 
Node oppositeNode (Node const &n, const Edge &e) const
 Return the opposite node of the given node n along edge e (API: LEMON), or return lemon::INVALID if the edge is not incident to this node.
 
Node runningNode (const IncEdgeIt &iter) const
 Return the end node of the edge the given iterator is referring to (API: LEMON).
 
Node runningNode (const OutArcIt &iter) const
 Return the end node of the edge the given iterator is referring to (API: LEMON).
 
Node source (const Arc &arc) const
 Get the start node of the given arc a (API: LEMON).
 
Node target (const Arc &arc) const
 Get the end node of the given arc a (API: LEMON).
 
Node u (const Edge &edge) const
 Get the start node of the given edge e (API: LEMON,
the boost::graph API provides the free function boost::source(e, graph)).
 
Node v (const Edge &edge) const
 Get the end node of the given edge e (API: LEMON,
the boost::graph API provides the free function boost::target(e, graph)).
 

Detailed Description

undirected adjacency list graph in the LEMON API

Examples:
graph_agglomerative_clustering.cxx.

Constructor & Destructor Documentation

AdjacencyListGraph ( const size_t  nodes = 0,
const size_t  edges = 0 
)

Constructor.

Parameters
nodes: reserve space for so many nodes
edges: reserve space for so many edges

The documentation for this class was generated from the following file:

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de)
Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany

html generated using doxygen and Python
vigra 1.11.1 (Fri May 19 2017)