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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Classes | Files | Functions
Path Structures
Data Structures

## Detailed Description

This group contains the path structures implemented in LEMON.

LEMON provides flexible data structures to work with paths. All of them have similar interfaces and they can be copied easily with assignment operators and copy constructors. This makes it easy and efficient to have e.g. the Dijkstra algorithm to store its result in any kind of path structure.

See Also
  Path concept

## Classes
class | Path< GR >
| A structure for representing directed paths in a digraph. More...
class | SimplePath< GR >
| A structure for representing directed paths in a digraph. More...
class | ListPath< GR >
| A structure for representing directed paths in a digraph. More...
class | StaticPath< GR >
| A structure for representing directed paths in a digraph. More...
class | PathNodeIt< Path >
| Class which helps to iterate through the nodes of a path. More...

## Files
file | path.h
| Classes for representing paths in digraphs.

## Functions
template<typename From , typename To >
void | pathCopy (const From &from, To &to)
| Make a copy of a path. More...
template<typename To , typename From >
void | copyPath (To &to, const From &from)
| Deprecated version of pathCopy(). More...
template<typename Digraph , typename Path >
bool | checkPath (const Digraph &digraph, const Path &path)
| Check the consistency of a path. More...
template<typename Digraph , typename Path >
Digraph::Node | pathSource (const Digraph &digraph, const Path &path)
| The source of a path. More...
template<typename Digraph , typename Path >
Digraph::Node | pathTarget (const Digraph &digraph, const Path &path)
| The target of a path. More...

## Function Documentation

void lemon::pathCopy | ( | const From & | from,
|  | To & | to
| ) |  |

This function makes a copy of a path.

void lemon::copyPath | ( | To & | to,
|  | const From & | from
| ) |  |

Deprecated version of pathCopy() (only for reverse compatibility).

bool lemon::checkPath | ( | const Digraph & | digraph,
|  | const Path & | path
| ) |  |

This function checks that the target of each arc is the same as the source of the next one.

Digraph::Node lemon::pathSource | ( | const Digraph & | digraph,
|  | const Path & | path
| ) |  |

This function returns the source node of the given path. If the path is empty, then it returns `INVALID`.

Digraph::Node lemon::pathTarget | ( | const Digraph & | digraph,
|  | const Path & | path
| ) |  |

This function returns the target node of the given path. If the path is empty, then it returns `INVALID`.