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.

Definition at line 66 of file path.h.

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.
size_t 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.

Definition at line 84 of file path.h.

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!

Definition at line 90 of file path.h.

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!

Definition at line 99 of file path.h.


Member Function Documentation

GraphNode source  )  const [inline]
 

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

Definition at line 116 of file path.h.

Here is the call graph for this function:

GraphNode target  )  const [inline]
 

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

Definition at line 123 of file path.h.

Here is the call graph for this function:

It& first It &  i  )  const [inline]
 

See also:
nth

Definition at line 132 of file path.h.


The documentation for this class was generated from the following file:
Generated on Sat Mar 19 10:58:54 2005 for LEMON by  doxygen 1.4.1