All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions
PathDumper< GR > Class Template Reference

Detailed Description

template<typename GR>
class lemon::concepts::PathDumper< GR >

A skeleton structure for path dumpers. The path dumpers are the generalization of the paths. The path dumpers can enumerate the arcs of the path wheter in forward or in backward order. In most time these classes are not used directly rather it used to assign a dumped class to a real path type.

The main purpose of this concept is that the shortest path algorithms can enumerate easily the arcs in reverse order. If we would like to give back a real path from these algorithms then we should create a temporarly path object. In LEMON such algorithms gives back a path dumper what can assigned to a real path and the dumpers can be implemented as an adaptor class to the predecessor map.

Template Parameters
GRThe digraph type in which the path is.

The paths can be constructed from any path type by a template constructor or a template assignment operator.

#include <lemon/concepts/path.h>

Classes

class  ArcIt
 LEMON style iterator for path arcs. More...
 
class  RevArcIt
 LEMON style iterator for path arcs. More...
 

Public Types

typedef GR Digraph
 Type of the underlying digraph.
 
typedef Digraph::Arc Arc
 Arc type of the underlying digraph.
 
typedef False RevPathTag
 Forward or reverse dumping.
 

Public Member Functions

int length () const
 Length of the path ie. the number of arcs in the path.
 
bool empty () const
 Returns whether the path is empty.
 

Member Typedef Documentation

typedef False RevPathTag

If the RevPathTag is defined and true then reverse dumping is provided in the path dumper. In this case instead of the ArcIt the RevArcIt iterator should be implemented in the dumper.