ACE_RB_Tree_Node< EXT_ID, INT_ID > Class Template Reference

Implements a node in a Red-Black Tree ADT. More...

#include <RB_Tree.h>

Inheritance diagram for ACE_RB_Tree_Node< EXT_ID, INT_ID >:

Inheritance graph
[legend]
Collaboration diagram for ACE_RB_Tree_Node< EXT_ID, INT_ID >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ACE_RB_Tree_Node (const EXT_ID &k, const INT_ID &t)
 Constructor.

 ~ACE_RB_Tree_Node (void)
 Destructor.

EXT_ID & key (void)
 Key accessor.

INT_ID & item (void)
 Item accessor.

void color (RB_Tree_Node_Color c)
 Set color of the node.

RB_Tree_Node_Color color (void)
 Get color of the node.

ACE_RB_Tree_Node< EXT_ID,
INT_ID > * 
parent (void)
 Accessor for node's parent pointer.

void parent (ACE_RB_Tree_Node< EXT_ID, INT_ID > *p)
 Mutator for node's parent pointer.

ACE_RB_Tree_Node< EXT_ID,
INT_ID > * 
left (void)
 Accessor for node's left child pointer.

void left (ACE_RB_Tree_Node< EXT_ID, INT_ID > *l)
 Mutator for node's left child pointer.

ACE_RB_Tree_Node< EXT_ID,
INT_ID > * 
right (void)
 Accessor for node's right child pointer.

void right (ACE_RB_Tree_Node< EXT_ID, INT_ID > *r)
 Mutator for node's right child pointer.


Private Attributes

EXT_ID k_
 The key.

INT_ID t_
 The item.

RB_Tree_Node_Color color_
 Color of the node.

ACE_RB_Tree_Node< EXT_ID,
INT_ID > * 
parent_
 Pointer to node's parent.

ACE_RB_Tree_Node< EXT_ID,
INT_ID > * 
left_
 Pointer to node's left child.

ACE_RB_Tree_Node< EXT_ID,
INT_ID > * 
right_
 Pointer to node's right child.


Detailed Description

template<class EXT_ID, class INT_ID>
class ACE_RB_Tree_Node< EXT_ID, INT_ID >

Implements a node in a Red-Black Tree ADT.

Definition at line 54 of file RB_Tree.h.


Constructor & Destructor Documentation

template<class EXT_ID, class INT_ID>
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_RB_Tree_Node< EXT_ID, INT_ID >::ACE_RB_Tree_Node const EXT_ID &  k,
const INT_ID &  t
 

Constructor.

Definition at line 25 of file RB_Tree.cpp.

References ACE_TRACE.

00026   : k_ (k),
00027     t_ (t),
00028     color_ (RED),
00029     parent_ (0),
00030     left_ (0),
00031     right_ (0)
00032 {
00033   ACE_TRACE ("ACE_RB_Tree_Node<EXT_ID, INT_ID>::ACE_RB_Tree_Node (const EXT_ID &k, const INT_ID &t)");
00034 }

template<class EXT_ID, class INT_ID>
ACE_RB_Tree_Node< EXT_ID, INT_ID >::~ACE_RB_Tree_Node void   ) 
 

Destructor.

Definition at line 40 of file RB_Tree.cpp.

References ACE_TRACE.

00041 {
00042   ACE_TRACE ("ACE_RB_Tree_Node<EXT_ID, INT_ID>::~ACE_RB_Tree_Node");
00043 }


Member Function Documentation

template<class EXT_ID, class INT_ID>
ACE_INLINE ACE_RB_Tree_Node_Base::RB_Tree_Node_Color ACE_RB_Tree_Node< EXT_ID, INT_ID >::color void   ) 
 

Get color of the node.

Definition at line 52 of file RB_Tree.inl.

References ACE_TRACE, and ACE_RB_Tree_Node< EXT_ID, INT_ID >::color_.

00053 {
00054   ACE_TRACE ("ACE_RB_Tree_Node<EXT_ID, INT_ID>::color accessor");
00055   return color_;
00056 }

