---
name: "ACE_RB_Tree_Node"
section: "3"
platform: "linux"
package: "libace-doc"
version: "5.0.7-4"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/ACE_RB_Tree_Node"
---

# ACE\_RB\_Tree\_Node(3)

Implements a node in a Red-Black Tree ADT.

## 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
