00001 #ifndef __CPascalString__ 00002 #define __CPascalString__ 00003 00004 // =========================================================================== 00005 00006 #include "CCountedObject.hpp" 00007 00008 // =========================================================================== 00009 00010 using Exponent::Basics::CCountedObject; 00011 00012 // =========================================================================== 00013 00014 namespace Exponent 00015 { 00016 namespace Basics 00017 { 00037 class CPascalString : public CCountedObject 00038 { 00040 EXPONENT_CLASS_DECLARATION; 00043 // =========================================================================== 00044 00045 public: 00046 00047 // =========================================================================== 00048 00054 CPascalString(const char *string = " ", const long size = 256); 00055 00059 virtual ~CPascalString(); 00060 00061 // =========================================================================== 00062 00068 void setString(const char *string, const long size = 256); 00069 00074 char *getString() const; 00075 00080 const unsigned char *getUnsignedConstString() const; 00081 00082 // =========================================================================== 00083 00084 protected: 00085 00086 // =========================================================================== 00087 00088 char *m_string; 00089 }; 00090 } 00091 } 00092 #endif // End of CPascalString.hpp