claw::binary_node< U > Class Template Reference

#include <binary_node.hpp>

Inheritance diagram for claw::binary_node< U >:

claw::avl_base< K, Comp >::avl_node claw::trie< T, Comp >::trie_node List of all members.

Detailed Description

template<class U>
class claw::binary_node< U >

Basic binary node.

Author:
Julien Jorge

Definition at line 41 of file binary_node.hpp.

Public Member Functions

 binary_node ()
 Binary node constructor.
 binary_node (const binary_node &that)
 Binary node copy constructor.
 ~binary_node ()
 Binary node destructor. Deletes the whole subtree.
void clear ()
 Clear right and left childs. Memory's not freed.

Public Attributes

U * left
 Left child.
U * right
 Right child.


Constructor & Destructor Documentation

template<class U>
claw::binary_node< U >::binary_node (  )  [explicit]

Binary node constructor.

Postcondition:
(left==NULL) && (right==NULL)

Definition at line 38 of file binary_node.tpp.

00039   : left(NULL), right(NULL)
00040 {
00041 
00042 } //binary_node()

template<class U>
claw::binary_node< U >::binary_node ( const binary_node< U > &  that  )  [explicit]

Binary node copy constructor.

Parameters:
that Node to copy from.

Definition at line 50 of file binary_node.tpp.

References claw::binary_node< U >::left, and claw::binary_node< U >::right.

00051 {
00052   if (that.left)
00053     left = new U( * that.left );
00054   else
00055     left = NULL;
00056 
00057   if ( that.right )
00058     right = new U( * that.right );
00059   else
00060     right = NULL;
00061 } // binary_node() [copy constructor]

template<class U>
claw::binary_node< U >::~binary_node (  ) 

Binary node destructor. Deletes the whole subtree.

Definition at line 81 of file binary_node.tpp.

References claw::binary_node< U >::left, and claw::binary_node< U >::right.

00082 {
00083   if (left)
00084     delete left;
00085 
00086   if (right)
00087     delete right;
00088 } // ~binary_node() [destructor]


Member Function Documentation

template<class U>
void claw::binary_node< U >::clear (  ) 

Clear right and left childs. Memory's not freed.

Postcondition:
this->left == NULL && this->right == NULL

Definition at line 69 of file binary_node.tpp.

References claw::binary_node< U >::left, and claw::binary_node< U >::right.

Referenced by claw::avl_base< K, Comp >::recursive_delete_max(), and claw::avl_base< K, Comp >::recursive_delete_node().

00070 {
00071   left = NULL;
00072   right = NULL;
00073 } // clear()


Member Data Documentation

template<class U>
U* claw::binary_node< U >::left

Left child.

Definition at line 45 of file binary_node.hpp.

Referenced by claw::avl_base< K, Comp >::adjust_balance_left(), claw::avl_base< K, Comp >::avl_node::avl_node(), claw::binary_node< U >::binary_node(), claw::avl_base< K, Comp >::check_balance(), claw::avl_base< K, Comp >::check_in_bounds(), claw::binary_node< U >::clear(), claw::avl_base< K, Comp >::correct_descendant(), claw::trie< T, Comp >::count(), claw::avl_base< K, Comp >::avl_node::del_tree(), claw::avl_base< K, Comp >::avl_node::depth(), claw::avl_base< K, Comp >::avl_node::duplicate(), claw::avl_base< K, Comp >::avl_node::find(), claw::avl_base< K, Comp >::avl_node::find_nearest_greater(), claw::avl_base< K, Comp >::avl_node::find_nearest_lower(), claw::avl_base< K, Comp >::find_node_reference(), claw::trie< T, Comp >::insert(), claw::avl_base< K, Comp >::insert_node(), claw::avl_base< K, Comp >::avl_node::lower_bound(), claw::avl_base< K, Comp >::avl_node::next(), claw::avl_base< K, Comp >::avl_node::prev(), claw::avl_base< K, Comp >::recursive_delete(), claw::avl_base< K, Comp >::recursive_delete_max(), claw::avl_base< K, Comp >::recursive_delete_node(), claw::avl_base< K, Comp >::rotate_left(), claw::avl_base< K, Comp >::rotate_left_right(), claw::avl_base< K, Comp >::rotate_right(), claw::avl_base< K, Comp >::update_balance(), claw::avl_base< K, Comp >::validity_check(), and claw::binary_node< U >::~binary_node().

template<class U>
U* claw::binary_node< U >::right

Right child.

Definition at line 47 of file binary_node.hpp.

Referenced by claw::avl_base< K, Comp >::adjust_balance_right(), claw::avl_base< K, Comp >::avl_node::avl_node(), claw::binary_node< U >::binary_node(), claw::avl_base< K, Comp >::check_balance(), claw::avl_base< K, Comp >::check_in_bounds(), claw::binary_node< U >::clear(), claw::avl_base< K, Comp >::correct_descendant(), claw::trie< T, Comp >::count(), claw::avl_base< K, Comp >::avl_node::del_tree(), claw::avl_base< K, Comp >::avl_node::depth(), claw::avl_base< K, Comp >::avl_node::duplicate(), claw::avl_base< K, Comp >::avl_node::find(), claw::avl_base< K, Comp >::avl_node::find_nearest_greater(), claw::avl_base< K, Comp >::avl_node::find_nearest_lower(), claw::avl_base< K, Comp >::find_node_reference(), claw::trie< T, Comp >::insert(), claw::avl_base< K, Comp >::insert_node(), claw::avl_base< K, Comp >::avl_node::next(), claw::avl_base< K, Comp >::avl_node::prev(), claw::avl_base< K, Comp >::recursive_delete(), claw::avl_base< K, Comp >::recursive_delete_max(), claw::avl_base< K, Comp >::recursive_delete_node(), claw::avl_base< K, Comp >::rotate_left(), claw::avl_base< K, Comp >::rotate_right(), claw::avl_base< K, Comp >::rotate_right_left(), claw::avl_base< K, Comp >::update_balance(), claw::avl_base< K, Comp >::avl_node::upper_bound(), claw::avl_base< K, Comp >::validity_check(), and claw::binary_node< U >::~binary_node().


The documentation for this class was generated from the following files:
Generated on Mon Nov 9 05:07:10 2009 for CLAW Library (a C++ Library Absolutely Wonderful) by  doxygen 1.4.7