All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
Suurballe< GR, LEN, TR >::SetHeap< H, CR > Struct Template Reference

Detailed Description

template<typename GR, typename LEN, typename TR>
template<typename H, typename CR = typename Digraph::template NodeMap<int>>
struct lemon::Suurballe< GR, LEN, TR >::SetHeap< H, CR >

Named parameter for setting Heap and HeapCrossRef types with automatic allocation. They will be used for internal Dijkstra computations. The heap type must conform to the Heap concept and its priority type must be Length.

#include <lemon/suurballe.h>

+ Inheritance diagram for Suurballe< GR, LEN, TR >::SetHeap< H, CR >:

Additional Inherited Members

- Public Types inherited from Suurballe< GR, LEN, SetHeapTraits< H, CR > >
typedef SetHeapTraits< H, CR >
::Digraph 
Digraph
 The type of the digraph.
 
typedef SetHeapTraits< H, CR >
::LengthMap 
LengthMap
 The type of the length map.
 
typedef SetHeapTraits< H, CR >
::Length 
Length
 The type of the lengths.
 
typedef SetHeapTraits< H, CR >
::FlowMap 
FlowMap
 The type of the flow map.
 
typedef SetHeapTraits< H, CR >
::PotentialMap 
PotentialMap
 The type of the potential map.
 
typedef SetHeapTraits< H, CR >
::Path 
Path
 The type of the path structures.
 
typedef SetHeapTraits< H, CR >
::HeapCrossRef 
HeapCrossRef
 The cross reference type used for the heap.
 
typedef SetHeapTraits< H, CR >
::Heap 
Heap
 The heap type used for internal Dijkstra computations.
 
typedef SetHeapTraits< H, CR > Traits
 The traits class of the algorithm.
 
- Public Member Functions inherited from Suurballe< GR, LEN, SetHeapTraits< H, CR > >
 Suurballe (const Digraph &graph, const LengthMap &length)
 Constructor.
 
 ~Suurballe ()
 Destructor.
 
SuurballeflowMap (FlowMap &map)
 Set the flow map.
 
SuurballepotentialMap (PotentialMap &map)
 Set the potential map.
 
const FlowMapflowMap () const
 Return a const reference to an arc map storing the found flow.
 
const PotentialMappotentialMap () const
 Return a const reference to a node map storing the found potentials (the dual solution).
 
Length totalLength () const
 Return the total length of the found paths.
 
int flow (const Arc &arc) const
 Return the flow value on the given arc.
 
Length potential (const Node &node) const
 Return the potential of the given node.
 
int pathNum () const
 Return the number of the found paths.
 
const Pathpath (int i) const
 Return a const reference to the specified path.
 
int run (const Node &s, const Node &t, int k=2)
 Run the algorithm.
 
void init (const Node &s)
 Initialize the algorithm.
 
void fullInit (const Node &s)
 Initialize the algorithm and perform Dijkstra.
 
int start (const Node &t, int k=2)
 Execute the algorithm.
 
int findFlow (const Node &t, int k=2)
 Execute the algorithm to find an optimal flow.
 
void findPaths ()
 Compute the paths from the flow.