summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qdebug.h
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2023-07-07 13:10:43 +0200
committerAhmad Samir <a.samirh78@gmail.com>2023-07-10 13:51:52 +0000
commit568ab62185bfa7876db4d8804101a8f946b04898 (patch)
tree7ec4d509420f1bc55afe9236a8ceade4811f3848 /src/corelib/io/qdebug.h
parentd4e3d008fe95be309f40e25cb08b0639c926bf76 (diff)
QDebug: rewrite timeUnit() into putTimeUnit()
This avoids us committing to the QByteArray return value, which is overkill for short strings. Instead, pull the streaming of the unit behind the ABI boundary, so we're free to change the implementation to either stream directly or use SSO'ed std::string. Pick-to: 6.6 Change-Id: I10927acb9d64077d9018b667958ca16be218012a Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/corelib/io/qdebug.h')
-rw-r--r--src/corelib/io/qdebug.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/corelib/io/qdebug.h b/src/corelib/io/qdebug.h
index 39f706b064..f5a35236e1 100644
--- a/src/corelib/io/qdebug.h
+++ b/src/corelib/io/qdebug.h
@@ -68,7 +68,7 @@ class QT6_ONLY(Q_CORE_EXPORT) QDebug : public QIODeviceBase
QT7_ONLY(Q_CORE_EXPORT) void putUcs4(uint ucs4);
QT7_ONLY(Q_CORE_EXPORT) void putString(const QChar *begin, size_t length);
QT7_ONLY(Q_CORE_EXPORT) void putByteArray(const char *begin, size_t length, Latin1Content content);
- QT7_ONLY(Q_CORE_EXPORT) static QByteArray timeUnit(qint64 num, qint64 den);
+ QT7_ONLY(Q_CORE_EXPORT) void putTimeUnit(qint64 num, qint64 den);
public:
explicit QDebug(QIODevice *device) : stream(new Stream(device)) {}
explicit QDebug(QString *string) : stream(new Stream(string)) {}
@@ -197,7 +197,8 @@ public:
template <typename Rep, typename Period>
QDebug &operator<<(std::chrono::duration<Rep, Period> duration)
{
- stream->ts << duration.count() << timeUnit(Period::num, Period::den);
+ stream->ts << duration.count();
+ putTimeUnit(Period::num, Period::den);
return maybeSpace();
}