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>

List of all members.

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.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines