00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00028 #ifndef _OSRTUTF8STRING_H_
00029 #define _OSRTUTF8STRING_H_
00030
00031 #include "rtxsrc/OSRTBaseType.h"
00032 #include "rtxsrc/rtxPrint.h"
00033 #include "rtxsrc/rtxUTF8.h"
00034
00039 class EXTERNRT OSRTUTF8String : public OSRTBaseType {
00040 const OSUTF8CHAR* mValue;
00041
00042 public:
00046 OSRTUTF8String();
00047
00054 OSRTUTF8String (const char* strval);
00055
00062 OSRTUTF8String (const OSUTF8CHAR* strval);
00063
00069 OSRTUTF8String (const OSRTUTF8String& str);
00070
00075 virtual ~OSRTUTF8String();
00076
00081 OSRTBaseType* clone () const { return new OSRTUTF8String (*this); }
00082
00090 void copyValue (const char* str);
00091
00095 inline const char* c_str () const {
00096 return mValue;
00097 }
00098
00102 inline const char* getValue () const {
00103 return mValue;
00104 }
00105
00111 inline void print (const char* name) { rtxPrintCharStr (name, mValue); }
00112
00120 void setValue (const char* str);
00121
00125 OSRTUTF8String& operator= (const OSRTUTF8String& original);
00126 } ;
00127
00128 #endif