summaryrefslogtreecommitdiff
path: root/qmake/include/qcstring.h
Unidiff
Diffstat (limited to 'qmake/include/qcstring.h') (more/less context) (ignore whitespace changes)
-rw-r--r--qmake/include/qcstring.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/qmake/include/qcstring.h b/qmake/include/qcstring.h
index 004bb3b..6b7352a 100644
--- a/qmake/include/qcstring.h
+++ b/qmake/include/qcstring.h
@@ -8,384 +8,391 @@
8** 8**
9** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. 9** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
10** 10**
11** This file is part of the tools module of the Qt GUI Toolkit. 11** This file is part of the tools module of the Qt GUI Toolkit.
12** 12**
13** This file may be distributed under the terms of the Q Public License 13** This file may be distributed under the terms of the Q Public License
14** as defined by Trolltech AS of Norway and appearing in the file 14** as defined by Trolltech AS of Norway and appearing in the file
15** LICENSE.QPL included in the packaging of this file. 15** LICENSE.QPL included in the packaging of this file.
16** 16**
17** This file may be distributed and/or modified under the terms of the 17** This file may be distributed and/or modified under the terms of the
18** GNU General Public License version 2 as published by the Free Software 18** GNU General Public License version 2 as published by the Free Software
19** Foundation and appearing in the file LICENSE.GPL included in the 19** Foundation and appearing in the file LICENSE.GPL included in the
20** packaging of this file. 20** packaging of this file.
21** 21**
22** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 22** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
23** licenses may use this file in accordance with the Qt Commercial License 23** licenses may use this file in accordance with the Qt Commercial License
24** Agreement provided with the Software. 24** Agreement provided with the Software.
25** 25**
26** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 26** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
27** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 27** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
28** 28**
29** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 29** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
30** information about Qt Commercial License Agreements. 30** information about Qt Commercial License Agreements.
31** See http://www.trolltech.com/qpl/ for QPL licensing information. 31** See http://www.trolltech.com/qpl/ for QPL licensing information.
32** See http://www.trolltech.com/gpl/ for GPL licensing information. 32** See http://www.trolltech.com/gpl/ for GPL licensing information.
33** 33**
34** Contact info@trolltech.com if any conditions of this licensing are 34** Contact info@trolltech.com if any conditions of this licensing are
35** not clear to you. 35** not clear to you.
36** 36**
37**********************************************************************/ 37**********************************************************************/
38 38
39#ifndef QCSTRING_H 39#ifndef QCSTRING_H
40#define QCSTRING_H 40#define QCSTRING_H
41 41
42#ifndef QT_H 42#ifndef QT_H
43#include "qmemarray.h" 43#include "qmemarray.h"
44#endif // QT_H 44#endif // QT_H
45 45
46#include <string.h> 46#include <string.h>
47 47
48 48
49/***************************************************************************** 49/*****************************************************************************
50 Safe and portable C string functions; extensions to standard string.h 50 Safe and portable C string functions; extensions to standard string.h
51 *****************************************************************************/ 51 *****************************************************************************/
52 52
53Q_EXPORT void *qmemmove( void *dst, const void *src, uint len ); 53Q_EXPORT void *qmemmove( void *dst, const void *src, uint len );
54 54
55Q_EXPORT char *qstrdup( const char * ); 55Q_EXPORT char *qstrdup( const char * );
56 56
57Q_EXPORT inline uint qstrlen( const char *str ) 57Q_EXPORT inline uint qstrlen( const char *str )
58{ return str ? (uint)strlen(str) : 0; } 58{ return str ? (uint)strlen(str) : 0; }
59 59
60Q_EXPORT inline char *qstrcpy( char *dst, const char *src ) 60Q_EXPORT inline char *qstrcpy( char *dst, const char *src )
61{ return src ? strcpy(dst, src) : 0; } 61{ return src ? strcpy(dst, src) : 0; }
62 62
63Q_EXPORT char *qstrncpy( char *dst, const char *src, uint len ); 63Q_EXPORT char *qstrncpy( char *dst, const char *src, uint len );
64 64
65Q_EXPORT inline int qstrcmp( const char *str1, const char *str2 ) 65Q_EXPORT inline int qstrcmp( const char *str1, const char *str2 )
66{ 66{
67 return ( str1 && str2 ) ? strcmp( str1, str2 ) 67 return ( str1 && str2 ) ? strcmp( str1, str2 )
68 : ( str1 ? 1 : ( str2 ? -1 : 0 ) ); 68 : ( str1 ? 1 : ( str2 ? -1 : 0 ) );
69} 69}
70 70
71Q_EXPORT inline int qstrncmp( const char *str1, const char *str2, uint len ) 71Q_EXPORT inline int qstrncmp( const char *str1, const char *str2, uint len )
72{ 72{
73 return ( str1 && str2 ) ? strncmp( str1, str2, len ) 73 return ( str1 && str2 ) ? strncmp( str1, str2, len )
74 : ( str1 ? 1 : ( str2 ? -1 : 0 ) ); 74 : ( str1 ? 1 : ( str2 ? -1 : 0 ) );
75} 75}
76 76
77Q_EXPORT int qstricmp( const char *, const char * ); 77Q_EXPORT int qstricmp( const char *, const char * );
78 78
79Q_EXPORT int qstrnicmp( const char *, const char *, uint len ); 79Q_EXPORT int qstrnicmp( const char *, const char *, uint len );
80 80
81#ifndef QT_CLEAN_NAMESPACE 81#ifndef QT_CLEAN_NAMESPACE
82Q_EXPORT inline uint cstrlen( const char *str ) 82Q_EXPORT inline uint cstrlen( const char *str )
83{ return (uint)strlen(str); } 83{ return (uint)strlen(str); }
84 84
85Q_EXPORT inline char *cstrcpy( char *dst, const char *src ) 85Q_EXPORT inline char *cstrcpy( char *dst, const char *src )
86{ return strcpy(dst,src); } 86{ return strcpy(dst,src); }
87 87
88Q_EXPORT inline int cstrcmp( const char *str1, const char *str2 ) 88Q_EXPORT inline int cstrcmp( const char *str1, const char *str2 )
89{ return strcmp(str1,str2); } 89{ return strcmp(str1,str2); }
90 90
91Q_EXPORT inline int cstrncmp( const char *str1, const char *str2, uint len ) 91Q_EXPORT inline int cstrncmp( const char *str1, const char *str2, uint len )
92{ return strncmp(str1,str2,len); } 92{ return strncmp(str1,str2,len); }
93#endif 93#endif
94 94
95 95
96// qChecksum: Internet checksum 96// qChecksum: Internet checksum
97 97
98Q_EXPORT Q_UINT16 qChecksum( const char *s, uint len ); 98Q_EXPORT Q_UINT16 qChecksum( const char *s, uint len );
99 99
100/***************************************************************************** 100/*****************************************************************************
101 QByteArray class 101 QByteArray class
102 *****************************************************************************/ 102 *****************************************************************************/
103 103
104#ifndef QT_QWINEXPORT
104#if defined(Q_TEMPLATEDLL) 105#if defined(Q_TEMPLATEDLL)
105Q_TEMPLATE_EXTERN template class Q_EXPORT QMemArray<char>; 106Q_TEMPLATE_EXTERN template class Q_EXPORT QMemArray<char>;
106#endif 107#endif
108#endif /* QT_QWINEXPORT */
107 109
108#if defined(Q_QDOC) 110#if defined(Q_QDOC)
109/* 111/*
110 We want qdoc to document QByteArray as a real class that inherits 112 We want qdoc to document QByteArray as a real class that inherits
111 QMemArray<char> and that is inherited by QBitArray. 113 QMemArray<char> and that is inherited by QBitArray.
112*/ 114*/
113class QByteArray : public QMemArray<char> 115class QByteArray : public QMemArray<char>
114{ 116{
115public: 117public:
116 QByteArray(); 118 QByteArray();
117 QByteArray( int size ); 119 QByteArray( int size );
118}; 120};
119#else 121#else
120typedef QMemArray<char> QByteArray; 122typedef QMemArray<char> QByteArray;
121#endif 123#endif
122 124
123#ifndef QT_NO_COMPRESS 125#ifndef QT_NO_COMPRESS
124Q_EXPORT QByteArray qCompress( const uchar* data, int nbytes ); 126Q_EXPORT QByteArray qCompress( const uchar* data, int nbytes );
125Q_EXPORT QByteArray qUncompress( const uchar* data, int nbytes ); 127Q_EXPORT QByteArray qUncompress( const uchar* data, int nbytes );
126Q_EXPORT inline QByteArray qCompress( const QByteArray& data) 128Q_EXPORT inline QByteArray qCompress( const QByteArray& data)
127{ return qCompress( (const uchar*)data.data(), data.size() ); } 129{ return qCompress( (const uchar*)data.data(), data.size() ); }
128Q_EXPORT inline QByteArray qUncompress( const QByteArray& data ) 130Q_EXPORT inline QByteArray qUncompress( const QByteArray& data )
129{ return qUncompress( (const uchar*)data.data(), data.size() ); } 131{ return qUncompress( (const uchar*)data.data(), data.size() ); }
130#endif 132#endif
131 133
132/***************************************************************************** 134/*****************************************************************************
133 QByteArray stream functions 135 QByteArray stream functions
134 *****************************************************************************/ 136 *****************************************************************************/
135#ifndef QT_NO_DATASTREAM 137#ifndef QT_NO_DATASTREAM
136Q_EXPORT QDataStream &operator<<( QDataStream &, const QByteArray & ); 138Q_EXPORT QDataStream &operator<<( QDataStream &, const QByteArray & );
137Q_EXPORT QDataStream &operator>>( QDataStream &, QByteArray & ); 139Q_EXPORT QDataStream &operator>>( QDataStream &, QByteArray & );
138#endif 140#endif
139 141
140/***************************************************************************** 142/*****************************************************************************
141 QCString class 143 QCString class
142 *****************************************************************************/ 144 *****************************************************************************/
143 145
144class QRegExp; 146class QRegExp;
145 147
146 class Q_EXPORT QCString : public QByteArray// C string class 148 class Q_EXPORT QCString : public QByteArray// C string class
147{ 149{
148public: 150public:
149 QCString() {} // make null string 151 QCString() {} // make null string
150 QCString( int size ); // allocate size incl. \0 152 QCString( int size ); // allocate size incl. \0
151 QCString( const QCString &s ) : QByteArray( s ) {} 153 QCString( const QCString &s ) : QByteArray( s ) {}
152 QCString( const char *str ); // deep copy 154 QCString( const char *str ); // deep copy
153 QCString( const char *str, uint maxlen );// deep copy, max length 155 QCString( const char *str, uint maxlen );// deep copy, max length
154 ~QCString(); 156 ~QCString();
155 157
156 QCString &operator=( const QCString &s );// shallow copy 158 QCString &operator=( const QCString &s );// shallow copy
157 QCString &operator=( const char *str );// deep copy 159 QCString &operator=( const char *str );// deep copy
158 160
159 bool isNull()const; 161 bool isNull()const;
160 bool isEmpty()const; 162 bool isEmpty()const;
161 uint length()const; 163 uint length()const;
162 boolresize( uint newlen ); 164 boolresize( uint newlen );
163 booltruncate( uint pos ); 165 booltruncate( uint pos );
164 boolfill( char c, int len = -1 ); 166 boolfill( char c, int len = -1 );
165 167
166 QCString copy()const; 168 QCString copy()const;
167 169
168 QCString &sprintf( const char *format, ... ); 170 QCString &sprintf( const char *format, ... );
169 171
170 int find( char c, int index=0, bool cs=TRUE ) const; 172 int find( char c, int index=0, bool cs=TRUE ) const;
171 int find( const char *str, int index=0, bool cs=TRUE ) const; 173 int find( const char *str, int index=0, bool cs=TRUE ) const;
172#ifndef QT_NO_REGEXP 174#ifndef QT_NO_REGEXP
173 int find( const QRegExp &, int index=0 ) const; 175 int find( const QRegExp &, int index=0 ) const;
174#endif 176#endif
175 int findRev( char c, int index=-1, bool cs=TRUE) const; 177 int findRev( char c, int index=-1, bool cs=TRUE) const;
176 int findRev( const char *str, int index=-1, bool cs=TRUE) const; 178 int findRev( const char *str, int index=-1, bool cs=TRUE) const;
177#ifndef QT_NO_REGEXP_CAPTURE 179#ifndef QT_NO_REGEXP_CAPTURE
178 int findRev( const QRegExp &, int index=-1 ) const; 180 int findRev( const QRegExp &, int index=-1 ) const;
179#endif 181#endif
180 int contains( char c, bool cs=TRUE ) const; 182 int contains( char c, bool cs=TRUE ) const;
181 int contains( const char *str, bool cs=TRUE ) const; 183 int contains( const char *str, bool cs=TRUE ) const;
182#ifndef QT_NO_REGEXP 184#ifndef QT_NO_REGEXP
183 int contains( const QRegExp & ) const; 185 int contains( const QRegExp & ) const;
184#endif 186#endif
185 QCStringleft( uint len ) const; 187 QCStringleft( uint len ) const;
186 QCStringright( uint len ) const; 188 QCStringright( uint len ) const;
187 QCStringmid( uint index, uint len=0xffffffff) const; 189 QCStringmid( uint index, uint len=0xffffffff) const;
188 190
189 QCStringleftJustify( uint width, char fill=' ', bool trunc=FALSE)const; 191 QCStringleftJustify( uint width, char fill=' ', bool trunc=FALSE)const;
190 QCStringrightJustify( uint width, char fill=' ',bool trunc=FALSE)const; 192 QCStringrightJustify( uint width, char fill=' ',bool trunc=FALSE)const;
191 193
192 QCStringlower() const; 194 QCStringlower() const;
193 QCStringupper() const; 195 QCStringupper() const;
194 196
195 QCString stripWhiteSpace()const; 197 QCString stripWhiteSpace()const;
196 QCString simplifyWhiteSpace()const; 198 QCString simplifyWhiteSpace()const;
197 199
198 QCString &insert( uint index, const char * ); 200 QCString &insert( uint index, const char * );
199 QCString &insert( uint index, char ); 201 QCString &insert( uint index, char );
200 QCString &append( const char * ); 202 QCString &append( const char * );
201 QCString &prepend( const char * ); 203 QCString &prepend( const char * );
202 QCString &remove( uint index, uint len ); 204 QCString &remove( uint index, uint len );
203 QCString &replace( uint index, uint len, const char * ); 205 QCString &replace( uint index, uint len, const char * );
204#ifndef QT_NO_REGEXP 206#ifndef QT_NO_REGEXP
205 QCString &replace( const QRegExp &, const char * ); 207 QCString &replace( const QRegExp &, const char * );
206#endif 208#endif
207 QCString &replace( char c, const char *after ); 209 QCString &replace( char c, const char *after );
208 QCString &replace( const char *, const char * ); 210 QCString &replace( const char *, const char * );
209 QCString &replace( char, char ); 211 QCString &replace( char, char );
210 212
211 short toShort( bool *ok=0 )const; 213 short toShort( bool *ok=0 )const;
212 ushort toUShort( bool *ok=0 )const; 214 ushort toUShort( bool *ok=0 )const;
213 int toInt( bool *ok=0 )const; 215 int toInt( bool *ok=0 )const;
214 uint toUInt( bool *ok=0 )const; 216 uint toUInt( bool *ok=0 )const;
215 long toLong( bool *ok=0 )const; 217 long toLong( bool *ok=0 )const;
216 ulong toULong( bool *ok=0 )const; 218 ulong toULong( bool *ok=0 )const;
217 float toFloat( bool *ok=0 )const; 219 float toFloat( bool *ok=0 )const;
218 double toDouble( bool *ok=0 )const; 220 double toDouble( bool *ok=0 )const;
219 221
220 QCString &setStr( const char *s ); 222 QCString &setStr( const char *s );
221 QCString &setNum( short ); 223 QCString &setNum( short );
222 QCString &setNum( ushort ); 224 QCString &setNum( ushort );
223 QCString &setNum( int ); 225 QCString &setNum( int );
224 QCString &setNum( uint ); 226 QCString &setNum( uint );
225 QCString &setNum( long ); 227 QCString &setNum( long );
226 QCString &setNum( ulong ); 228 QCString &setNum( ulong );
227 QCString &setNum( float, char f='g', int prec=6 ); 229 QCString &setNum( float, char f='g', int prec=6 );
228 QCString &setNum( double, char f='g', int prec=6 ); 230 QCString &setNum( double, char f='g', int prec=6 );
229 231
230 boolsetExpand( uint index, char c ); 232 boolsetExpand( uint index, char c );
231 233
232 operator const char *() const; 234 operator const char *() const;
233 QCString &operator+=( const char *str ); 235 QCString &operator+=( const char *str );
234 QCString &operator+=( char c ); 236 QCString &operator+=( char c );
237private:
238 intfind( const char *str, int index, bool cs, uint l ) const;
235}; 239};
236 240
237 241
238/***************************************************************************** 242/*****************************************************************************
239 QCString stream functions 243 QCString stream functions
240 *****************************************************************************/ 244 *****************************************************************************/
241#ifndef QT_NO_DATASTREAM 245#ifndef QT_NO_DATASTREAM
242Q_EXPORT QDataStream &operator<<( QDataStream &, const QCString & ); 246Q_EXPORT QDataStream &operator<<( QDataStream &, const QCString & );
243Q_EXPORT QDataStream &operator>>( QDataStream &, QCString & ); 247Q_EXPORT QDataStream &operator>>( QDataStream &, QCString & );
244#endif 248#endif
245 249
246/***************************************************************************** 250/*****************************************************************************
247 QCString inline functions 251 QCString inline functions
248 *****************************************************************************/ 252 *****************************************************************************/
249 253
250inline QCString &QCString::operator=( const QCString &s ) 254inline QCString &QCString::operator=( const QCString &s )
251{ return (QCString&)assign( s ); } 255{ return (QCString&)assign( s ); }
252 256
253inline QCString &QCString::operator=( const char *str ) 257inline QCString &QCString::operator=( const char *str )
254{ return (QCString&)duplicate( str, qstrlen(str)+1 ); } 258{ return (QCString&)duplicate( str, qstrlen(str)+1 ); }
255 259
256inline bool QCString::isNull() const 260inline bool QCString::isNull() const
257{ return data() == 0; } 261{ return data() == 0; }
258 262
259inline bool QCString::isEmpty() const 263inline bool QCString::isEmpty() const
260{ return data() == 0 || *data() == '\0'; } 264{ return data() == 0 || *data() == '\0'; }
261 265
262inline uint QCString::length() const 266inline uint QCString::length() const
263{ return qstrlen( data() ); } 267{ return qstrlen( data() ); }
264 268
265inline bool QCString::truncate( uint pos ) 269inline bool QCString::truncate( uint pos )
266{ return resize(pos+1); } 270{ return resize(pos+1); }
267 271
268inline QCString QCString::copy() const 272inline QCString QCString::copy() const
269{ return QCString( data() ); } 273{ return QCString( data() ); }
270 274
271inline QCString &QCString::prepend( const char *s ) 275inline QCString &QCString::prepend( const char *s )
272{ return insert(0,s); } 276{ return insert(0,s); }
273 277
274inline QCString &QCString::append( const char *s ) 278inline QCString &QCString::append( const char *s )
275{ return operator+=(s); } 279{ return operator+=(s); }
276 280
277inline QCString &QCString::setNum( short n ) 281inline QCString &QCString::setNum( short n )
278{ return setNum((long)n); } 282{ return setNum((long)n); }
279 283
280inline QCString &QCString::setNum( ushort n ) 284inline QCString &QCString::setNum( ushort n )
281{ return setNum((ulong)n); } 285{ return setNum((ulong)n); }
282 286
283inline QCString &QCString::setNum( int n ) 287inline QCString &QCString::setNum( int n )
284{ return setNum((long)n); } 288{ return setNum((long)n); }
285 289
286inline QCString &QCString::setNum( uint n ) 290inline QCString &QCString::setNum( uint n )
287{ return setNum((ulong)n); } 291{ return setNum((ulong)n); }
288 292
289inline QCString &QCString::setNum( float n, char f, int prec ) 293inline QCString &QCString::setNum( float n, char f, int prec )
290{ return setNum((double)n,f,prec); } 294{ return setNum((double)n,f,prec); }
291 295
292inline QCString::operator const char *() const 296inline QCString::operator const char *() const
293{ return (const char *)data(); } 297{ return (const char *)data(); }
294 298
295 299
296/***************************************************************************** 300/*****************************************************************************
297 QCString non-member operators 301 QCString non-member operators
298 *****************************************************************************/ 302 *****************************************************************************/
299 303
300Q_EXPORT inline bool operator==( const QCString &s1, const QCString &s2 ) 304Q_EXPORT inline bool operator==( const QCString &s1, const QCString &s2 )
301{ return qstrcmp( s1.data(), s2.data() ) == 0; } 305{ return qstrcmp( s1.data(), s2.data() ) == 0; }
302 306
303Q_EXPORT inline bool operator==( const QCString &s1, const char *s2 ) 307Q_EXPORT inline bool operator==( const QCString &s1, const char *s2 )
304{ return qstrcmp( s1.data(), s2 ) == 0; } 308{ return qstrcmp( s1.data(), s2 ) == 0; }
305 309
306Q_EXPORT inline bool operator==( const char *s1, const QCString &s2 ) 310Q_EXPORT inline bool operator==( const char *s1, const QCString &s2 )
307{ return qstrcmp( s1, s2.data() ) == 0; } 311{ return qstrcmp( s1, s2.data() ) == 0; }
308 312
309Q_EXPORT inline bool operator!=( const QCString &s1, const QCString &s2 ) 313Q_EXPORT inline bool operator!=( const QCString &s1, const QCString &s2 )
310{ return qstrcmp( s1.data(), s2.data() ) != 0; } 314{ return qstrcmp( s1.data(), s2.data() ) != 0; }
311 315
312Q_EXPORT inline bool operator!=( const QCString &s1, const char *s2 ) 316Q_EXPORT inline bool operator!=( const QCString &s1, const char *s2 )
313{ return qstrcmp( s1.data(), s2 ) != 0; } 317{ return qstrcmp( s1.data(), s2 ) != 0; }
314 318
315Q_EXPORT inline bool operator!=( const char *s1, const QCString &s2 ) 319Q_EXPORT inline bool operator!=( const char *s1, const QCString &s2 )
316{ return qstrcmp( s1, s2.data() ) != 0; } 320{ return qstrcmp( s1, s2.data() ) != 0; }
317 321
318Q_EXPORT inline bool operator<( const QCString &s1, const QCString& s2 ) 322Q_EXPORT inline bool operator<( const QCString &s1, const QCString& s2 )
319{ return qstrcmp( s1.data(), s2.data() ) < 0; } 323{ return qstrcmp( s1.data(), s2.data() ) < 0; }
320 324
321Q_EXPORT inline bool operator<( const QCString &s1, const char *s2 ) 325Q_EXPORT inline bool operator<( const QCString &s1, const char *s2 )
322{ return qstrcmp( s1.data(), s2 ) < 0; } 326{ return qstrcmp( s1.data(), s2 ) < 0; }
323 327
324Q_EXPORT inline bool operator<( const char *s1, const QCString &s2 ) 328Q_EXPORT inline bool operator<( const char *s1, const QCString &s2 )
325{ return qstrcmp( s1, s2.data() ) < 0; } 329{ return qstrcmp( s1, s2.data() ) < 0; }
326 330
327Q_EXPORT inline bool operator<=( const QCString &s1, const QCString &s2 ) 331Q_EXPORT inline bool operator<=( const QCString &s1, const QCString &s2 )
328{ return qstrcmp( s1.data(), s2.data() ) <= 0; } 332{ return qstrcmp( s1.data(), s2.data() ) <= 0; }
329 333
330Q_EXPORT inline bool operator<=( const QCString &s1, const char *s2 ) 334Q_EXPORT inline bool operator<=( const QCString &s1, const char *s2 )
331{ return qstrcmp( s1.data(), s2 ) <= 0; } 335{ return qstrcmp( s1.data(), s2 ) <= 0; }
332 336
333Q_EXPORT inline bool operator<=( const char *s1, const QCString &s2 ) 337Q_EXPORT inline bool operator<=( const char *s1, const QCString &s2 )
334{ return qstrcmp( s1, s2.data() ) <= 0; } 338{ return qstrcmp( s1, s2.data() ) <= 0; }
335 339
336Q_EXPORT inline bool operator>( const QCString &s1, const QCString &s2 ) 340Q_EXPORT inline bool operator>( const QCString &s1, const QCString &s2 )
337{ return qstrcmp( s1.data(), s2.data() ) > 0; } 341{ return qstrcmp( s1.data(), s2.data() ) > 0; }
338 342
339Q_EXPORT inline bool operator>( const QCString &s1, const char *s2 ) 343Q_EXPORT inline bool operator>( const QCString &s1, const char *s2 )
340{ return qstrcmp( s1.data(), s2 ) > 0; } 344{ return qstrcmp( s1.data(), s2 ) > 0; }
341 345
342Q_EXPORT inline bool operator>( const char *s1, const QCString &s2 ) 346Q_EXPORT inline bool operator>( const char *s1, const QCString &s2 )
343{ return qstrcmp( s1, s2.data() ) > 0; } 347{ return qstrcmp( s1, s2.data() ) > 0; }
344 348
345Q_EXPORT inline bool operator>=( const QCString &s1, const QCString& s2 ) 349Q_EXPORT inline bool operator>=( const QCString &s1, const QCString& s2 )
346{ return qstrcmp( s1.data(), s2.data() ) >= 0; } 350{ return qstrcmp( s1.data(), s2.data() ) >= 0; }
347 351
348Q_EXPORT inline bool operator>=( const QCString &s1, const char *s2 ) 352Q_EXPORT inline bool operator>=( const QCString &s1, const char *s2 )
349{ return qstrcmp( s1.data(), s2 ) >= 0; } 353{ return qstrcmp( s1.data(), s2 ) >= 0; }
350 354
351Q_EXPORT inline bool operator>=( const char *s1, const QCString &s2 ) 355Q_EXPORT inline bool operator>=( const char *s1, const QCString &s2 )
352{ return qstrcmp( s1, s2.data() ) >= 0; } 356{ return qstrcmp( s1, s2.data() ) >= 0; }
353 357
354Q_EXPORT inline const QCString operator+( const QCString &s1, 358Q_EXPORT inline const QCString operator+( const QCString &s1,
355 const QCString &s2 ) 359 const QCString &s2 )
356{ 360{
357 QCString tmp( s1.data() ); 361 QCString tmp( s1.data() );
358 tmp += s2; 362 tmp += s2;
359 return tmp; 363 return tmp;
360} 364}
361 365
362Q_EXPORT inline const QCString operator+( const QCString &s1, const char *s2 ) 366Q_EXPORT inline const QCString operator+( const QCString &s1, const char *s2 )
363{ 367{
364 QCString tmp( s1.data() ); 368 QCString tmp( s1.data() );
365 tmp += s2; 369 tmp += s2;
366 return tmp; 370 return tmp;
367} 371}
368 372
369Q_EXPORT inline const QCString operator+( const char *s1, const QCString &s2 ) 373Q_EXPORT inline const QCString operator+( const char *s1, const QCString &s2 )
370{ 374{
371 QCString tmp( s1 ); 375 QCString tmp( s1 );
372 tmp += s2; 376 tmp += s2;
373 return tmp; 377 return tmp;
374} 378}
375 379
376Q_EXPORT inline const QCString operator+( const QCString &s1, char c2 ) 380Q_EXPORT inline const QCString operator+( const QCString &s1, char c2 )
377{ 381{
378 QCString tmp( s1.data() ); 382 QCString tmp( s1.data() );
379 tmp += c2; 383 tmp += c2;
380 return tmp; 384 return tmp;
381} 385}
382 386
383Q_EXPORT inline const QCString operator+( char c1, const QCString &s2 ) 387Q_EXPORT inline const QCString operator+( char c1, const QCString &s2 )
384{ 388{
385 QCString tmp; 389 QCString tmp;
386 tmp += c1; 390 tmp += c1;
387 tmp += s2; 391 tmp += s2;
388 return tmp; 392 return tmp;
389} 393}
390 394
395#ifdef QT_QWINEXPORT
396#include <qwinexport.h>
397#endif /* QT_QWINEXPORT */
391#endif // QCSTRING_H 398#endif // QCSTRING_H