COVISE Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
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

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

Member Function Documentation

template<class T>
void covise::AVLTree< T >::empty_tree ( void  )
inline
template<class T>
CO_AVL_Node<T>* covise::AVLTree< T >::get_root ( void  )
inline
template<class T>
int covise::AVLTree< T >::insert_node ( T *  data)
template<class T >
void covise::AVLTree< T >::print ( char *  str)
template<class T>
void covise::AVLTree< T >::rebalance_tree ( CO_AVL_Node< T > *  tree_node,
int  add_balance,
int  grow_shrink 
)
template<class T>
T * covise::AVLTree< T >::remove_node ( T *  data)
template<class T>
T * covise::AVLTree< T >::remove_node_compare ( T *  data)
template<class T>
CO_AVL_Node< T > * covise::AVLTree< T >::search_identical_node ( T *  d,
CO_AVL_Node< T > *  start 
)
template<class T>
T * covise::AVLTree< T >::search_node ( T *  data,
int  search 
)
template<class T>
void covise::AVLTree< T >::show_tree ( CO_AVL_Node< T > *  curr_node)

Member Data Documentation

template<class T>
CO_AVL_Node<T>* covise::AVLTree< T >::best_node
private
template<class T>
int(* covise::AVLTree< T >::compare)(T *a, T *b)
private
template<class T>
int covise::AVLTree< T >::count
private
template<class T>
const char* covise::AVLTree< T >::name
private
template<class T>
CO_AVL_Node<T>* covise::AVLTree< T >::root
private

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