46 #define QT_NO_ASCII_CAST 61 QChar( uchar c, uchar r );
68 QT_STATIC_CONST
QChar null;
69 QT_STATIC_CONST
QChar replacement;
70 QT_STATIC_CONST
QChar byteOrderMark;
71 QT_STATIC_CONST
QChar byteOrderSwapped;
72 QT_STATIC_CONST
QChar nbsp;
81 Mark_SpacingCombining,
104 Punctuation_Connector,
108 Punctuation_InitialQuote,
109 Punctuation_FinalQuote,
120 DirL, DirR, DirEN, DirES, DirET, DirAN, DirCS, DirB, DirS, DirWS, DirON,
121 DirLRE, DirLRO, DirAL, DirRLE, DirRLO, DirPDF, DirNSM, DirBN
126 Single, Canonical, Font, NoBreak, Initial, Medial,
127 Final, Isolated, Circle, Super, Sub, Vertical,
128 Wide, Narrow, Small, Square, Compat, Fraction
133 OtherJoining, Dual, Right, Center
138 int digitValue()
const;
145 bool mirrored()
const;
146 QChar mirroredChar()
const;
150 char latin1()
const {
return rw ? 0 : cl; }
151 ushort
unicode()
const {
return (rw << 8) | cl; }
152 #ifndef QT_NO_CAST_ASCII 154 operator char()
const {
return latin1(); }
157 bool isNull()
const {
return unicode()==0; }
158 bool isPrint()
const;
159 bool isPunct()
const;
160 bool isSpace()
const;
162 bool isLetter()
const;
163 bool isNumber()
const;
164 bool isLetterOrNumber()
const;
165 bool isDigit()
const;
168 uchar&
row() {
return rw; }
169 uchar
cell()
const {
return cl; }
170 uchar
row()
const {
return rw; }
174 friend inline int operator==(
char ch,
QChar c );
175 friend inline int operator==(
QChar c,
char ch );
176 friend inline int operator==(
QChar c1,
QChar c2 );
177 friend inline int operator!=(
QChar c1,
QChar c2 );
178 friend inline int operator!=(
char ch,
QChar c );
179 friend inline int operator!=(
QChar c,
char ch );
180 friend inline int operator<=(
QChar c,
char ch );
181 friend inline int operator<=(
char ch,
QChar c );
182 friend inline int operator<=(
QChar c1,
QChar c2 );
185 #if defined(_WS_X11_) || defined(_OS_WIN32_BYTESWAP_) || defined( _WS_QWS_ ) 190 #if defined(QT_QSTRING_UCS_4) 193 enum { net_ordered = 1 };
198 #if defined(QT_QSTRING_UCS_4) 201 enum { net_ordered = 0 };
208 #ifdef QT_QSTRING_UCS_4 214 rw = 0; cl = (uchar)c;
215 #ifdef QT_QSTRING_UCS_4 222 #ifdef QT_QSTRING_UCS_4 229 #ifdef QT_QSTRING_UCS_4 235 rw = c.rw; cl = c.cl;
236 #ifdef QT_QSTRING_UCS_4 242 rw = (uchar)((rc>>8)&0xff); cl = (uchar)(rc&0xff);
243 #ifdef QT_QSTRING_UCS_4 249 rw = (uchar)((rc>>8)&0xff); cl = (uchar)(rc&0xff);
250 #ifdef QT_QSTRING_UCS_4 256 rw = (uchar)((rc>>8)&0xff); cl = (uchar)(rc&0xff);
257 #ifdef QT_QSTRING_UCS_4 263 rw = (uchar)((rc>>8)&0xff); cl = (uchar)(rc&0xff);
264 #ifdef QT_QSTRING_UCS_4 270 inline int operator==(
char ch,
QChar c )
272 return ch == c.cl && !c.rw;
275 inline int operator==(
QChar c,
char ch )
277 return ch == c.cl && !c.rw;
282 return c1.cl == c2.cl
288 return c1.cl != c2.cl
292 inline int operator!=(
char ch,
QChar c )
294 return ch != c.cl || c.rw;
297 inline int operator!=(
QChar c,
char ch )
299 return ch != c.cl || c.rw;
302 inline int operator<=(
QChar c,
char ch )
304 return !(ch < c.cl || c.rw);
307 inline int operator<=(
char ch,
QChar c )
309 return ch <= c.cl || c.rw;
321 inline int operator>=(
QChar c,
char ch ) {
return ch <= c; }
322 inline int operator>=(
char ch,
QChar c ) {
return c <= ch; }
323 inline int operator>=(
QChar c1,
QChar c2 ) {
return c2 <= c1; }
324 inline int operator<(
QChar c,
char ch ) {
return !(ch<=c); }
325 inline int operator<(
char ch,
QChar c ) {
return !(c<=ch); }
326 inline int operator<(
QChar c1,
QChar c2 ) {
return !(c2<=c1); }
327 inline int operator>(
QChar c,
char ch ) {
return !(ch>=c); }
328 inline int operator>(
char ch,
QChar c ) {
return !(c>=ch); }
329 inline int operator>(
QChar c1,
QChar c2 ) {
return !(c2>=c1); }
334 unicode(0), ascii(0), len(0), maxl(0), dirtyascii(0) { ref(); }
335 QStringData(
QChar *u, uint l, uint m) :
336 unicode(u), ascii(0), len(l), maxl(m), dirtyascii(0) { }
338 ~QStringData() {
if ( unicode )
delete[] ((
char*)unicode);
339 if ( ascii )
delete[] ascii; }
359 #ifndef QT_NO_CAST_ASCII 365 #ifndef QT_NO_CAST_ASCII 366 QString &operator=(
const char * );
376 static const Null null;
377 inline QString(
const Null &): d(shared_null) { d->ref(); }
379 inline bool isNull()
const {
return d == shared_null; }
381 bool isEmpty()
const;
383 void truncate( uint pos );
385 #if QT_VERSION >= 300 386 #error "fill() Should return *this, or QChar constructor should take count=1" 388 void fill(
QChar c,
int len = -1 );
392 QString arg(
long a,
int fieldwidth=0,
int base=10)
const;
393 QString arg(ulong a,
int fieldwidth=0,
int base=10)
const;
394 QString arg(
int a,
int fieldwidth=0,
int base=10)
const;
395 QString arg(uint a,
int fieldwidth=0,
int base=10)
const;
396 QString arg(
short a,
int fieldwidth=0,
int base=10)
const;
397 QString arg(ushort a,
int fieldwidth=0,
int base=10)
const;
398 QString arg(
char a,
int fieldwidth=0)
const;
401 QString arg(
double a,
int fieldwidth=0,
char fmt=
'g',
int prec=-1)
const;
403 QString &sprintf(
const char* format, ... )
404 #if defined(_CC_GNU_) && !defined(__INSURE__) 405 __attribute__ ((format (printf, 2, 3)))
409 int find(
QChar c,
int index=0,
bool cs=TRUE )
const;
410 int find(
char c,
int index=0,
bool cs=TRUE )
const;
411 int find(
const QString &str,
int index=0,
bool cs=TRUE )
const;
412 int find(
const QRegExp &,
int index=0 )
const;
413 #ifndef QT_NO_CAST_ASCII 414 int find(
const char* str,
int index=0 )
const;
416 int findRev(
QChar c,
int index=-1,
bool cs=TRUE)
const;
417 int findRev(
char c,
int index=-1,
bool cs=TRUE)
const;
418 int findRev(
const QString &str,
int index=-1,
bool cs=TRUE)
const;
419 int findRev(
const QRegExp &,
int index=-1 )
const;
420 #ifndef QT_NO_CAST_ASCII 421 int findRev(
const char* str,
int index=-1 )
const;
423 int contains(
QChar c,
bool cs=TRUE )
const;
425 {
return contains(
QChar(c), cs); }
426 #ifndef QT_NO_CAST_ASCII 427 int contains(
const char* str,
bool cs=TRUE )
const;
429 int contains(
const QString &str,
bool cs=TRUE )
const;
430 int contains(
const QRegExp & )
const;
432 QString left( uint len )
const;
433 QString right( uint len )
const;
434 QString mid( uint index, uint len=0xffffffff)
const;
436 QString leftJustify( uint width,
QChar fill=
' ',
bool trunc=FALSE)
const;
437 QString rightJustify( uint width,
QChar fill=
' ',
bool trunc=FALSE)
const;
442 QString stripWhiteSpace()
const;
443 QString simplifyWhiteSpace()
const;
455 QString &
remove( uint index, uint len );
457 QString &replace( uint index, uint len,
const QChar*, uint clen );
460 short toShort(
bool *ok=0,
int base=10 )
const;
461 ushort toUShort(
bool *ok=0,
int base=10 )
const;
462 int toInt(
bool *ok=0,
int base=10 )
const;
463 uint toUInt(
bool *ok=0,
int base=10 )
const;
464 long toLong(
bool *ok=0,
int base=10 )
const;
465 ulong toULong(
bool *ok=0,
int base=10 )
const;
466 uint64 toUInt64(
bool *ok=0,
int base=10 )
const;
467 float toFloat(
bool *ok=0 )
const;
468 double toDouble(
bool *ok=0 )
const;
470 QString &setNum(
short,
int base=10 );
471 QString &setNum( ushort,
int base=10 );
472 QString &setNum(
int,
int base=10 );
473 QString &setNum( uint,
int base=10 );
474 QString &setNum(
long,
int base=10 );
475 QString &setNum( ulong,
int base=10 );
476 QString &setNum(
float,
char f=
'g',
int prec=6 );
477 QString &setNum(
double,
char f=
'g',
int prec=6 );
479 static QString number(
long,
int base=10 );
480 static QString number( ulong,
int base=10);
481 static QString number(
int,
int base=10 );
482 static QString number( uint,
int base=10);
483 static QString number(
double,
char f=
'g',
int prec=6 );
485 void setExpand( uint index,
QChar c );
493 {
return i<d->len ? d->
unicode[i] : QChar::null; }
502 if (d->count!=1 || i>=d->len)
505 return d->unicode[i];
509 const char* ascii()
const;
510 const char* latin1()
const;
511 static QString fromLatin1(
const char*,
int len=-1);
512 const unsigned short *ucs2()
const;
513 static QString fromUcs2(
const unsigned short *ucs2 );
514 #ifndef QT_NO_TEXTCODEC 516 static QString fromUtf8(
const char*,
int len=-1);
519 static QString fromLocal8Bit(
const char*,
int len=-1);
520 bool operator!()
const;
521 #ifndef QT_NO_ASCII_CAST 522 operator const char *()
const {
return latin1(); }
526 QString &setUnicodeCodes(
const ushort* unicode_as_ushorts, uint len );
527 QString &setLatin1(
const char*,
int len=-1 );
529 int compare(
const QString& s )
const;
533 #ifndef QT_NO_DATASTREAM 539 QString visual(
int index = 0,
int len = -1);
542 const char*
data()
const {
return latin1(); }
545 bool startsWith(
const QString& )
const;
548 QString(
int size,
bool dummy );
552 void setLength( uint pos );
554 bool findArg(
int& pos,
int& len)
const;
556 static QChar* asciiToUnicode(
const char*, uint * len, uint maxlen=(uint)-1 );
558 static char* unicodeToAscii(
const QChar*, uint len );
580 char latin1()
const {
return s.constref(p).latin1(); }
592 operator QChar ()
const {
return s.constref(p); }
596 bool isPrint()
const {
return s.constref(p).
isPrint(); }
597 bool isPunct()
const {
return s.constref(p).isPunct(); }
598 bool isSpace()
const {
return s.constref(p).isSpace(); }
599 bool isMark()
const {
return s.constref(p).isMark(); }
600 bool isLetter()
const {
return s.constref(p).isLetter(); }
601 bool isNumber()
const {
return s.constref(p).isNumber(); }
602 bool isLetterOrNumber() {
return s.constref(p).isLetterOrNumber(); }
603 bool isDigit()
const {
return s.constref(p).isDigit(); }
605 int digitValue()
const {
return s.constref(p).digitValue(); }
611 QChar::Joining joining()
const {
return s.constref(p).joining(); }
612 bool mirrored()
const {
return s.constref(p).mirrored(); }
618 uchar cell()
const {
return s.constref(p).cell(); }
619 uchar row()
const {
return s.constref(p).row(); }
638 #ifndef QT_NO_DATASTREAM 653 d(shared_null ? shared_null : makeSharedNull())
661 if ( d == shared_null )
707 {
return setNum((
long)n, base); }
710 {
return setNum((ulong)n, base); }
713 {
return setNum((
long)n, base); }
716 {
return setNum((ulong)n, base); }
719 {
return setNum((
double)n,f,prec); }
722 {
return arg((
long)a, fieldwidth, base); }
725 {
return arg((ulong)a, fieldwidth, base); }
728 {
return arg((
long)a, fieldwidth, base); }
731 {
return arg((ulong)a, fieldwidth, base); }
740 #ifndef QT_NO_CAST_ASCII 759 #ifndef QT_NO_CAST_ASCII 781 #ifndef QT_NO_CAST_ASCII 827 #if defined(_OS_WIN32_) 828 extern Q_EXPORT
QString qt_winQString(
void*);
829 extern Q_EXPORT
const void* qt_winTchar(
const QString& str,
bool addnul);
830 extern Q_EXPORT
void* qt_winTchar_new(
const QString& str);
831 extern Q_EXPORT
QCString qt_winQString2MB(
const QString& s,
int len=-1 );
832 extern Q_EXPORT
QString qt_winMB2QString(
const char* mb,
int len=-1 );
Joining
Definition: qstring.h:131
A QString which uses constant Unicode data.
Definition: qstring.h:627
Category
Definition: qstring.h:76
QChar()
Definition: qstring.h:205
const char * latin1() const
Definition: qstring.cpp:14457
bool operator!() const
Definition: qstring.h:676
The QRegExp class provides pattern matching using regular expressions or wildcards.
Definition: qregexp.h:46
ushort unicode() const
Definition: qstring.h:151
bool isNull() const
Definition: qstring.h:157
QString copy() const
Definition: qstring.h:685
QChar upper() const
Definition: qstring.cpp:11248
char latin1() const
Definition: qstring.h:150
QString & insert(uint index, char c)
Definition: qstring.h:448
Decomposition decompositionTag() const
Definition: qstring.cpp:11210
QString & append(char)
Definition: qstring.h:703
bool operator<(const QString &s1, const char *s2)
Definition: qstring.cpp:14878
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
int contains(char c, bool cs=TRUE) const
Definition: qstring.h:424
bool operator>=(const QString &s1, const char *s2)
Definition: qstring.cpp:14896
bool isPrint() const
Definition: qstring.cpp:10996
Definition: qstring.h:332
const char * data() const
Definition: qstring.h:542
static QString fromLatin1(const char *, int len=-1)
Definition: qstring.cpp:14539
The QChar class provides a light-weight Unicode character.
Definition: qstring.h:56
Category category() const
Definition: qstring.cpp:11096
~QString()
Definition: qstring.h:658
uchar & cell()
Definition: qstring.h:167
bool operator<=(const QString &s1, const char *s2)
Definition: qstring.cpp:14884
QString & prepend(char)
Definition: qstring.h:694
QChar constref(uint i) const
Definition: qstring.h:498
const QChar * unicode() const
Definition: qstring.h:508
QString & setNum(short, int base=10)
Definition: qstring.h:706
bool isEmpty() const
Definition: qstring.h:682
QString & operator+=(const QString &str)
Definition: qstring.cpp:14399
uint length() const
Definition: qstring.h:679
static bool networkOrdered()
Definition: qstring.h:172
QChar mirroredChar() const
Definition: qstring.cpp:11165
QChar lower() const
Definition: qstring.cpp:11229
QString operator+(const QString &s1, const QString &s2)
Definition: qstring.h:774
QString lower() const
Definition: qstring.cpp:13375
QString upper() const
Definition: qstring.cpp:13404
bool isNull() const
Definition: qstring.h:379
QChar at(uint i) const
Definition: qstring.h:492
QString & operator=(const QString &)
Definition: qstring.cpp:12402
int compare(const QString &s) const
Definition: qstring.cpp:14838
Direction
Definition: qstring.h:118
QChar operator[](int i) const
Definition: qstring.h:494
bool operator>(const QString &s1, const char *s2)
Definition: qstring.cpp:14890
bool operator==(const QString &s1, const QString &s2)
Definition: qstring.cpp:14843
The QCharRef class is a helper class for QString.
Definition: qstring.h:568
uchar cell() const
Definition: qstring.h:169
QString arg(long a, int fieldwidth=0, int base=10) const
Definition: qstring.cpp:12593
int findRev(QChar c, int index=-1, bool cs=TRUE) const
Definition: qstring.cpp:13021
uchar & row()
Definition: qstring.h:168
The QShared struct is internally used for implementing shared classes.
Definition: qshared.h:46
bool operator!=(const QString &s1, const QString &s2)
Definition: qstring.cpp:14850
The QDataStream class provides serialization of binary data to a QIODevice.
Definition: qdatastream.h:47
QChar & ref(uint i)
Definition: qstring.h:500
Definition: qstring.h:375
This is an alternative implementation of QCString.
Definition: qcstring.h:131
QString decomposition() const
Definition: qstring.cpp:11186
static int compare(const QString &s1, const QString &s2)
Definition: qstring.h:530
uchar row() const
Definition: qstring.h:170
QString & insert(uint index, const QString &)
Definition: qstring.cpp:13523
int find(QChar c, int index=0, bool cs=TRUE) const
Definition: qstring.cpp:12902
QString()
Definition: qstring.h:652
const QString & string() const
Definition: qstring.h:631
Decomposition
Definition: qstring.h:124