My Project
List of all members
Dijkstra< GR, LEN, TR >::SetStandardHeap< H, CR > Struct Template Reference

Detailed Description

template<typename GR, typename LEN, typename TR>
template<class H, class CR = typename Digraph::template NodeMap<int>>
struct lemon::Dijkstra< GR, LEN, TR >::SetStandardHeap< H, CR >

Named parameter for setting heap and cross reference types with automatic allocation. They should have standard constructor interfaces to be able to automatically created by the algorithm (i.e. the digraph should be passed to the constructor of the cross reference and the cross reference should be passed to the constructor of the heap). However, external heap and cross reference objects could also be passed to the algorithm using the heap() function before calling run() or init().

See also
SetHeap

#include <lemon/dijkstra.h>

+ Inheritance diagram for Dijkstra< GR, LEN, TR >::SetStandardHeap< H, CR >:

Additional Inherited Members

- Public Types inherited from Dijkstra< Digraph, LengthMap, SetStandardHeapTraits< H, typename Digraph::template NodeMap< int > > >
typedef SetStandardHeapTraits< H, typename Digraph::template NodeMap< int > > ::Digraph Digraph
 The type of the digraph the algorithm runs on.
 
typedef SetStandardHeapTraits< H, typename Digraph::template NodeMap< int > > ::Value Value
 The type of the arc lengths.
 
typedef SetStandardHeapTraits< H, typename Digraph::template NodeMap< int > > ::LengthMap LengthMap
 The type of the map that stores the arc lengths.
 
typedef SetStandardHeapTraits< H, typename Digraph::template NodeMap< int > > ::PredMap PredMap
 The type of the map that stores the predecessor arcs of the shortest paths.
 
typedef SetStandardHeapTraits< H, typename Digraph::template NodeMap< int > > ::DistMap DistMap
 The type of the map that stores the distances of the nodes.
 
typedef SetStandardHeapTraits< H, typename Digraph::template NodeMap< int > > ::ProcessedMap ProcessedMap
 The type of the map that indicates which nodes are processed.
 
typedef PredMapPath< Digraph, PredMapPath
 The type of the paths.
 
typedef SetStandardHeapTraits< H, typename Digraph::template NodeMap< int > > ::HeapCrossRef HeapCrossRef
 The cross reference type used for the current heap.
 
typedef SetStandardHeapTraits< H, typename Digraph::template NodeMap< int > > ::Heap Heap
 The heap type used by the algorithm.
 
typedef SetStandardHeapTraits< H, typename Digraph::template NodeMap< int > > ::OperationTraits OperationTraits
 The operation traits class of the algorithm.
 
typedef SetStandardHeapTraits< H, typename Digraph::template NodeMap< int > > Traits
 The traits class of the algorithm.
 
- Public Member Functions inherited from Dijkstra< Digraph, LengthMap, SetStandardHeapTraits< H, typename Digraph::template NodeMap< int > > >
 Dijkstra (const Digraph &g, const LengthMap &length)
 Constructor. More...
 
 ~Dijkstra ()
 Destructor.
 
DijkstralengthMap (const LengthMap &m)
 Sets the length map. More...
 
DijkstrapredMap (PredMap &m)
 Sets the map that stores the predecessor arcs. More...
 
DijkstraprocessedMap (ProcessedMap &m)
 Sets the map that indicates which nodes are processed. More...
 
DijkstradistMap (DistMap &m)
 Sets the map that stores the distances of the nodes. More...
 
Dijkstraheap (Heap &hp, HeapCrossRef &cr)
 Sets the heap and the cross reference used by algorithm. More...
 
const PredMappredMap () const
 Returns a const reference to the node map that stores the predecessor arcs. More...
 
const DistMapdistMap () const
 Returns a const reference to the node map that stores the distances of the nodes. More...
 
Path path (Node t) const
 The shortest path to the given node. More...
 
Value dist (Node v) const
 The distance of the given node from the root(s). More...
 
Arc predArc (Node v) const
 Returns the 'previous arc' of the shortest path tree for the given node. More...
 
Node predNode (Node v) const
 Returns the 'previous node' of the shortest path tree for the given node. More...
 
bool reached (Node v) const
 Checks if the given node is reached from the root(s). More...
 
bool processed (Node v) const
 Checks if a node is processed. More...
 
Value currentDist (Node v) const
 The current distance of the given node from the root(s). More...
 
void init ()
 Initializes the internal data structures. More...
 
void addSource (Node s, Value dst=OperationTraits::zero())
 Adds a new source node. More...
 
Node processNextNode ()
 Processes the next node in the priority heap. More...
 
Node nextNode () const
 The next node to be processed. More...
 
bool emptyQueue () const
 Returns false if there are nodes to be processed. More...
 
int queueSize () const
 Returns the number of the nodes to be processed. More...
 
void start ()
 Executes the algorithm. More...
 
void start (Node t)
 Executes the algorithm until the given target node is processed. More...
 
Node start (const NodeBoolMap &nm)
 Executes the algorithm until a condition is met. More...
 
void run (Node s)
 Runs the algorithm from the given source node. More...
 
bool run (Node s, Node t)
 Finds the shortest path between s and t. More...