From fc23fa459c5924bf1cc4564c7bce1fd59d7c972b Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 9 Feb 2024 21:34:41 +0100 Subject: [PATCH] QDataStream: inline status() The implementation is trivial, and unchanged since the beginning of the public project history, so I'd venture that it's safe to commit to it not changing until Qt 7 at this point. The reason to make it inline is that a good stream operator implementation should be checking the stream state quite often, so we shouldn't make that an expensive DLL entry point. Change-Id: Iba8cbfbaf02326c86ab95be17b603cd2e785f78c Reviewed-by: Ivan Solovev --- src/corelib/compat/removed_api.cpp | 11 +++++++++++ src/corelib/serialization/qdatastream.cpp | 7 ++----- src/corelib/serialization/qdatastream.h | 8 ++++++++ 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/corelib/compat/removed_api.cpp b/src/corelib/compat/removed_api.cpp index 1031b2a6093..ddfdcb4911d 100644 --- a/src/corelib/compat/removed_api.cpp +++ b/src/corelib/compat/removed_api.cpp @@ -914,3 +914,14 @@ QUrl QUrl::fromEncoded(const QByteArray &input, ParsingMode mode) // order sections alphabetically to reduce chances of merge conflicts #endif // QT_CORE_REMOVED_SINCE(6, 7) + + +#if QT_CORE_REMOVED_SINCE(6, 8) + +#include "qdatastream.h" // inlined API + +// #include "qotherheader.h" +// // implement removed functions from qotherheader.h +// order sections alphabetically to reduce chances of merge conflicts + +#endif // QT_CORE_REMOVED_SINCE(6, 8) diff --git a/src/corelib/serialization/qdatastream.cpp b/src/corelib/serialization/qdatastream.cpp index 7d25a04978f..29fe9978011 100644 --- a/src/corelib/serialization/qdatastream.cpp +++ b/src/corelib/serialization/qdatastream.cpp @@ -442,16 +442,13 @@ void QDataStream::setFloatingPointPrecision(QDataStream::FloatingPointPrecision } /*! + \fn QDataStream::status() const + Returns the status of the data stream. \sa Status, setStatus(), resetStatus() */ -QDataStream::Status QDataStream::status() const -{ - return q_status; -} - /*! Resets the status of the data stream. diff --git a/src/corelib/serialization/qdatastream.h b/src/corelib/serialization/qdatastream.h index e5b87cb76eb..b01a785ddce 100644 --- a/src/corelib/serialization/qdatastream.h +++ b/src/corelib/serialization/qdatastream.h @@ -122,6 +122,7 @@ public: bool atEnd() const; + QT_CORE_INLINE_SINCE(6, 8) Status status() const; void setStatus(Status status); void resetStatus(); @@ -409,6 +410,13 @@ using QDataStreamIfHasIStreamOperatorsContainer = inline QIODevice *QDataStream::device() const { return dev; } +#if QT_CORE_INLINE_IMPL_SINCE(6, 8) +QDataStream::Status QDataStream::status() const +{ + return q_status; +} +#endif // INLINE_SINCE 6.8 + inline QDataStream::ByteOrder QDataStream::byteOrder() const { return byteorder; }