📄 qstring.h
字号:
{ 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 QT_ASCII_CAST_WARN bool operator==(const char *s1, const QLatin1String &s2){ return QString::fromAscii(s1) == s2; }inline QT_ASCII_CAST_WARN bool operator!=(const char *s1, const QLatin1String &s2){ return QString::fromAscii(s1) != s2; }inline QT_ASCII_CAST_WARN bool operator<(const char *s1, const QLatin1String &s2){ return (QString::fromAscii(s1) < s2); }inline QT_ASCII_CAST_WARN bool operator>(const char *s1, const QLatin1String &s2){ return (QString::fromAscii(s1) > s2); }inline QT_ASCII_CAST_WARN bool operator<=(const char *s1, const QLatin1String &s2){ return (QString::fromAscii(s1) <= s2); }inline QT_ASCII_CAST_WARN bool operator>=(const char *s1, const QLatin1String &s2){ return (QString::fromAscii(s1) >= s2); }inline bool operator==(const QLatin1String &s1, const QLatin1String &s2){ return (qstrcmp(s1.latin1(), s2.latin1()) == 0); }inline bool operator!=(const QLatin1String &s1, const QLatin1String &s2){ return (qstrcmp(s1.latin1(), s2.latin1()) != 0); }inline bool operator<(const QLatin1String &s1, const QLatin1String &s2){ return (qstrcmp(s1.latin1(), s2.latin1()) < 0); }inline bool operator<=(const QLatin1String &s1, const QLatin1String &s2){ return (qstrcmp(s1.latin1(), s2.latin1()) <= 0); }inline bool operator>(const QLatin1String &s1, const QLatin1String &s2){ return (qstrcmp(s1.latin1(), s2.latin1()) > 0); }inline bool operator>=(const QLatin1String &s1, const QLatin1String &s2){ return (qstrcmp(s1.latin1(), s2.latin1()) >= 0); }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);#endifclass Q_CORE_EXPORT QStringRef { const QString *m_string; int m_position; int m_size;public: inline QStringRef():m_string(0), m_position(0), m_size(0){} inline QStringRef(const QString *string, int position, int size); inline QStringRef(const QString *string); inline QStringRef(const QStringRef &other) :m_string(other.m_string), m_position(other.m_position), m_size(other.m_size) {} inline ~QStringRef(){} inline const QString *string() const { return m_string; } inline int position() const { return m_position; } inline int size() const { return m_size; } inline int count() const { return m_size; } inline int length() const { return m_size; } inline QStringRef &operator=(const QStringRef &other) { m_string = other.m_string; m_position = other.m_position; m_size = other.m_size; return *this; } inline QStringRef &operator=(const QString *string); inline const QChar *unicode() const { if (!m_string) return reinterpret_cast<const QChar *>(QString::shared_null.data); return m_string->unicode() + m_position; } inline const QChar *data() const { return unicode(); } inline const QChar *constData() const { return unicode(); } inline void clear() { m_string = 0; m_position = m_size = 0; } QString toString() const; inline bool isEmpty() const { return m_size == 0; } inline bool isNull() const { return m_string == 0 || m_string->isNull(); } QStringRef appendTo(QString *string) const; inline const QChar at(int i) const { Q_ASSERT(i >= 0 && i < size()); return m_string->at(i + m_position); }};inline QStringRef &QStringRef::operator=(const QString *aString){ m_string = aString; m_position = 0; m_size = aString?aString->size():0; return *this; }inline QStringRef::QStringRef(const QString *aString, int aPosition, int aSize) :m_string(aString), m_position(aPosition), m_size(aSize){}inline QStringRef::QStringRef(const QString *aString) :m_string(aString), m_position(0), m_size(aString?aString->size() : 0){}Q_CORE_EXPORT bool operator==(const QStringRef &s1,const QStringRef &s2);inline bool operator!=(const QStringRef &s1,const QStringRef &s2){ return !(s1 == s2); }Q_CORE_EXPORT bool operator==(const QString &s1,const QStringRef &s2);inline bool operator!=(const QString &s1,const QStringRef &s2){ return !(s1 == s2); }inline bool operator==(const QStringRef &s1,const QString &s2){ return s2 == s1; }inline bool operator!=(const QStringRef &s1,const QString &s2){ return s2 != s1; }Q_CORE_EXPORT bool operator==(const QLatin1String &s1, const QStringRef &s2);inline bool operator!=(const QLatin1String &s1,const QStringRef &s2){ return !(s1 == s2); }inline bool operator==(const QStringRef &s1,const QLatin1String &s2){ return s2 == s1; }inline bool operator!=(const QStringRef &s1,const QLatin1String &s2){ return s2 != s1; }Q_CORE_EXPORT bool operator<(const QStringRef &s1,const QStringRef &s2);inline bool operator>(const QStringRef &s1, const QStringRef &s2){ return s2 < s1; }inline bool operator<=(const QStringRef &s1, const QStringRef &s2){ return !(s1 > s2); }inline bool operator>=(const QStringRef &s1, const QStringRef &s2){ return !(s1 < s2); }inline bool qStringComparisonHelper(const QStringRef &s1, const char *s2){# ifndef QT_NO_TEXTCODEC if (QString::codecForCStrings) return (s1 == QString::fromAscii(s2));# endif return (s1 == QLatin1String(s2));}inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QStringRef &s2){ return qStringComparisonHelper(s2, s1); }inline QT_ASCII_CAST_WARN bool operator==(const QStringRef &s1, const char *s2){ return qStringComparisonHelper(s1, s2); }inline QT_ASCII_CAST_WARN bool operator!=(const char *s1, const QStringRef &s2){ return !qStringComparisonHelper(s2, s1); }inline QT_ASCII_CAST_WARN bool operator!=(const QStringRef &s1, const char *s2){ return !qStringComparisonHelper(s1, s2); }QT_END_HEADER#endif // QSTRING_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -