All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions
Path< GR > Class Template Reference

Detailed Description

template<typename GR>
class lemon::concepts::Path< GR >

A skeleton structure for representing directed paths in a digraph. In a sense, a path can be treated as a list of arcs. LEMON path types just store this list. As a consequence, they cannot enumerate the nodes on the path directly and a zero length path cannot store its source node.

The arcs of a path should be stored in the order of their directions, i.e. the target node of each arc should be the same as the source node of the next arc. This consistency could be checked using checkPath(). The source and target nodes of a (consistent) path can be obtained using pathSource() and pathTarget().

A path can be constructed from another path of any type using the copy constructor or the assignment operator.

Template Parameters
GRThe digraph type in which the path is.

#include <lemon/concepts/path.h>

Classes

class  ArcIt
 LEMON style iterator for enumerating the arcs of a path. More...
 

Public Types

typedef GR Digraph
 Type of the underlying digraph.
 
typedef Digraph::Arc Arc
 Arc type of the underlying digraph.
 

Public Member Functions

 Path ()
 Default constructor.
 
template<typename CPath >
 Path (const CPath &cpath)
 Template copy constructor.
 
template<typename CPath >
Pathoperator= (const CPath &cpath)
 Template assigment operator.
 
int length () const
 Length of the path, i.e. the number of arcs on the path.
 
bool empty () const
 Returns whether the path is empty.
 
void clear ()
 Resets the path to an empty path.