All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
Circulation< GR, LM, UM, SM, TR >::SetStandardElevator< T > Struct Template Reference

Detailed Description

template<typename GR, typename LM, typename UM, typename SM, typename TR>
template<typename T>
struct lemon::Circulation< GR, LM, UM, SM, TR >::SetStandardElevator< T >

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().

See Also
SetElevator

#include <lemon/circulation.h>

+ Inheritance diagram for Circulation< GR, LM, UM, SM, TR >::SetStandardElevator< T >:

Additional Inherited Members

- Public Types inherited from Circulation< Digraph, LowerMap, UpperMap, SupplyMap, 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::Value Value
 The type of the flow and supply values.
 
typedef Traits::LowerMap LowerMap
 The type of the lower bound map.
 
typedef Traits::UpperMap UpperMap
 The type of the upper bound (capacity) map.
 
typedef Traits::SupplyMap SupplyMap
 The type of the supply map.
 
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 Circulation< Digraph, LowerMap, UpperMap, SupplyMap, SetStandardElevatorTraits< T > >
 Circulation (const Digraph &graph, const LowerMap &lower, const UpperMap &upper, const SupplyMap &supply)
 Constructor.
 
 ~Circulation ()
 Destructor.
 
CirculationlowerMap (const LowerMap &map)
 Sets the lower bound map.
 
CirculationupperMap (const UpperMap &map)
 Sets the upper bound (capacity) map.
 
CirculationsupplyMap (const SupplyMap &map)
 Sets the supply map.
 
CirculationflowMap (FlowMap &map)
 Sets the flow map.
 
Circulationelevator (Elevator &elevator)
 Sets the elevator used by algorithm.
 
const Elevatorelevator () const
 Returns a const reference to the elevator.
 
Circulationtolerance (const Tolerance &tolerance)
 Sets the tolerance used by the algorithm.
 
const Tolerancetolerance () const
 Returns a const reference to the tolerance.
 
const FlowMapflowMap () const
 Returns a const reference to the flow map.
 
Value flow (const Arc &arc) const
 Returns the flow value on the given arc.
 
bool barrier (const Node &node) const
 Returns true if the given node is in a barrier.
 
void barrierMap (BarrierMap &bar) const
 Gives back a barrier.
 
void init ()
 Initializes the internal data structures.
 
void greedyInit ()
 Initializes the internal data structures using a greedy approach.
 
bool start ()
 Executes the algorithm.
 
bool run ()
 Runs the algorithm.
 
bool checkFlow () const
 Check if the found flow is a feasible circulation.
 
bool checkBarrier () const
 Check whether or not the last execution provides a barrier.