diff options
author | Marc Mutz <marc.mutz@qt.io> | 2022-05-16 17:59:23 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-06-13 05:51:31 +0000 |
commit | b19dc4a527ad128dc25425864ac1c30c722cd0de (patch) | |
tree | 165166c4e7345d2348d45446cbe3a58912302d93 /src/corelib | |
parent | dd78bdb992ec4824ef38570e57722ea92b3fdde4 (diff) |
QByteArray: de-inline to/fromStdString()
Removes another owning container manipulation that made the top entry
in Clang -ftime-trace's most-expensive template instantiations in a
QtWidgets build.
Task-number: QTBUG-97601
Change-Id: I8c765ea2e6c46da5188b70c9503dd87e63f6b328
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit d6575f37179aef80490f4ec03a61ab6f5033bd3d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/text/qbytearray.cpp | 8 | ||||
-rw-r--r-- | src/corelib/text/qbytearray.h | 10 |
2 files changed, 10 insertions, 8 deletions
diff --git a/src/corelib/text/qbytearray.cpp b/src/corelib/text/qbytearray.cpp index 573a36d9a0..1219b3d86d 100644 --- a/src/corelib/text/qbytearray.cpp +++ b/src/corelib/text/qbytearray.cpp @@ -4561,6 +4561,10 @@ QByteArray QByteArray::fromPercentEncoding(const QByteArray &input, char percent \sa toStdString(), QString::fromStdString() */ +QByteArray QByteArray::fromStdString(const std::string &s) +{ + return QByteArray(s.data(), qsizetype(s.size())); +} /*! \fn std::string QByteArray::toStdString() const @@ -4574,6 +4578,10 @@ QByteArray QByteArray::fromPercentEncoding(const QByteArray &input, char percent \sa fromStdString(), QString::toStdString() */ +std::string QByteArray::toStdString() const +{ + return std::string(data(), size_t(size())); +} /*! \since 4.4 diff --git a/src/corelib/text/qbytearray.h b/src/corelib/text/qbytearray.h index 4ee6c34baa..a43a1a4128 100644 --- a/src/corelib/text/qbytearray.h +++ b/src/corelib/text/qbytearray.h @@ -430,8 +430,8 @@ public: void shrink_to_fit() { squeeze(); } iterator erase(const_iterator first, const_iterator last); - static inline QByteArray fromStdString(const std::string &s); - inline std::string toStdString() const; + static QByteArray fromStdString(const std::string &s); + std::string toStdString() const; inline qsizetype size() const noexcept { return d->size; } #if QT_DEPRECATED_SINCE(6, 4) @@ -567,12 +567,6 @@ inline QByteArray &QByteArray::setNum(ulong n, int base) inline QByteArray &QByteArray::setNum(float n, char format, int precision) { return setNum(double(n), format, precision); } -inline std::string QByteArray::toStdString() const -{ return std::string(constData(), length()); } - -inline QByteArray QByteArray::fromStdString(const std::string &s) -{ return QByteArray(s.data(), qsizetype(s.size())); } - #if !defined(QT_NO_DATASTREAM) || defined(QT_BOOTSTRAPPED) Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QByteArray &); Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QByteArray &); |