00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00031 #ifndef _OSRTFASTSTRING_H_
00032 #define _OSRTFASTSTRING_H_
00033
00034 #include "rtxsrc/rtxCommon.h"
00035 #include "rtxsrc/rtxPrint.h"
00036
00043 class EXTERNRT OSRTFastString : public OSRTStringIF {
00044 protected:
00045 const OSUTF8CHAR* mValue;
00046
00047 public:
00052 OSRTFastString();
00053
00060 OSRTFastString (const char* strval);
00061
00068 OSRTFastString (const OSUTF8CHAR* strval);
00069
00076 OSRTFastString (const OSRTFastString& str);
00077
00081 virtual ~OSRTFastString();
00082
00086 virtual OSRTStringIF* clone () { return new OSRTFastString (*this); }
00087
00092 virtual const char* getValue () const {
00093 return (const char*) mValue;
00094 }
00095
00100 virtual const OSUTF8CHAR* getUTF8Value () const {
00101 return mValue;
00102 }
00103
00109 virtual void print (const char* name) { rtxPrintCharStr (name, mValue); }
00110
00116 virtual void setValue (const char* str);
00117
00123 virtual void setValue (const OSUTF8CHAR* str);
00124
00128 OSRTFastString& operator= (const OSRTFastString& original);
00129 } ;
00130
00131 #endif