COVISE Core
Public Member Functions | Private Attributes | List of all members
covise::AVLTree< T > Class Template Reference

#include <covise_avl_tree.h>

Public Member Functions

 AVLTree ()
 
 AVLTree (int(*comp)(T *a, T *b))
 
 AVLTree (int(*comp)(T *a, T *b), const char *n)
 
 ~AVLTree ()
 
CO_AVL_Node< T > * get_root (void)
 
void empty_tree (void)
 
T * search_node (T *data, int search)
 
void rebalance_tree (CO_AVL_Node< T > *tree_node, int add_balance, int grow_shrink)
 
int insert_node (T *data)
 
T * remove_node (T *data)
 
T * remove_node_compare (T *data)
 
CO_AVL_Node< T > * search_identical_node (T *d, CO_AVL_Node< T > *start)
 
void print (char *)
 
void show_tree (CO_AVL_Node< T > *curr_node)
 

Private Attributes

int(* compare )(T *a, T *b)
 
CO_AVL_Node< T > * root
 
CO_AVL_Node< T > * best_node
 
const char * name
 
int count
 

Constructor & Destructor Documentation

◆ AVLTree() [1/3]

template<class T >
covise::AVLTree< T >::AVLTree ( )
inline

◆ AVLTree() [2/3]

template<class T >
covise::AVLTree< T >::AVLTree ( int(*)(T *a, T *b comp)
inline

◆ AVLTree() [3/3]

template<class T >
covise::AVLTree< T >::AVLTree ( int(*)(T *a, T *b comp,
const char *  n 
)
inline

◆ ~AVLTree()

template<class T >
covise::AVLTree< T >::~AVLTree ( )
inline

Member Function Documentation

◆ empty_tree()

template<class T >
void covise::AVLTree< T >::empty_tree ( void  )
inline

◆ get_root()

template<class T >
CO_AVL_Node< T > * covise::AVLTree< T >::get_root ( void  )
inline

◆ insert_node()

template<class T >
int covise::AVLTree< T >::insert_node ( T *  data)

◆ print()

template<class T >
void covise::AVLTree< T >::print ( char *  str)

◆ rebalance_tree()

template<class T >
void covise::AVLTree< T >::rebalance_tree ( CO_AVL_Node< T > *  tree_node,
int  add_balance,
int  grow_shrink 
)

◆ remove_node()

template<class T >
T * covise::AVLTree< T >::remove_node ( T *  data)

◆ remove_node_compare()

template<class T >
T * covise::AVLTree< T >::remove_node_compare ( T *  data)

◆ search_identical_node()

template<class T >
CO_AVL_Node< T > * covise::AVLTree< T >::search_identical_node ( T *  d,
CO_AVL_Node< T > *  start 
)

◆ search_node()

template<class T >
T * covise::AVLTree< T >::search_node ( T *  data,
int  search 
)

◆ show_tree()

template<class T >
void covise::AVLTree< T >::show_tree ( CO_AVL_Node< T > *  curr_node)

Member Data Documentation

◆ best_node

template<class T >
CO_AVL_Node<T>* covise::AVLTree< T >::best_node
private

◆ compare

template<class T >
int(* covise::AVLTree< T >::compare) (T *a, T *b)
private

◆ count

template<class T >
int covise::AVLTree< T >::count
private

◆ name

template<class T >
const char* covise::AVLTree< T >::name
private

◆ root

template<class T >
CO_AVL_Node<T>* covise::AVLTree< T >::root
private

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