Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

DirPath Class Template Reference
[Path Structures]

#include <lemon/path.h>

List of all members.


Detailed Description

template<typename Graph>
class lemon::DirPath< Graph >

A structure for representing directed path in a graph.
Parameters:
Graph The graph type in which the path is.
DM DebugMode, defaults to DefaultDebugMode.
In a sense, the path can be treated as a graph, for is has NodeIt and EdgeIt with the same usage. These types converts to the Node and Edge of the original graph.

Todo:
Thoroughfully check all the range and consistency tests.


Public Types

typedef Graph::Edge GraphEdge
 Edge type of the underlying graph.
typedef Graph::Node GraphNode
 Node type of the underlying graph.

Public Member Functions

 DirPath (const Graph &_G)
 DirPath (const DirPath &P, const NodeIt &a, const NodeIt &b)
 Subpath constructor.
 DirPath (const DirPath &P, const EdgeIt &a, const EdgeIt &b)
 Subpath constructor.
int length () const
 Length of the path.
bool empty () const
 Returns whether the path is empty.
void clear ()
 Resets the path to an empty path.
GraphNode source () const
 Starting point of the path.
GraphNode target () const
 End point of the path.
template<typename It>
It & first (It &i) const
 Initializes node or edge iterator to point to the first node or edge.
NodeItnth (NodeIt &i, int n) const
 Initializes node iterator to point to the node of a given index.
EdgeItnth (EdgeIt &i, int n) const
 Initializes edge iterator to point to the edge of a given index.
NodeIt target (const EdgeIt &e) const
 Returns node iterator pointing to the target node of the given edge iterator.
NodeIt source (const EdgeIt &e) const
 Returns node iterator pointing to the source node of the given edge iterator.

Classes

class  Builder
 Class to build paths. More...
class  EdgeIt
 Iterator class to iterate on the edges of the paths. More...
class  NodeIt
 Iterator class to iterate on the nodes of the paths. More...


Constructor & Destructor Documentation

DirPath const Graph &  _G  )  [inline]
 

Parameters:
_G The graph in which the path is.

DirPath const DirPath< Graph > &  P,
const NodeIt a,
const NodeIt b
[inline]
 

Subpath defined by two nodes.

Warning:
It is an error if the two edges are not in order!

DirPath const DirPath< Graph > &  P,
const EdgeIt a,
const EdgeIt b
[inline]
 

Subpath defined by two edges. Contains edges in [a,b)

Warning:
It is an error if the two edges are not in order!


Member Function Documentation

GraphNode source  )  const [inline]
 

Starting point of the path. Returns INVALID if the path is empty.

GraphNode target  )  const [inline]
 

End point of the path. Returns INVALID if the path is empty.

It& first It &  i  )  const [inline]
 

See also:
nth


The documentation for this class was generated from the following file:
Generated on Sat Aug 27 14:16:08 2005 for LEMON by  doxygen 1.4.4