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.
GR | The 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 > | |
Path & | operator= (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. | |