Named parameter for setting Elevator type with automatic allocation. The Elevator should have standard constructor interface to be able to automatically created by the algorithm (i.e. the digraph and the maximum level should be passed to it). However an external elevator object could also be passed to the algorithm with the elevator() function before calling run() or init().
#include <lemon/preflow.h>
Additional Inherited Members | |
Public Types inherited from Preflow< Digraph, CapacityMap, SetStandardElevatorTraits< T > > | |
typedef SetStandardElevatorTraits< T > | Traits |
The traits class of the algorithm. | |
typedef Traits::Digraph | Digraph |
The type of the digraph the algorithm runs on. | |
typedef Traits::CapacityMap | CapacityMap |
The type of the capacity map. | |
typedef Traits::Value | Value |
The type of the flow values. | |
typedef Traits::FlowMap | FlowMap |
The type of the flow map. | |
typedef Traits::Elevator | Elevator |
The type of the elevator. | |
typedef Traits::Tolerance | Tolerance |
The type of the tolerance. | |
Public Member Functions inherited from Preflow< Digraph, CapacityMap, SetStandardElevatorTraits< T > > | |
Preflow (const Digraph &digraph, const CapacityMap &capacity, Node source, Node target) | |
The constructor of the class. | |
~Preflow () | |
Preflow & | capacityMap (const CapacityMap &map) |
Sets the capacity map. | |
Preflow & | flowMap (FlowMap &map) |
Sets the flow map. | |
Preflow & | source (const Node &node) |
Sets the source node. | |
Preflow & | target (const Node &node) |
Sets the target node. | |
Preflow & | elevator (Elevator &elevator) |
Sets the elevator used by algorithm. | |
const Elevator & | elevator () const |
Returns a const reference to the elevator. | |
Preflow & | tolerance (const Tolerance &tolerance) |
const Tolerance & | tolerance () const |
const FlowMap & | flowMap () const |
Returns a const reference to the flow map. | |
Value | flowValue () const |
Returns the value of the maximum flow. | |
Value | flow (const Arc &arc) const |
Returns the flow value on the given arc. | |
bool | minCut (const Node &node) const |
Returns true when the node is on the source side of the minimum cut. | |
void | minCutMap (CutMap &cutMap) const |
Gives back a minimum value cut. | |
void | init () |
Initializes the internal data structures. | |
bool | init (const FlowMap &flowMap) |
Initializes the internal data structures using the given flow map. | |
void | startFirstPhase () |
Starts the first phase of the preflow algorithm. | |
void | startSecondPhase () |
Starts the second phase of the preflow algorithm. | |
void | run () |
Runs the preflow algorithm. | |
void | runMinCut () |
Runs the preflow algorithm to compute the minimum cut. | |