Loading...
Searching...
No Matches
StaticPath< GR > Class Template Reference
Data Structures » Path Structures

## Detailed Description

template<typename GR>
class lemon::StaticPath< GR >

A structure for representing directed path in a digraph.

Template Parameters

  GR | The digraph type in which the path is.

In a sense, the path can be treated as a list of arcs. The LEMON path type stores just this list. As a consequence it cannot enumerate the nodes in the path and the source node of a zero length path is undefined.

This implementation is completly static, i.e. it can be copy constucted or copy assigned from another path, but otherwise it cannot be modified.

Being the the most memory efficient path type in LEMON, it is intented to be used when you want to store a large number of paths.

`#include <lemon/path.h>`

## Classes

class | ArcIt
| Iterator class to iterate on the arcs of the paths. More...

## Public Member Functions

| StaticPath ()
| Default constructor.
| StaticPath (const StaticPath &cpath)
| Copy constructor.
template<typename CPath>
| StaticPath (const CPath &cpath)
| Template copy constructor.
| ~StaticPath ()
| Destructor of the path.
StaticPath & | operator= (const StaticPath &cpath)
| Copy assignment.
template<typename CPath>
StaticPath & | operator= (const CPath &cpath)
| Template copy assignment.
const Arc & | nth (int n) const
| The n-th arc.
ArcIt | nthIt (int n) const
| The arc iterator pointing to the n-th arc.
int | length () const
| The length of the path.
int | empty () const
| Return true when the path is empty.
void | clear ()
| Erase all arcs in the digraph.
const Arc & | front () const
| The first arc of the path.
const Arc & | back () const
| The last arc of the path.

## Constructor & Destructor Documentation

## StaticPath() [1/2]

template<typename GR>

StaticPath | ( |  | ) |

inline

Default constructor

## StaticPath() [2/2]

template<typename GR>
template<typename CPath>

StaticPath | ( | const CPath & | cpath | ) |

inline

This path can be initialized from any other path type.

## ~StaticPath()

template<typename GR>

~StaticPath | ( |  | ) |

inline

Destructor of the path

## Member Function Documentation

## operator=()

template<typename GR>
template<typename CPath>

StaticPath & operator= | ( | const CPath & | cpath | ) |

inline

This path can be made equal to any other path type. It simply makes a copy of the given path.

## nth()

template<typename GR>

const Arc & nth | ( | int | n | ) | const

inline

Precondition
  `n` is in the [0..length() - 1] range.