#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_;
};
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);