SimplePath< GR > Class Template Reference

- 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 Member Functions
SimplePath< GR > Class Template Reference
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. More...
| SimplePath (const SimplePath &cpath)
| Copy constructor.
template<typename CPath >
| SimplePath (const CPath &cpath)
| Template copy constructor. More...
SimplePath & | operator= (const SimplePath &cpath)
| Copy assignment.
template<typename CPath >
SimplePath & | operator= (const CPath &cpath)
| Template copy assignment. More...
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. More...
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 | ( |  | ) |
| inline

Default constructor

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

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.

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

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