diff options
author | Lars Knoll <lars.knoll@qt.io> | 2019-11-14 11:40:46 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2019-12-08 21:51:39 +0100 |
commit | f8d2975b6a8b36bf8dd304c99783947a72081b79 (patch) | |
tree | 220515d469692475dfde18b8c971bf74f3959abd /src | |
parent | 20041afe3bdb3d3476c02897b8da288cba6011f4 (diff) |
Use QString::DataPointer instead of QStringPrivate
Preparations to move QString over to use QArrayDataPointer instead
of it's own private struct.
Change-Id: I7796a595393394083f6a85863e3c710ebbdea149
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/serialization/qbinaryjsonvalue.cpp | 2 | ||||
-rw-r--r-- | src/corelib/serialization/qbinaryjsonvalue_p.h | 2 | ||||
-rw-r--r-- | src/corelib/text/qstring.cpp | 12 | ||||
-rw-r--r-- | src/corelib/text/qstring.h | 13 |
4 files changed, 15 insertions, 14 deletions
diff --git a/src/corelib/serialization/qbinaryjsonvalue.cpp b/src/corelib/serialization/qbinaryjsonvalue.cpp index 92a8fd7ec5..b24bd0fc89 100644 --- a/src/corelib/serialization/qbinaryjsonvalue.cpp +++ b/src/corelib/serialization/qbinaryjsonvalue.cpp @@ -82,7 +82,7 @@ QBinaryJsonValue::QBinaryJsonValue(QBinaryJsonPrivate::MutableData *data, QBinaryJsonValue::QBinaryJsonValue(QString string) : d(nullptr), t(QJsonValue::String) { - stringData = *(QStringPrivate *)(&string); + stringData = string.data_ptr(); stringData.d->ref(); } diff --git a/src/corelib/serialization/qbinaryjsonvalue_p.h b/src/corelib/serialization/qbinaryjsonvalue_p.h index f2ca1a8094..4b39b05316 100644 --- a/src/corelib/serialization/qbinaryjsonvalue_p.h +++ b/src/corelib/serialization/qbinaryjsonvalue_p.h @@ -121,7 +121,7 @@ private: quint64 ui; bool b; double dbl; - QStringPrivate stringData; + QString::DataPointer stringData; const QBinaryJsonPrivate::Base *base; }; QBinaryJsonPrivate::MutableData *d = nullptr; // needed for Objects and Arrays diff --git a/src/corelib/text/qstring.cpp b/src/corelib/text/qstring.cpp index d394b8aebc..0f313e21ed 100644 --- a/src/corelib/text/qstring.cpp +++ b/src/corelib/text/qstring.cpp @@ -4895,7 +4895,7 @@ QString QString::mid(int position, int n) const case QContainerImplHelper::Empty: { QPair<Data *, ushort *> pair = Data::allocate(0); - QStringPrivate empty = { pair.first, pair.second, 0 }; + DataPointer empty = { pair.first, pair.second, 0 }; return QString(empty); } case QContainerImplHelper::Full: @@ -5345,9 +5345,9 @@ QVector<uint> QtPrivate::convertToUcs4(QStringView string) return qt_convert_to_ucs4(string); } -QStringPrivate QString::fromLatin1_helper(const char *str, int size) +QString::DataPointer QString::fromLatin1_helper(const char *str, int size) { - QStringPrivate d; + DataPointer d; if (!str) { d.d = Data::sharedNull(); d.b = Data::sharedNullData(); @@ -5373,7 +5373,7 @@ QStringPrivate QString::fromLatin1_helper(const char *str, int size) return d; } -QStringPrivate QString::fromAscii_helper(const char *str, int size) +QString::DataPointer QString::fromAscii_helper(const char *str, int size) { QString s = fromUtf8(str, size); s.d.d->ref(); @@ -5423,7 +5423,7 @@ QString QString::fromLocal8Bit_helper(const char *str, int size) return QString(); if (size == 0 || (!*str && size < 0)) { QPair<Data *, ushort *> pair = Data::allocate(0); - QStringPrivate empty = { pair.first, pair.second, 0 }; + QString::DataPointer empty = { pair.first, pair.second, 0 }; return QString(empty); } #if QT_CONFIG(textcodec) @@ -9098,7 +9098,7 @@ bool QString::isRightToLeft() const */ QString QString::fromRawData(const QChar *unicode, int size) { - QStringPrivate x; + QString::DataPointer x; x.size = size; if (!unicode) { x.d = Data::sharedNull(); diff --git a/src/corelib/text/qstring.h b/src/corelib/text/qstring.h index 3048c7a8cc..27dc99b2e5 100644 --- a/src/corelib/text/qstring.h +++ b/src/corelib/text/qstring.h @@ -247,6 +247,8 @@ class Q_CORE_EXPORT QString { typedef QTypedArrayData<ushort> Data; public: + typedef QStringPrivate DataPointer; + inline QString() noexcept; explicit QString(const QChar *unicode, int size = -1); QString(QChar c); @@ -916,7 +918,7 @@ public: bool isRightToLeft() const; QString(int size, Qt::Initialization); - explicit QString(QStringPrivate dd) : d(dd) {} + explicit QString(DataPointer dd) : d(dd) {} private: #if defined(QT_NO_CAST_FROM_ASCII) @@ -928,7 +930,7 @@ private: QString &operator=(const QByteArray &a); #endif - QStringPrivate d; + DataPointer d; friend inline bool operator==(QChar, const QString &) noexcept; friend inline bool operator< (QChar, const QString &) noexcept; @@ -966,8 +968,8 @@ private: static QString trimmed_helper(QString &str); static QString simplified_helper(const QString &str); static QString simplified_helper(QString &str); - static QStringPrivate fromLatin1_helper(const char *str, int size = -1); - static QStringPrivate fromAscii_helper(const char *str, int size = -1); + static DataPointer fromLatin1_helper(const char *str, int size = -1); + static DataPointer fromAscii_helper(const char *str, int size = -1); static QString fromUtf8_helper(const char *str, int size); static QString fromLocal8Bit_helper(const char *, int size); static QByteArray toLatin1_helper(const QString &); @@ -1002,8 +1004,7 @@ private: } public: - typedef QStringPrivate DataPtr; - inline DataPtr &data_ptr() { return d; } + inline DataPointer &data_ptr() { return d; } }; // |