📄 qstring.h
字号:
inline QString &QString::setNum(ushort n, int base){ return setNum(qulonglong(n), base); }inline QString &QString::setNum(int n, int base){ return setNum(qlonglong(n), base); }inline QString &QString::setNum(uint n, int base){ return setNum(qulonglong(n), base); }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 QCharRef &operator=(char c) { return operator=(QChar(c)); } inline QCharRef &operator=(uchar c) { return operator=(QChar(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 QString::operator==(const char *s) const {# ifndef QT_NO_TEXTCODEC if (codecForCStrings) return (*this == QString::fromAscii(s));# endif return (*this == QLatin1String(s));}inline bool QString::operator!=(const char *s) const{ return !(*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 bool operator==(const char *s1, const QString &s2) { return (s2 == s1); }inline bool operator!=(const char *s1, const QString &s2) { return !(s2 == s1); }inline bool operator<(const char *s1, const QString &s2) { return (QString::fromAscii(s1) < s2); }inline bool operator>(const char *s1, const QString &s2) { return (QString::fromAscii(s1) > s2); }inline bool operator<=(const char *s1, const QString &s2) { return (QString::fromAscii(s1) <= s2); }inline bool operator>=(const char *s1, const QString &s2) { return (QString::fromAscii(s1) >= s2); }inline bool QByteArray::operator==(const QString &s) const { return constData() == s; }inline bool QByteArray::operator!=(const QString &s) const { return !(constData() == s); }inline bool QByteArray::operator<(const QString &s) const { return constData() < s; }inline bool QByteArray::operator>(const QString &s) const { return constData() > s; }inline bool QByteArray::operator<=(const QString &s) const { return constData() <= s; }inline bool QByteArray::operator>=(const QString &s) const { return constData() >= 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, after.constData()); }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, from); }inline int QByteArray::findRev(const QString &s, int from) const{ return lastIndexOf(s, 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 const QString operator+(const QString &s1, const char *s2){ QString t(s1); t += QString::fromAscii(s2); return t; }inline const QString operator+(const char *s1, const QString &s2){ QString t(s1); t += s2; return t; }inline const QString operator+(char c, const QString &s){ QString t = s; t.prepend(QChar(c)); return t; }inline const QString operator+(const QString &s, char c){ QString t(s); t += c; return t; }inline const QString operator+(const QByteArray &ba, const QString &s){ QString t(ba); t += s; return t; }inline const QString operator+(const QString &s, const QByteArray &ba){ QString t(s); t += ba; 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 + -