template<class EXT_ID, class INT_ID>
ACE_INLINE void ACE_RB_Tree_Node< EXT_ID, INT_ID >::color RB_Tree_Node_Color  c  ) 
 

Set color of the node.

Definition at line 41 of file RB_Tree.inl.

References ACE_TRACE, and ACE_RB_Tree_Node< EXT_ID, INT_ID >::color_.

Referenced by ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::dump_node_i(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_delete_fixup(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_rebalance(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::remove_i(), and ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::test_invariant_recurse().

00042 {
00043   ACE_TRACE ("ACE_RB_Tree_Node<EXT_ID, INT_ID>::color mutator");
00044   color_ = c;
00045 }

template<class EXT_ID, class INT_ID>
ACE_INLINE INT_ID & ACE_RB_Tree_Node< EXT_ID, INT_ID >::item void   ) 
 

Item accessor.

Definition at line 30 of file RB_Tree.inl.

References ACE_TRACE.

Referenced by ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::find(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::insert_i(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::rebind(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::remove_i(), and ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::trybind().

00031 {
00032   ACE_TRACE ("ACE_RB_Tree_Node<EXT_ID, INT_ID>:item");
00033   return t_;
00034 }

template<class EXT_ID, class INT_ID>
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE EXT_ID & ACE_RB_Tree_Node< EXT_ID, INT_ID >::key void   ) 
 

Key accessor.

Definition at line 19 of file RB_Tree.inl.

References ACE_TRACE, and ACE_RB_Tree_Node< EXT_ID, INT_ID >::k_.

Referenced by ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::find_node(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::rebind(), and ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::remove_i().

00020 {
00021   ACE_TRACE ("ACE_RB_Tree_Node<EXT_ID, INT_ID>::key");
00022   return k_;
00023 }

template<class EXT_ID, class INT_ID>
ACE_INLINE void ACE_RB_Tree_Node< EXT_ID, INT_ID >::left ACE_RB_Tree_Node< EXT_ID, INT_ID > *  l  ) 
 

Mutator for node's left child pointer.

Definition at line 97 of file RB_Tree.inl.

References ACE_TRACE, and ACE_RB_Tree_Node< EXT_ID, INT_ID >::left_.

00098 {
00099   ACE_TRACE ("ACE_RB_Tree_Node<EXT_ID, INT_ID>::left mutator");
00100   left_ = l;
00101 }

template<class EXT_ID, class INT_ID>
ACE_INLINE ACE_RB_Tree_Node< EXT_ID, INT_ID > * ACE_RB_Tree_Node< EXT_ID, INT_ID >::left void   ) 
 

Accessor for node's left child pointer.

Definition at line 86 of file RB_Tree.inl.

References ACE_TRACE, and ACE_RB_Tree_Node< EXT_ID, INT_ID >::left_.

Referenced by ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::dump_i(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::find_node(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::insert_i(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_delete_fixup(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_rotate_left(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_rotate_right(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_tree_minimum(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_tree_predecessor(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::remove_i(), and ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::test_invariant_recurse().

00087 {
00088   ACE_TRACE ("ACE_RB_Tree_Node<EXT_ID, INT_ID>::left accessor");
00089   return left_;
00090 }

template<class EXT_ID, class INT_ID>
ACE_INLINE void ACE_RB_Tree_Node< EXT_ID, INT_ID >::parent ACE_RB_Tree_Node< EXT_ID, INT_ID > *  p  ) 
 

Mutator for node's parent pointer.

Definition at line 74 of file RB_Tree.inl.

References ACE_TRACE, and ACE_RB_Tree_Node< EXT_ID, INT_ID >::parent_.

00075 {
00076   ACE_TRACE ("ACE_RB_Tree_Node<EXT_ID, INT_ID>::parent mutator");
00077   parent_ = p;
00078 }

template<class EXT_ID, class INT_ID>
ACE_INLINE ACE_RB_Tree_Node< EXT_ID, INT_ID > * ACE_RB_Tree_Node< EXT_ID, INT_ID >::parent void   ) 
 

Accessor for node's parent pointer.

Definition at line 63 of file RB_Tree.inl.

References ACE_TRACE, and ACE_RB_Tree_Node< EXT_ID, INT_ID >::parent_.

Referenced by ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_delete_fixup(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_rebalance(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_rotate_left(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_rotate_right(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_tree_predecessor(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_tree_successor(), and ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::remove_i().

00064 {
00065   ACE_TRACE ("ACE_RB_Tree_Node<EXT_ID, INT_ID>::parent accessor");
00066   return parent_;
00067 }

template<class EXT_ID, class INT_ID>
ACE_INLINE void ACE_RB_Tree_Node< EXT_ID, INT_ID >::right ACE_RB_Tree_Node< EXT_ID, INT_ID > *  r  ) 
 

Mutator for node's right child pointer.

Definition at line 119 of file RB_Tree.inl.

References ACE_TRACE, and ACE_RB_Tree_Node< EXT_ID, INT_ID >::right_.

00120 {
00121   ACE_TRACE ("ACE_RB_Tree_Node<EXT_ID, INT_ID>::right mutator");
00122   right_ = r;
00123 }

template<class EXT_ID, class INT_ID>
ACE_INLINE ACE_RB_Tree_Node< EXT_ID, INT_ID > * ACE_RB_Tree_Node< EXT_ID, INT_ID >::right void   ) 
 

Accessor for node's right child pointer.

Definition at line 108 of file RB_Tree.inl.

References ACE_TRACE, and ACE_RB_Tree_Node< EXT_ID, INT_ID >::right_.

Referenced by ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::dump_i(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::find_node(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::insert_i(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_delete_fixup(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_rotate_left(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_rotate_right(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_tree_maximum(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::RB_tree_successor(), ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::remove_i(), and ACE_RB_Tree< EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK >::test_invariant_recurse().

00109 {
00110   ACE_TRACE ("ACE_RB_Tree_Node<EXT_ID, INT_ID>::right accessor");
00111   return right_;
00112 }


Member Data Documentation

template<class EXT_ID, class INT_ID>
RB_Tree_Node_Color ACE_RB_Tree_Node< EXT_ID, INT_ID >::color_ [private]
 

Color of the node.

Definition at line 104 of file RB_Tree.h.

Referenced by ACE_RB_Tree_Node< EXT_ID, INT_ID >::color().

template<class EXT_ID, class INT_ID>
EXT_ID ACE_RB_Tree_Node< EXT_ID, INT_ID >::k_ [private]
 

The key.

Definition at line 98 of file RB_Tree.h.

Referenced by ACE_RB_Tree_Node< EXT_ID, INT_ID >::key().

template<class EXT_ID, class INT_ID>
ACE_RB_Tree_Node<EXT_ID, INT_ID>* ACE_RB_Tree_Node< EXT_ID, INT_ID >::left_ [private]
 

Pointer to node's left child.

Definition at line 110 of file RB_Tree.h.

Referenced by ACE_RB_Tree_Node< EXT_ID, INT_ID >::left().

template<class EXT_ID, class INT_ID>
ACE_RB_Tree_Node<EXT_ID, INT_ID>* ACE_RB_Tree_Node< EXT_ID, INT_ID >::parent_ [private]
 

Pointer to node's parent.

Definition at line 107 of file RB_Tree.h.

Referenced by ACE_RB_Tree_Node< EXT_ID, INT_ID >::parent().

template<class EXT_ID, class INT_ID>
ACE_RB_Tree_Node<EXT_ID, INT_ID>* ACE_RB_Tree_Node< EXT_ID, INT_ID >::right_ [private]
 

Pointer to node's right child.

Definition at line 113 of file RB_Tree.h.

Referenced by ACE_RB_Tree_Node< EXT_ID, INT_ID >::right().

template<class EXT_ID, class INT_ID>
INT_ID ACE_RB_Tree_Node< EXT_ID, INT_ID >::t_ [private]
 

The item.

Definition at line 101 of file RB_Tree.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:27:35 2006 for ACE by doxygen 1.3.6