## NAME

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

## SYNOPSIS

    #include <ace/RB_Tree.h>

    template<class EXT_ID, class INT_ID>
    class ACE_RB_Tree_Node : public ACE_RB_Tree_Node_Base
    {
      public:
        ACE_RB_Tree_Node (const EXT_ID &k, const INT_ID &t);
        ~ACE_RB_Tree_Node (void);
        EXT_ID &key (void);
        INT_ID &item (void);
        void color (RB_Tree_Node_Color c);
        RB_Tree_Node_Color color (void);
        ACE_RB_Tree_Node<EXT_ID, INT_ID> *parent (void);
        void parent (ACE_RB_Tree_Node<EXT_ID, INT_ID> * p);
        ACE_RB_Tree_Node<EXT_ID, INT_ID> *left (void);
        void left (ACE_RB_Tree_Node<EXT_ID, INT_ID> *l);
        ACE_RB_Tree_Node<EXT_ID, INT_ID> *right (void);
        void right (ACE_RB_Tree_Node<EXT_ID, INT_ID> * r);
      private:
        EXT_ID k_;
        INT_ID t_;
        RB_Tree_Node_Color color_;
        ACE_RB_Tree_Node<EXT_ID, INT_ID> *parent_;
        ACE_RB_Tree_Node<EXT_ID, INT_ID> *left_;
        ACE_RB_Tree_Node<EXT_ID, INT_ID> *right_;
    };

## Initialization and termination methods.

    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

## AUTHOR

Chris Gill

## LIBRARY

ace