All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Types | Static Public Member Functions
MaxCardinalitySearchDefaultTraits< GR, CAP > Struct Template Reference

Detailed Description

template<typename GR, typename CAP>
struct lemon::MaxCardinalitySearchDefaultTraits< GR, CAP >

Default traits class of MaxCardinalitySearch class.

Parameters
DigraphDigraph type.
CapacityMapType of capacity map.

#include <lemon/max_cardinality_search.h>

Public Types

typedef GR Digraph
 The digraph type the algorithm runs on.
 
typedef CapMapSelector< CAP >
::CapacityMap 
CapacityMap
 The type of the map that stores the arc capacities.
 
typedef CapacityMap::Value Value
 The type of the capacity of the arcs.
 
typedef Digraph::template
NodeMap< int > 
HeapCrossRef
 The cross reference type used by heap.
 
typedef HeapSelector
< CapacityMap >::template
Selector< Value, HeapCrossRef >
::Heap 
Heap
 The heap type used by MaxCardinalitySearch algorithm.
 
typedef NullMap< typename
Digraph::Node, bool > 
ProcessedMap
 The type of the map that stores whether a node is processed.
 
typedef Digraph::template
NodeMap< Value
CardinalityMap
 The type of the map that stores the cardinalities of the nodes.
 

Static Public Member Functions

static CapacityMapcreateCapacityMap (const Digraph &digraph)
 Instantiates a CapacityMap.
 
static HeapCrossRefcreateHeapCrossRef (const Digraph &digraph)
 Instantiates a HeapCrossRef.
 
static HeapcreateHeap (HeapCrossRef &crossref)
 Instantiates a Heap.
 
static ProcessedMapcreateProcessedMap (const Digraph &digraph)
 Instantiates a ProcessedMap.
 
static CardinalityMapcreateCardinalityMap (const Digraph &digraph)
 Instantiates a CardinalityMap.
 

Member Typedef Documentation

typedef CapMapSelector<CAP>::CapacityMap CapacityMap

The type of the map that stores the arc capacities. It must meet the ReadMap concept.

typedef Digraph::template NodeMap<int> HeapCrossRef

The cross reference type used by heap. Usually it is Digraph::NodeMap<int>.

typedef HeapSelector<CapacityMap>::template Selector<Value, HeapCrossRef>::Heap Heap

The heap type used by MaxCardinalitySearch algorithm. It should maximalize the priorities. The default heap type is the BinHeap, but it is specialized when the CapacityMap is ConstMap<Digraph::Node, Const<int, 1> > to BucketHeap.

See Also
MaxCardinalitySearch
typedef NullMap<typename Digraph::Node, bool> ProcessedMap

The type of the map that stores whether a node is processed. It must meet the WriteMap concept. By default it is a NullMap.

typedef Digraph::template NodeMap<Value> CardinalityMap

The type of the map that stores the cardinalities of the nodes. It must meet the WriteMap concept.

Member Function Documentation

static CapacityMap* createCapacityMap ( const Digraph digraph)
inlinestatic

This function instantiates a CapacityMap.

Parameters
digraphis the digraph, to which we would like to define the CapacityMap.
static HeapCrossRef* createHeapCrossRef ( const Digraph digraph)
inlinestatic

This function instantiates a HeapCrossRef.

Parameters
digraphis the digraph, to which we would like to define the HeapCrossRef.
static Heap* createHeap ( HeapCrossRef crossref)
inlinestatic

This function instantiates a Heap.

Parameters
crossrefThe cross reference of the heap.
static ProcessedMap* createProcessedMap ( const Digraph digraph)
inlinestatic

This function instantiates a ProcessedMap.

Parameters
digraphis the digraph, to which we would like to define the ProcessedMap
static CardinalityMap* createCardinalityMap ( const Digraph digraph)
inlinestatic

This function instantiates a CardinalityMap.

Parameters
digraphis the digraph, to which we would like to define the CardinalityMap