00001
00002
00003
00004
00005
00006
00007 #ifndef __STRING_HPP__
00008 #define __STRING_HPP__
00009 #else
00010 #error DigiForce Include Error
00011 #endif
00012
00013 class String : virtual public SystemCode {
00014 public:
00015 char *cString;
00016 int Length;
00017
00018
00019 String();
00020 String( uint32 );
00021 String( int32 );
00022 String( const String & );
00023 String( char const *s,
00024 int len = -1);
00025 String( char, int rep = 1 );
00026
00027 ~String();
00028
00029
00030 operator void * ();
00031 operator char * ();
00032 operator char ** ();
00033 operator char const * ();
00034 operator char const * () const;
00035 operator char () const;
00036 operator char ();
00037
00038
00039 String & operator = ( char const * );
00040 String & operator = ( String const & );
00041 String & operator = ( String const * );
00042
00043
00044 String & operator += ( String const & );
00045 String & operator += ( char const * );
00046 String & operator += ( const char );
00047
00048 String operator () ( int pos,
00049 int n) const;
00050
00051 char & operator () ( int pos );
00052 char const & operator ()
00053 ( int pos ) const;
00054 char & operator [] ( int pos );
00055 char & operator [] ( uint pos );
00056 char const & operator []
00057 ( int pos ) const;
00058
00059
00060 friend BOOL operator == (
00061 String const &, String const & );
00062 friend BOOL operator == (
00063 String const &, char const * );
00064 friend BOOL operator == (
00065 char const *, String const & );
00066 friend BOOL operator == (
00067 String const &, char );
00068 friend BOOL operator == (
00069 char, String const & );
00070
00071 friend BOOL operator != (
00072 String const &, String const & );
00073 friend BOOL operator != (
00074 String const &, char const * );
00075 friend BOOL operator != (
00076 char const *, String const & );
00077 friend BOOL operator != (
00078 String const &, char );
00079 friend BOOL operator != (
00080 char, String const & );
00081
00082 friend BOOL operator < (
00083 String const &, String const & );
00084 friend BOOL operator < (
00085 String const &, char const * );
00086 friend BOOL operator < (
00087 char const *, String const & );
00088 friend BOOL operator < (
00089 String const &, char );
00090 friend BOOL operator < (
00091 char, String const & );
00092
00093 friend BOOL operator <= (
00094 String const &, String const & );
00095 friend BOOL operator <= (
00096 String const &, char const * );
00097 friend BOOL operator <= (
00098 char const *, String const & );
00099 friend BOOL operator <= (
00100 String const &, char );
00101 friend BOOL operator <= (
00102 char, String const & );
00103
00104 friend BOOL operator > (
00105 String const &, String const & );
00106 friend BOOL operator > (
00107 String const &, char const * );
00108 friend BOOL operator > (
00109 char const *, String const & );
00110 friend BOOL operator > (
00111 String const &, char );
00112 friend BOOL operator > (
00113 char, String const & );
00114
00115 friend BOOL operator >= (
00116 String const &, String const & );
00117 friend BOOL operator >= (
00118 String const &, char const * );
00119 friend BOOL operator >= (
00120 char const *, String const & );
00121 friend BOOL operator >= (
00122 String const &, char );
00123 friend BOOL operator >= (
00124 char, String const & );
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154 void ReAlloc(int);
00155
00156 void Compact()
00157 { ReAlloc(strlen(cString)); }
00158
00159 int length() const;
00160
00161
00162 int match( char const * ) const;
00163
00164
00165 int index( String const &,
00166 int pos = 0 ) const;
00167 int index( char const *,
00168 int pos = 0 ) const;
00169 int index( char ) const;
00170
00171
00172 String upper() const;
00173 String lower() const;
00174
00175 void TrimLeft( char * lpszTargets );
00176 void TrimLeft( char chTarget );
00177 void TrimRight( char * lpszTargets );
00178 void TrimRight( char chTarget );
00179 };
00180
00181
00182
00183 BOOL operator == (
00184 String const &, String const & );
00185 BOOL operator == (
00186 String const &, char const * );
00187 BOOL operator == (
00188 char const *, String const & );
00189 BOOL operator == (
00190 String const &, char );
00191 BOOL operator == (
00192 char, String const & );
00193 BOOL operator != (
00194 String const &, String const & );
00195 BOOL operator != (
00196 String const &, char const * );
00197 BOOL operator != (
00198 char const *, String const & );
00199 BOOL operator != (
00200 String const &, char );
00201 BOOL operator != (
00202 char, String const & );
00203
00204 BOOL operator < (
00205 String const &, String const & );
00206 BOOL operator < (
00207 String const &, char const * );
00208 BOOL operator < (
00209 char const *, String const & );
00210 BOOL operator < (
00211 String const &, char );
00212 BOOL operator < (
00213 char, String const & );
00214
00215 BOOL operator <= (
00216 String const &, String const & );
00217 BOOL operator <= (
00218 String const &, char const * );
00219 BOOL operator <= (
00220 char const *, String const & );
00221 BOOL operator <= (
00222 String const &, char );
00223 BOOL operator <= (
00224 char, String const & );
00225
00226 BOOL operator > (
00227 String const &, String const & );
00228 BOOL operator > (
00229 String const &, char const * );
00230 BOOL operator > (
00231 char const *, String const & );
00232 BOOL operator > (
00233 String const &, char );
00234 BOOL operator > (
00235 char, String const & );
00236
00237 BOOL operator >= (
00238 String const &, String const & );
00239 BOOL operator >= (
00240 String const &, char const * );
00241 BOOL operator >= (
00242 char const *, String const & );
00243 BOOL operator >= (
00244 String const &, char );
00245 BOOL operator >= (
00246 char, String const & );
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273