1: 
   2: 
   3: /*************
   4: *            *
   5: *  SENTINEL  *
   6: *            *
   7: *************/
   8: 
   9: 
  10: #ifndef WWWI_MIND_RRT_H 
  11: #define WWWI_MIND_RRT_H 
  12: 
  13: 
  14: /**********************
  15: *                     *
  16: *  COMPILER INCLUDES  *
  17: *                     *
  18: **********************/
  19: 
  20: 
  21: /*********************
  22: *                    *
  23: *  PROJECT INCLUDES  *
  24: *                    *
  25: *********************/
  26: 
  27: 
  28: #include "mind.h" 
  29: #include "rdata.h" 
  30: 
  31: 
  32: /**********************
  33: *                     *
  34: *  TYPE DECLARATIONS  *
  35: *                     *
  36: **********************/
  37: 
  38: 
  39: /*************
  40: *            *
  41: *  CLASS RR  *
  42: *            *
  43: *************/
  44: 
  45: 
  46: template <class H> class RRT : public H {
  47: public: 
  48:                               RRT(void);
  49:   template <class T> bool     Compare(const T ci_xrp) const;
  50:   inline RRClass              GetClass(void) const;
  51:   inline RDataConstPtr        GetRData(void) const;
  52:   inline RRType               GetType(void) const;
  53:   inline bool                 IsTypeClass(RRType i_ty, RRClass i_cl) const;
  54:   inline void                 SetClass(RRClass i_cl);
  55:   inline void                 SetRData(unsigned char* &i_ucprData, size_t i_szData);
  56:   inline void                 SetRData(RDataPtr &i_rdpr);
  57:   inline void                 SetType(RRType i_ty);
  58:                              ~RRT(void);
  59: 
  60:   friend class RRFactory;
  61: 
  62: protected:
  63:   RRType         m_ty;
  64:   RRClass        m_cl;
  65:   RDataPtr       m_rdp;
  66: 
  67: };
  68: 
  69: 
  70: /************************
  71: *                       *
  72: *  FUNCTION PROTOTYPES  *
  73: *                       *
  74: ************************/
  75: 
  76: 
  77: template <class H> ostream& operator<<(ostream &io_smr, const RRT<H> &i_rrr);
  78: template <class H> ostream& operator<<(ostream &io_smr, const RRT<H> *i_rrp);
  79: 
  80: 
  81: /*********************
  82: *                    *
  83: *  INLINE FUNCTIONS  *
  84: *                    *
  85: *********************/
  86: 
  87: 
  88: #include "rrt.i" 
  89: 
  90: 
  91: /************
  92: *           *
  93: *  THE END  *
  94: *           *
  95: ************/
  96: 
  97: 
  98: #endif 
  99: 
 100: 
 101: