GCC Middle and Back End API Reference
fibonacci_node< K, V > Class Template Reference

#include <fibonacci_heap.h>

Collaboration diagram for fibonacci_node< K, V >:

Public Member Functions

 fibonacci_node ()
 
 fibonacci_node (K key, V *data=NULL)
 
int compare (fibonacci_node_t *other)
 
int compare_data (K key)
 
fibonacci_node_tremove ()
 
void link (fibonacci_node_t *parent)
 
get_key ()
 
V * get_data ()
 

Private Types

typedef fibonacci_node< K, V > fibonacci_node_t
 

Private Member Functions

void insert_after (fibonacci_node_t *b)
 
void insert_before (fibonacci_node_t *b)
 

Private Attributes

fibonacci_nodem_parent
 
fibonacci_nodem_child
 
fibonacci_nodem_left
 
fibonacci_nodem_right
 
m_key
 
V * m_data
 
unsigned int m_degree: 31
 
unsigned int m_mark: 1
 

Friends

class fibonacci_heap< K, V >
 

Detailed Description

template<class K, class V>
class fibonacci_node< K, V >
Fibonacci heap node class.   

Member Typedef Documentation

◆ fibonacci_node_t

template<class K , class V >
fibonacci_node<K,V> fibonacci_node< K, V >::fibonacci_node_t
private

Constructor & Destructor Documentation

◆ fibonacci_node() [1/2]

template<class K , class V >
fibonacci_node< K, V >::fibonacci_node ( )
inline

◆ fibonacci_node() [2/2]

template<class K , class V >
fibonacci_node< K, V >::fibonacci_node ( K key,
V * data = NULL )
inline

Member Function Documentation

◆ compare()

◆ compare_data()

template<class K , class V >
int fibonacci_node< K, V >::compare_data ( K key)
inline

◆ get_data()

template<class K , class V >
V * fibonacci_node< K, V >::get_data ( )
inline

◆ get_key()

template<class K , class V >
K fibonacci_node< K, V >::get_key ( )
inline

◆ insert_after()

template<class K , class V >
void fibonacci_node< K, V >::insert_after ( fibonacci_node_t * b)
private
Put node B after this node.   

References a, and b.

Referenced by fibonacci_node< K, V >::insert_before().

◆ insert_before()

template<class K , class V >
void fibonacci_node< K, V >::insert_before ( fibonacci_node_t * b)
inlineprivate

◆ link()

◆ remove()

Friends And Related Symbol Documentation

◆ fibonacci_heap< K, V >

template<class K , class V >
friend class fibonacci_heap< K, V >
friend

Field Documentation

◆ m_child

◆ m_data

◆ m_degree

template<class K , class V >
unsigned int fibonacci_node< K, V >::m_degree
private

◆ m_key

◆ m_left

◆ m_mark

template<class K , class V >
unsigned int fibonacci_node< K, V >::m_mark
private

◆ m_parent

◆ m_right


The documentation for this class was generated from the following file: