Loading...
Searching...
No Matches
NagamochiIbarakiDefaultTraits< GR, CM > Struct Template Reference

## Detailed Description

template<typename GR, typename CM>
struct lemon::NagamochiIbarakiDefaultTraits< GR, CM >

Default traits class for NagamochiIbaraki class.

Parameters

  GR | The undirected graph type.
  CM | Type of capacity map.

`#include <lemon/nagamochi_ibaraki.h>`

## Public Types

typedef CM::Value | Value
| The type of the capacity map.
typedef GR | Graph
| The undirected graph type the algorithm runs on.
typedef CM | CapacityMap
| The type of the map that stores the edge capacities.
typedef Graph::template NodeMap< int > | HeapCrossRef
| The cross reference type used by heap.
typedef BinHeap< Value, HeapCrossRef, std::greater< Value > > | Heap
| The heap type used by NagamochiIbaraki algorithm.

## Static Public Member Functions

static CapacityMap * | createCapacityMap (const Graph &graph)
| Instantiates a CapacityMap.
static HeapCrossRef * | createHeapCrossRef (const Graph &g)
| Instantiates a HeapCrossRef.
static Heap * | createHeap (HeapCrossRef &r)
| Instantiates a Heap.

## Member Typedef Documentation

## CapacityMap

template<typename GR, typename CM>

typedef CM CapacityMap

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

## HeapCrossRef

template<typename GR, typename CM>

typedef Graph::template NodeMap<int> HeapCrossRef

The cross reference type used by heap. Usually `Graph::NodeMap<int>`.

## Heap

template<typename GR, typename CM>

typedef BinHeap<Value, HeapCrossRef, std::greater<Value> > Heap

The heap type used by NagamochiIbaraki algorithm. It has to maximize the priorities.

See also
  BinHeap
  NagamochiIbaraki

## Member Function Documentation

## createCapacityMap()

template<typename GR, typename CM>

CapacityMap * createCapacityMap | ( | const Graph & | graph | ) |

inline static

This function instantiates a CapacityMap.

## createHeapCrossRef()

template<typename GR, typename CM>

HeapCrossRef * createHeapCrossRef | ( | const Graph & | g | ) |

inline static

This function instantiates a HeapCrossRef.

Parameters

  g | is the graph, to which we would like to define the HeapCrossRef.

## createHeap()

template<typename GR, typename CM>

Heap * createHeap | ( | HeapCrossRef & | r | ) |

inline static

This function instantiates a Heap.

Parameters

  r | is the cross reference of the heap.