FHeap< Data > Class Template Reference

A templated implimentation of a fibonacci heap, derived from the abstract FibHeap. More...

#include </usr1/tp517/Tumble/trunk/src/tumble/fibonacci_heap.h>

Collaboration diagram for FHeap< Data >:

[legend]
List of all members.

Public Member Functions

 FHeap (unsigned _size)
 ~FHeap ()
bool decrease (Data *data, double val)
bool rem_min (Data *&data, double &val)
bool empty ()

Private Types

typedef hashers::hash_map<
Data *, unsigned > 
Hash_T
typedef Hash_T::iterator Hash_iterator_T

Private Attributes

Hash_T node_idx
HeapNode< Data > * nodes
FibHeap heap
unsigned next_idx
unsigned size

Detailed Description

template<class Data>
class FHeap< Data >

A templated implimentation of a fibonacci heap, derived from the abstract FibHeap.

Definition at line 36 of file fibonacci_heap.h.


Member Typedef Documentation

template<class Data>
typedef hashers::hash_map<Data*, unsigned> FHeap< Data >::Hash_T [private]

Definition at line 38 of file fibonacci_heap.h.

template<class Data>
typedef Hash_T::iterator FHeap< Data >::Hash_iterator_T [private]

Definition at line 39 of file fibonacci_heap.h.


Constructor & Destructor Documentation

template<class Data>
FHeap< Data >::FHeap ( unsigned  _size  )  [inline]

Definition at line 85 of file fibonacci_heap.h.

References FHeap< Data >::next_idx, FHeap< Data >::node_idx, FHeap< Data >::nodes, and FHeap< Data >::size.

template<class Data>
FHeap< Data >::~FHeap (  )  [inline]

Definition at line 94 of file fibonacci_heap.h.

References FHeap< Data >::nodes.


Member Function Documentation

template<class Data>
bool FHeap< Data >::decrease ( Data *  data,
double  val 
) [inline]

Definition at line 99 of file fibonacci_heap.h.

References FibHeap::DecreaseKey(), FHeap< Data >::heap, FibHeap::Insert(), FHeap< Data >::next_idx, FHeap< Data >::node_idx, FHeap< Data >::nodes, OK, and FHeap< Data >::size.

Referenced by BezierMesh::coarsen_approximate_sizing_func(), and BezierMesh::coarsen_make_lipshitz().

Here is the call graph for this function:

template<class Data>
bool FHeap< Data >::rem_min ( Data *&  data,
double &  val 
) [inline]

Definition at line 119 of file fibonacci_heap.h.

References HeapNode< Data >::data, FibHeap::ExtractMin(), FHeap< Data >::heap, and HeapNode< Data >::key.

Referenced by BezierMesh::coarsen_make_lipshitz().

Here is the call graph for this function:

template<class Data>
bool FHeap< Data >::empty (  )  [inline]

Definition at line 129 of file fibonacci_heap.h.

References FHeap< Data >::heap, and FibHeap::Minimum().

Referenced by BezierMesh::coarsen_make_lipshitz().

Here is the call graph for this function:


Member Data Documentation

template<class Data>
Hash_T FHeap< Data >::node_idx [private]

Definition at line 40 of file fibonacci_heap.h.

Referenced by FHeap< Data >::decrease(), and FHeap< Data >::FHeap().

template<class Data>
HeapNode<Data>* FHeap< Data >::nodes [private]

Definition at line 41 of file fibonacci_heap.h.

Referenced by FHeap< Data >::decrease(), FHeap< Data >::FHeap(), and FHeap< Data >::~FHeap().

template<class Data>
FibHeap FHeap< Data >::heap [private]

Definition at line 42 of file fibonacci_heap.h.

Referenced by FHeap< Data >::decrease(), FHeap< Data >::empty(), and FHeap< Data >::rem_min().

template<class Data>
unsigned FHeap< Data >::next_idx [private]

Definition at line 43 of file fibonacci_heap.h.

Referenced by FHeap< Data >::decrease(), and FHeap< Data >::FHeap().

template<class Data>
unsigned FHeap< Data >::size [private]

Definition at line 44 of file fibonacci_heap.h.

Referenced by FHeap< Data >::decrease(), and FHeap< Data >::FHeap().


The documentation for this class was generated from the following file:
Generated on Mon May 24 09:53:34 2010 for TUMBLE by  doxygen 1.5.2