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: