00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __SCFSTR_H__
00021 #define __SCFSTR_H__
00022
00023 #include "iutil/string.h"
00024 #include "csutil/csstring.h"
00025
00027 class scfString : public iString
00028 {
00029 csString s;
00030
00031 public:
00032 SCF_DECLARE_IBASE;
00033
00035 scfString ()
00036 { SCF_CONSTRUCT_IBASE (NULL); }
00037
00039 scfString (size_t iLength) : s(iLength)
00040 { SCF_CONSTRUCT_IBASE (NULL); }
00041
00043 scfString (const iString ©) : s(copy.GetData())
00044 { SCF_CONSTRUCT_IBASE (NULL); }
00045
00047 scfString (const char *copy) : s(copy)
00048 { SCF_CONSTRUCT_IBASE (NULL); }
00049
00051 virtual ~scfString () {}
00052
00054 virtual void SetCapacity (size_t NewSize);
00055
00057 virtual void Truncate (size_t iPos);
00058
00060 virtual void Reclaim ();
00061
00063 virtual iString *Clone () const;
00064
00066 virtual char *GetData () const;
00067
00069 virtual size_t Length () const;
00070
00072 virtual char& operator [] (size_t iPos);
00073
00075 virtual void SetAt (size_t iPos, char iChar);
00076
00078 virtual char GetAt (size_t iPos) const;
00079
00081 virtual void Insert (size_t iPos, iString *iStr);
00082
00084 virtual void Overwrite (size_t iPos, iString *iStr);
00085
00087 virtual iString &Append (const char *iStr, size_t iCount = (size_t)-1);
00088
00090 virtual iString &Append (const iString *iStr, size_t iCount = (size_t)-1);
00091
00093 virtual void Replace (const iString *iStr, size_t iCount = (size_t)-1);
00094
00096 virtual bool Compare (const iString *iStr) const;
00097
00099 virtual bool CompareNoCase (const iString *iStr) const;
00100 };
00101
00102 #endif // __SCFSTR_H__