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

## Detailed Description

template<typename GR>
class lemon::SimplePath< 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 zero length paths cannot store the source.

This implementation is a just back insertable and erasable path type. It can be indexed in O(1) time. The back insertion and erasure is amortized O(1) time. This implementation is faster then the `Path` type because it use just one vector for the arcs.

`#include <lemon/path.h>`

## Classes

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

## Public Member Functions

| SimplePath ()
| Default constructor.
| SimplePath (const SimplePath &cpath)
| Copy constructor.
template<typename CPath>
| SimplePath (const CPath &cpath)
| Template copy constructor.
SimplePath & | operator= (const SimplePath &cpath)
| Copy assignment.
template<typename CPath>
SimplePath & | operator= (const CPath &cpath)
| Template copy assignment.
int | length () const
| Length of the path.
bool | empty () const
| Return true if the path is empty.
void | clear ()
| Reset the path to an empty one.
const Arc & | nth (int n) const
| The n-th arc.
ArcIt | nthIt (int n) const
| Initializes arc iterator to point to the n-th arc.
const Arc & | front () const
| The first arc of the path.
const Arc & | back () const
| The last arc of the path.
void | addBack (const Arc &arc)
| Add a new arc behind the current path.
void | eraseBack ()
| Erase the last arc of the path.

## Constructor & Destructor Documentation

## SimplePath() [1/2]

template<typename GR>

SimplePath | ( |  | ) |

inline

Default constructor

## SimplePath() [2/2]

template<typename GR>
template<typename CPath>

SimplePath | ( | const CPath & | cpath | ) |

inline

This path can be initialized with any other path type. It just makes a copy of the given path.

## Member Function Documentation

## operator=()

template<typename GR>
template<typename CPath>

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

inline

This path can be initialized with any other path type. It just 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.