?? qstring.h
字號:
inline QString &QString::setNum(long n, int base){ return setNum(qlonglong(n), base); }inline QString &QString::setNum(ulong n, int base){ return setNum(qulonglong(n), base); }inline QString &QString::setNum(float n, char f, int prec){ return setNum(double(n),f,prec); }inline QString QString::arg(int a, int fieldWidth, int base, const QChar &fillChar) const{ return arg(qlonglong(a), fieldWidth, base, fillChar); }inline QString QString::arg(uint a, int fieldWidth, int base, const QChar &fillChar) const{ return arg(qulonglong(a), fieldWidth, base, fillChar); }inline QString QString::arg(long a, int fieldWidth, int base, const QChar &fillChar) const{ return arg(qlonglong(a), fieldWidth, base, fillChar); }inline QString QString::arg(ulong a, int fieldWidth, int base, const QChar &fillChar) const{ return arg(qulonglong(a), fieldWidth, base, fillChar); }inline QString QString::arg(short a, int fieldWidth, int base, const QChar &fillChar) const{ return arg(qlonglong(a), fieldWidth, base, fillChar); }inline QString QString::arg(ushort a, int fieldWidth, int base, const QChar &fillChar) const{ return arg(qulonglong(a), fieldWidth, base, fillChar); }inline QString QString::arg(const QString &a1, const QString &a2) const{ const QString *args[2] = { &a1, &a2 }; return multiArg(2, args); }inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3) const{ const QString *args[3] = { &a1, &a2, &a3 }; return multiArg(3, args); }inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4) const{ const QString *args[4] = { &a1, &a2, &a3, &a4 }; return multiArg(4, args); }inline QString QString::section(QChar asep, int astart, int aend, SectionFlags aflags) const{ return section(QString(asep), astart, aend, aflags); }class Q_CORE_EXPORT QCharRef { QString &s; int i; inline QCharRef(QString &str, int idx) : s(str),i(idx) {} friend class QString;public: // most QChar operations repeated here // all this is not documented: We just say "like QChar" and let it be. inline operator QChar() const { return i < s.d->size ? s.d->data[i] : 0; } inline QCharRef &operator=(const QChar &c) { if (s.d->ref != 1 || i >= s.d->size) s.expand(i); s.d->data[i] = c.unicode(); return *this; } // An operator= for each QChar cast constructors#ifndef QT_NO_CAST_FROM_ASCII inline QT_ASCII_CAST_WARN QCharRef &operator=(char c) { return operator=(QChar::fromAscii(c)); } inline QT_ASCII_CAST_WARN QCharRef &operator=(uchar c) { return operator=(QChar::fromAscii(c)); }#endif inline QCharRef &operator=(const QCharRef &c) { return operator=(QChar(c)); } inline QCharRef &operator=(ushort rc) { return operator=(QChar(rc)); } inline QCharRef &operator=(short rc) { return operator=(QChar(rc)); } inline QCharRef &operator=(uint rc) { return operator=(QChar(rc)); } inline QCharRef &operator=(int rc) { return operator=(QChar(rc)); } // each function... inline bool isNull() const { return QChar(*this).isNull(); } inline bool isPrint() const { return QChar(*this).isPrint(); } inline bool isPunct() const { return QChar(*this).isPunct(); } inline bool isSpace() const { return QChar(*this).isSpace(); } inline bool isMark() const { return QChar(*this).isMark(); } inline bool isLetter() const { return QChar(*this).isLetter(); } inline bool isNumber() const { return QChar(*this).isNumber(); } inline bool isLetterOrNumber() { return QChar(*this).isLetterOrNumber(); } inline bool isDigit() const { return QChar(*this).isDigit(); } inline int digitValue() const { return QChar(*this).digitValue(); } QChar toLower() const { return QChar(*this).toLower(); } QChar toUpper() const { return QChar(*this).toUpper(); }#ifdef QT3_SUPPORT inline QT3_SUPPORT QChar lower() const { return QChar(*this).toLower(); } inline QT3_SUPPORT QChar upper() const { return QChar(*this).toUpper(); }#endif QChar::Category category() const { return QChar(*this).category(); } QChar::Direction direction() const { return QChar(*this).direction(); } QChar::Joining joining() const { return QChar(*this).joining(); } bool hasMirrored() const { return QChar(*this).hasMirrored(); }#ifdef QT3_SUPPORT inline bool QT3_SUPPORT mirrored() const { return hasMirrored(); }#endif QChar mirroredChar() const { return QChar(*this).mirroredChar(); } QString decomposition() const { return QChar(*this).decomposition(); } QChar::Decomposition decompositionTag() const { return QChar(*this).decompositionTag(); } uchar combiningClass() const { return QChar(*this).combiningClass(); } QChar::UnicodeVersion unicodeVersion() const { return QChar(*this).unicodeVersion(); } inline uchar cell() const { return QChar(*this).cell(); } inline uchar row() const { return QChar(*this).row(); } inline void setCell(uchar cell); inline void setRow(uchar row); const char toAscii() const { return QChar(*this).toAscii(); } const char toLatin1() const { return QChar(*this).toLatin1(); }#ifdef QT3_SUPPORT const char latin1() const { return QChar(*this).toLatin1(); } const char ascii() const { return QChar(*this).toAscii(); }#endif const ushort unicode() const { return QChar(*this).unicode(); }};inline void QCharRef::setRow(uchar arow) { QChar(*this).setRow(arow); }inline void QCharRef::setCell(uchar acell) { QChar(*this).setCell(acell); }inline QString::QString() : d(&shared_null) { d->ref.ref(); }inline QString::~QString() { if (!d->ref.deref()) free(d); }inline void QString::reserve(int asize) { if (d->ref != 1 || asize > d->alloc) realloc(asize); }inline QString &QString::setUtf16(const ushort *autf16, int asize){ return setUnicode(reinterpret_cast<const QChar *>(autf16), asize); }inline QCharRef QString::operator[](int i){ Q_ASSERT(i >= 0); return QCharRef(*this, i); }inline QCharRef QString::operator[](uint i){ return QCharRef(*this, i); }inline QString::iterator QString::begin(){ detach(); return reinterpret_cast<QChar*>(d->data); }inline QString::const_iterator QString::begin() const{ return reinterpret_cast<const QChar*>(d->data); }inline QString::const_iterator QString::constBegin() const{ return reinterpret_cast<const QChar*>(d->data); }inline QString::iterator QString::end(){ detach(); return reinterpret_cast<QChar*>(d->data + d->size); }inline QString::const_iterator QString::end() const{ return reinterpret_cast<const QChar*>(d->data + d->size); }inline QString::const_iterator QString::constEnd() const{ return reinterpret_cast<const QChar*>(d->data + d->size); }inline QBool QString::contains(const QString &s, Qt::CaseSensitivity cs) const{ return QBool(indexOf(s, 0, cs) != -1); }inline QBool QString::contains(QChar c, Qt::CaseSensitivity cs) const{ return QBool(indexOf(c, 0, cs) != -1); }inline bool operator==(QString::Null, QString::Null) { return true; }inline bool operator==(QString::Null, const QString &s) { return s.isNull(); }inline bool operator==(const QString &s, QString::Null) { return s.isNull(); }inline bool operator!=(QString::Null, QString::Null) { return false; }inline bool operator!=(QString::Null, const QString &s) { return !s.isNull(); }inline bool operator!=(const QString &s, QString::Null) { return !s.isNull(); }#ifndef QT_NO_CAST_FROM_ASCIIinline bool qStringComparisonHelper(const QString &s1, const char *s2){# ifndef QT_NO_TEXTCODEC if (QString::codecForCStrings) return (s1 == QString::fromAscii(s2));# endif return (s1 == QLatin1String(s2));}inline bool QString::operator==(const char *s) const{ return qStringComparisonHelper(*this, s); }inline bool QString::operator!=(const char *s) const{ return !qStringComparisonHelper(*this, s); }inline bool QString::operator<(const char *s) const{ return *this < QString::fromAscii(s); }inline bool QString::operator>(const char *s) const{ return *this > QString::fromAscii(s); }inline bool QString::operator<=(const char *s) const{ return *this <= QString::fromAscii(s); }inline bool QString::operator>=(const char *s) const{ return *this >= QString::fromAscii(s); }inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QString &s2){ return qStringComparisonHelper(s2, s1); }inline QT_ASCII_CAST_WARN bool operator!=(const char *s1, const QString &s2){ return !qStringComparisonHelper(s2, s1); }inline QT_ASCII_CAST_WARN bool operator<(const char *s1, const QString &s2){ return (QString::fromAscii(s1) < s2); }inline QT_ASCII_CAST_WARN bool operator>(const char *s1, const QString &s2){ return (QString::fromAscii(s1) > s2); }inline QT_ASCII_CAST_WARN bool operator<=(const char *s1, const QString &s2){ return (QString::fromAscii(s1) <= s2); }inline QT_ASCII_CAST_WARN bool operator>=(const char *s1, const QString &s2){ return (QString::fromAscii(s1) >= s2); }inline bool QString::operator==(const QByteArray &s) const{ return qStringComparisonHelper(*this, s.constData()); }inline bool QString::operator!=(const QByteArray &s) const{ return !qStringComparisonHelper(*this, s.constData()); }inline bool QByteArray::operator==(const QString &s) const{ return qStringComparisonHelper(s, constData()); }inline bool QByteArray::operator!=(const QString &s) const{ return !qStringComparisonHelper(s, constData()); }inline bool QByteArray::operator<(const QString &s) const{ return QString::fromAscii(constData(), size()) < s; }inline bool QByteArray::operator>(const QString &s) const{ return QString::fromAscii(constData(), size()) > s; }inline bool QByteArray::operator<=(const QString &s) const{ return QString::fromAscii(constData(), size()) <= s; }inline bool QByteArray::operator>=(const QString &s) const{ return QString::fromAscii(constData(), size()) >= s; }#endif // QT_NO_CAST_FROM_ASCII#ifndef QT_NO_CAST_TO_ASCIIinline QByteArray &QByteArray::append(const QString &s){ return append(s.toAscii()); }inline QByteArray &QByteArray::insert(int i, const QString &s){ return insert(i, s.toAscii()); }inline QByteArray &QByteArray::replace(char c, const QString &after){ return replace(c, after.toAscii()); }inline QByteArray &QByteArray::replace(const QString &before, const char *after){ return replace(before.toAscii(), after); }inline QByteArray &QByteArray::replace(const QString &before, const QByteArray &after){ return replace(before.toAscii(), after); }inline QByteArray &QByteArray::operator+=(const QString &s){ return operator+=(s.toAscii()); }inline int QByteArray::indexOf(const QString &s, int from) const{ return indexOf(s.toAscii(), from); }inline int QByteArray::lastIndexOf(const QString &s, int from) const{ return lastIndexOf(s.toAscii(), from); }# ifdef QT3_SUPPORTinline int QByteArray::find(const QString &s, int from) const{ return indexOf(s.toAscii(), from); }inline int QByteArray::findRev(const QString &s, int from) const{ return lastIndexOf(s.toAscii(), from); }# endif // QT3_SUPPORT#endif // QT_NO_CAST_TO_ASCIIinline const QString operator+(const QString &s1, const QString &s2){ QString t(s1); t += s2; return t; }inline const QString operator+(const QString &s1, QChar s2){ QString t(s1); t += s2; return t; }inline const QString operator+(QChar s1, const QString &s2){ QString t(s1); t += s2; return t; }#ifndef QT_NO_CAST_FROM_ASCIIinline QT_ASCII_CAST_WARN const QString operator+(const QString &s1, const char *s2){ QString t(s1); t += QString::fromAscii(s2); return t; }inline QT_ASCII_CAST_WARN const QString operator+(const char *s1, const QString &s2){ QString t = QString::fromAscii(s1); t += s2; return t; }inline QT_ASCII_CAST_WARN const QString operator+(char c, const QString &s){ QString t = s; t.prepend(QChar::fromAscii(c)); return t; }inline QT_ASCII_CAST_WARN const QString operator+(const QString &s, char c){ QString t = s; t += QChar::fromAscii(c); return t; }inline QT_ASCII_CAST_WARN const QString operator+(const QByteArray &ba, const QString &s){ QString t = QString::fromAscii(ba.constData(), qstrnlen(ba.constData(), ba.size())); t += s; return t; }inline QT_ASCII_CAST_WARN const QString operator+(const QString &s, const QByteArray &ba){ QString t(s); t += QString::fromAscii(ba.constData(), qstrnlen(ba.constData(), ba.size())); return t; }#endif#ifndef QT_NO_STLinline std::string QString::toStdString() const{ const QByteArray asc = toAscii(); return std::string(asc.constData(), asc.length()); }inline QString QString::fromStdString(const std::string &s){ return fromAscii(s.data(), int(s.size())); }# ifndef QT_NO_STL_WCHARinline QStdWString QString::toStdWString() const{ QStdWString str; str.resize(length());#if defined(_MSC_VER) && _MSC_VER >= 1400 // VS2005 crashes if the string is empty if (!length()) return str;#endif str.resize(toWCharArray(&(*str.begin()))); return str;}inline QString QString::fromStdWString(const QStdWString &s){ return fromWCharArray(s.data(), int(s.size())); }# endif#endif#ifdef QT3_SUPPORTinline QChar &QString::ref(uint i){ if (int(i) > d->size || d->ref != 1) resize(qMax(int(i), d->size)); return reinterpret_cast<QChar&>(d->data[i]);}#endif#ifndef QT_NO_DATASTREAMQ_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QString &);Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QString &);#endif#ifdef QT3_SUPPORTclass QConstString : public QString{public: inline QT3_SUPPORT_CONSTRUCTOR QConstString(const QChar *unicode, int size) :QString(unicode, size){} // cannot use fromRawData() due to changed semantics inline QT3_SUPPORT const QString &string() const { return *this; }};#endifQ_DECLARE_TYPEINFO(QString, Q_MOVABLE_TYPE);Q_DECLARE_SHARED(QString)Q_DECLARE_OPERATORS_FOR_FLAGS(QString::SectionFlags)#if defined(Q_OS_WIN32)extern Q_CORE_EXPORT QByteArray qt_winQString2MB(const QString& s, int len=-1);extern Q_CORE_EXPORT QByteArray qt_winQString2MB(const QChar *ch, int len);extern Q_CORE_EXPORT QString qt_winMB2QString(const char* mb, int len=-1);#endifQT_END_HEADER#endif // QSTRING_H
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -