Loading...
Searching...
No Matches
DijkstraWizardDefaultTraits< GR, LEN > Struct Template Reference

## Detailed Description

template<class GR, class LEN>
struct lemon::DijkstraWizardDefaultTraits< GR, LEN >

Default traits class of dijkstra() function.

Template Parameters

  GR | The type of the digraph.
  LEN | The type of the length map.

`#include <lemon/dijkstra.h>`

Inheritance diagram for DijkstraWizardDefaultTraits< GR, LEN >:
[legend]

## Public Types

typedef GR | Digraph
| The type of the digraph the algorithm runs on.
typedef LEN | LengthMap
| The type of the map that stores the arc lengths.
typedef LEN::Value | Value
| The type of the arc lengths.
typedef DijkstraDefaultOperationTraits< Value > | OperationTraits
| Operation traits for Dijkstra algorithm.
typedef Digraph::template NodeMap< int > | HeapCrossRef
| The cross reference type used by the heap.
typedef BinHeap< Value, typename Digraph::template NodeMap< int >, std::less< Value > > | Heap
| The heap type used by the Dijkstra algorithm.
typedef Digraph::template NodeMap< typename Digraph::Arc > | PredMap
| The type of the map that stores the predecessor arcs of the shortest paths.
typedef NullMap< typename Digraph::Node, bool > | ProcessedMap
| The type of the map that indicates which nodes are processed.
typedef Digraph::template NodeMap< typename LEN::Value > | DistMap
| The type of the map that stores the distances of the nodes.
typedef lemon::Path< Digraph > | Path
| The type of the shortest paths.

## Static Public Member Functions

static HeapCrossRef * | createHeapCrossRef (const Digraph &g)
| Instantiates a HeapCrossRef.
static Heap * | createHeap (HeapCrossRef &r)
| Instantiates a Heap.
static PredMap * | createPredMap (const Digraph &g)
| Instantiates a PredMap.
static ProcessedMap * | createProcessedMap (const Digraph &g)
| Instantiates a ProcessedMap.
static DistMap * | createDistMap (const Digraph &g)
| Instantiates a DistMap.

## Member Typedef Documentation

## LengthMap

template<class GR, class LEN>

typedef LEN LengthMap

The type of the map that stores the arc lengths. It must conform to the ReadMap concept.

## OperationTraits

template<class GR, class LEN>

typedef DijkstraDefaultOperationTraits<Value> OperationTraits

This class defines the operations that are used in the algorithm.

See also
  DijkstraDefaultOperationTraits

## HeapCrossRef

template<class GR, class LEN>

typedef Digraph::template NodeMap<int> HeapCrossRef

The cross reference type used by the heap. Usually it is `Digraph::NodeMap<int>`.

## Heap

template<class GR, class LEN>

typedef BinHeap<Value, typename Digraph::template NodeMap<int>, std::less<Value> > Heap

The heap type used by the Dijkstra algorithm.

See also
  BinHeap
  Dijkstra

## PredMap

template<class GR, class LEN>

typedef Digraph::template NodeMap<typename Digraph::Arc> PredMap

The type of the map that stores the predecessor arcs of the shortest paths. It must conform to the WriteMap concept.

## ProcessedMap

template<class GR, class LEN>

typedef NullMap<typename Digraph::Node,bool> ProcessedMap

The type of the map that indicates which nodes are processed. It must conform to the WriteMap concept. By default, it is a NullMap.

## DistMap

template<class GR, class LEN>

typedef Digraph::template NodeMap<typename LEN::Value> DistMap

The type of the map that stores the distances of the nodes. It must conform to the WriteMap concept.

## Path

template<class GR, class LEN>

typedef lemon::Path<Digraph> Path

The type of the shortest paths. It must conform to the Path concept.

## Member Function Documentation

## createHeapCrossRef()

template<class GR, class LEN>

HeapCrossRef * createHeapCrossRef | ( | const Digraph & | g | ) |

inline static

This function instantiates a HeapCrossRef.

Parameters

  g | is the digraph, to which we would like to define the HeapCrossRef.

## createHeap()

template<class GR, class LEN>

Heap * createHeap | ( | HeapCrossRef & | r | ) |

inline static

This function instantiates a Heap.

Parameters

  r | is the HeapCrossRef which is used.

## createPredMap()

template<class GR, class LEN>

PredMap * createPredMap | ( | const Digraph & | g | ) |

inline static

This function instantiates a PredMap.

Parameters

  g | is the digraph, to which we would like to define the PredMap.

## createProcessedMap()

template<class GR, class LEN>

ProcessedMap * createProcessedMap | ( | const Digraph & | g | ) |

inline static

This function instantiates a ProcessedMap.

Parameters

  g | is the digraph, to which we would like to define the ProcessedMap.

## createDistMap()

template<class GR, class LEN>

DistMap * createDistMap | ( | const Digraph & | g | ) |

inline static

This function instantiates a DistMap.

Parameters

  g | is the digraph, to which we would like to define the DistMap