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

Detailed Description

template<typename GR, typename CAP, typename TR>
template<class H, class CR = typename Digraph::template NodeMap<int>>
struct lemon::MaxCardinalitySearch< GR, CAP, TR >::SetHeap< H, CR >

Named parameter for setting heap and cross reference type for the algorithm.

#include <lemon/max_cardinality_search.h>

+ Inheritance diagram for MaxCardinalitySearch< GR, CAP, TR >::SetHeap< H, CR >:

Additional Inherited Members

- Public Types inherited from MaxCardinalitySearch< Digraph, CapacityMap, DefHeapTraits< H, CR > >
typedef Traits::Digraph Digraph
 The type of the underlying digraph.
 
typedef Traits::CapacityMap::Value Value
 The type of the capacity of the arcs.
 
typedef Traits::CapacityMap CapacityMap
 The type of the map that stores the arc capacities.
 
typedef Traits::ProcessedMap ProcessedMap
 The type of the map indicating if a node is processed.
 
typedef Traits::CardinalityMap CardinalityMap
 The type of the map that stores the cardinalities of the nodes.
 
typedef Traits::HeapCrossRef HeapCrossRef
 The cross reference type used for the current heap.
 
typedef Traits::Heap Heap
 The heap type used by the algorithm. It maximizes the priorities.
 
- Public Member Functions inherited from MaxCardinalitySearch< Digraph, CapacityMap, DefHeapTraits< H, CR > >
 MaxCardinalitySearch (const Digraph &digraph, const CapacityMap &capacity)
 Constructor.
 
 MaxCardinalitySearch (const Digraph &digraph)
 Constructor.
 
 ~MaxCardinalitySearch ()
 Destructor.
 
MaxCardinalitySearchcapacityMap (const CapacityMap &m)
 Sets the capacity map.
 
const CapacityMapcapacityMap () const
 Returns a const reference to the capacity map.
 
MaxCardinalitySearchcardinalityMap (CardinalityMap &m)
 Sets the map storing the cardinalities calculated by the algorithm.
 
MaxCardinalitySearchprocessedMap (ProcessedMap &m)
 Sets the map storing the processed nodes.
 
const ProcessedMapprocessedMap () const
 Returns a const reference to the cardinality map.
 
MaxCardinalitySearchheap (Heap &hp, HeapCrossRef &cr)
 Sets the heap and the cross reference used by algorithm.
 
const Heapheap () const
 Returns a const reference to the heap.
 
const HeapCrossRefheapCrossRef () const
 Returns a const reference to the cross reference.
 
const CardinalityMapcardinalityMap () const
 Returns a reference to the NodeMap of cardinalities.
 
Value cardinality (Node node) const
 The cardinality of a node.
 
Value currentCardinality (Node node) const
 The current cardinality of a node.
 
bool reached (Node v)
 Checks if a node is reachable from the root.
 
bool processed (Node v)
 Checks if a node is processed.
 
void init ()
 Initializes the internal data structures.
 
void addSource (Node source, Value capacity=0)
 Adds a new source node.
 
Node processNextNode ()
 Processes the next node in the priority heap.
 
Node nextNode ()
 Next node to be processed.
 
bool emptyQueue ()
 Returns false if there are nodes to be processed in the priority heap.
 
int emptySize ()
 Returns the number of the nodes to be processed in the priority heap.
 
void start ()
 Executes the algorithm.
 
void start (Node dest)
 Executes the algorithm until dest is reached.
 
void start (const NodeBoolMap &nm)
 Executes the algorithm until a condition is met.
 
void run (Node s)
 Runs the maximum cardinality search algorithm from node s.
 
void run ()
 Runs the maximum cardinality search algorithm for the whole digraph.