- Main Page
- Modules
- Classes
- Namespaces
- Files
- Related Pages

- Class List
- Class Index
- Class Hierarchy
- Class Members

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
Concepts

## 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

  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.