Dijkstra< GR, LEN, TR >::SetHeap< H, CR > Struct Template Reference

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

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
List of all members
Dijkstra< GR, LEN, TR >::SetHeap< 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 >::SetHeap< H, CR >

Named parameter for setting heap and cross reference types. If this named parameter is used, then external heap and cross reference objects must be passed to the algorithm using the heap() function before calling run() or init().

See Also
  SetStandardHeap

`#include <lemon/dijkstra.h>`

Inheritance diagram for Dijkstra< GR, LEN, TR >::SetHeap< H, CR >:
[legend]

## Additional Inherited Members
Public Types inherited from Dijkstra< Digraph, LengthMap, SetHeapTraits< H, CR > >
typedef SetHeapTraits< H, CR > ::Digraph | Digraph
| The type of the digraph the algorithm runs on.
typedef SetHeapTraits< H, CR > ::Value | Value
| The type of the arc lengths.
typedef SetHeapTraits< H, CR > ::LengthMap | LengthMap
| The type of the map that stores the arc lengths.
typedef SetHeapTraits< H, CR > ::PredMap | PredMap
| The type of the map that stores the predecessor arcs of the shortest paths.
typedef SetHeapTraits< H, CR > ::DistMap | DistMap
| The type of the map that stores the distances of the nodes.
typedef SetHeapTraits< H, CR > ::ProcessedMap | ProcessedMap
| The type of the map that indicates which nodes are processed.
typedef PredMapPath< Digraph, PredMap > | Path
| The type of the paths.
typedef SetHeapTraits< H, CR > ::HeapCrossRef | HeapCrossRef
| The cross reference type used for the current heap.
typedef SetHeapTraits< H, CR > ::Heap | Heap
| The heap type used by the algorithm.
typedef SetHeapTraits< H, CR > ::OperationTraits | OperationTraits
| The operation traits class of the algorithm.
typedef SetHeapTraits< H, CR > | Traits
| The traits class of the algorithm.
Public Member Functions inherited from Dijkstra< Digraph, LengthMap, SetHeapTraits< H, CR > >
| Dijkstra (const Digraph &g, const LengthMap &length)
| Constructor. More...
| ~Dijkstra ()
| Destructor.
Dijkstra & | lengthMap (const LengthMap &m)
| Sets the length map. More...
Dijkstra & | predMap (PredMap &m)
| Sets the map that stores the predecessor arcs. More...
Dijkstra & | processedMap (ProcessedMap &m)
| Sets the map that indicates which nodes are processed. More...
Dijkstra & | distMap (DistMap &m)
| Sets the map that stores the distances of the nodes. More...
Dijkstra & | heap (Heap &hp, HeapCrossRef &cr)
| Sets the heap and the cross reference used by algorithm. More...
const PredMap & | predMap () const
| Returns a const reference to the node map that stores the predecessor arcs. More...
const DistMap & | distMap () 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...