All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends 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...
 
class  Path< GR >::ArcIt
 LEMON style iterator for path arcs. More...
 
class  SimplePath< GR >::ArcIt
 Iterator class to iterate on the arcs of the paths. More...
 
class  ListPath< GR >::ArcIt
 Iterator class to iterate on the arcs of the paths. More...
 
class  StaticPath< GR >::ArcIt
 Iterator class to iterate on the arcs of the paths. 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.
 
template<typename To , typename From >
void copyPath (To &to, const From &from)
 Deprecated version of pathCopy().
 
template<typename Digraph , typename Path >
bool checkPath (const Digraph &digraph, const Path &path)
 Check the consistency of a path.
 
template<typename Digraph , typename Path >
Digraph::Node pathSource (const Digraph &digraph, const Path &path)
 The source of a path.
 
template<typename Digraph , typename Path >
Digraph::Node pathTarget (const Digraph &digraph, const Path &path)
 The target of a path.
 

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.