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
@@ -56,99 +56,101 @@ Q_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();
@@ -187,96 +189,98 @@ public:
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
@@ -343,49 +347,52 @@ Q_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