Loading...
Searching...
No Matches
MaxCardinalitySearch< GR, CAP, TR >::SetStandardHeap< 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 >::SetStandardHeap< H, CR >

Named parameter for setting heap and cross reference type. It can allocate the heap and the cross reference object if the cross reference's constructor waits for the digraph as parameter and the heap's constructor waits for the cross reference.

`#include <lemon/max_cardinality_search.h>`

Inheritance diagram for MaxCardinalitySearch< GR, CAP, TR >::SetStandardHeap< H, CR >:
[legend]

## Additional Inherited Members

Public Types inherited from MaxCardinalitySearch< GR, CAP, TR >
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< GR, CAP, TR >
| MaxCardinalitySearch (const Digraph &digraph, const CapacityMap &capacity)
| Constructor.
| MaxCardinalitySearch (const Digraph &digraph)
| Constructor.
| ~MaxCardinalitySearch ()
| Destructor.
MaxCardinalitySearch & | capacityMap (const CapacityMap &m)
| Sets the capacity map.
const CapacityMap & | capacityMap () const
| Returns a const reference to the capacity map.
MaxCardinalitySearch & | cardinalityMap (CardinalityMap &m)
| Sets the map storing the cardinalities calculated by the algorithm.
MaxCardinalitySearch & | processedMap (ProcessedMap &m)
| Sets the map storing the processed nodes.
const ProcessedMap & | processedMap () const
| Returns a const reference to the cardinality map.
MaxCardinalitySearch & | heap (Heap &hp, HeapCrossRef &cr)
| Sets the heap and the cross reference used by algorithm.
const Heap & | heap () const
| Returns a const reference to the heap.
const HeapCrossRef & | heapCrossRef () const
| Returns a const reference to the cross reference.
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.
template<typename NodeBoolMap>
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.
Value | cardinality (Node node) const
| The cardinality of a node.
Value | currentCardinality (Node node) const
| The current cardinality of a node.
const CardinalityMap & | cardinalityMap () const
| Returns a reference to the NodeMap of cardinalities.
bool | reached (Node v)
| Checks if a node is reachable from the root.
bool | processed (Node v)
| Checks if a node is processed.