From dcdd837a5699a840036f3a0a760e05ff552d2193 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C4=99drzej=20Nowacki?= Date: Tue, 24 Apr 2012 12:25:07 +0200 Subject: [PATCH] Replace QByteArrayData class by typedef. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit QByteArrayData was binary compatible with QArrayData, but we do not need a separate class, QArrayData should be sufficient. Preferably we would use QTypedArrayData but it is not POD, therefore it can not be initialized with {} syntax. Change-Id: I1edd7b4f236b06d8f2dbfd8a37a3f5699b6a2c07 Reviewed-by: Thiago Macieira Reviewed-by: João Abecasis Reviewed-by: Olivier Goffart Reviewed-by: Robin Burchell --- src/corelib/kernel/qobjectdefs.h | 3 ++- src/corelib/tools/qbytearray.h | 21 +-------------------- 2 files changed, 3 insertions(+), 21 deletions(-) diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h index cc44245..9053e7e 100644 --- a/src/corelib/kernel/qobjectdefs.h +++ b/src/corelib/kernel/qobjectdefs.h @@ -52,7 +52,8 @@ QT_BEGIN_NAMESPACE class QByteArray; -struct QByteArrayData; +class QArrayData; +typedef QArrayData QByteArrayData; class QString; diff --git a/src/corelib/tools/qbytearray.h b/src/corelib/tools/qbytearray.h index 0f5ebcf..6d4c155 100644 --- a/src/corelib/tools/qbytearray.h +++ b/src/corelib/tools/qbytearray.h @@ -120,26 +120,7 @@ class QString; class QDataStream; template class QList; -struct QByteArrayData -{ - // Keep in sync with QArrayData - - QtPrivate::RefCount ref; - int size; - uint alloc : 31; - uint capacityReserved : 1; - - qptrdiff offset; - - inline char *data() { return reinterpret_cast(this) + offset; } - inline const char *data() const { return reinterpret_cast(this) + offset; } -}; - -Q_STATIC_ASSERT(sizeof(QArrayData) == sizeof(QByteArrayData)); -Q_STATIC_ASSERT(offsetof(QArrayData, ref) == offsetof(QByteArrayData, ref)); -Q_STATIC_ASSERT(offsetof(QArrayData, size) == offsetof(QByteArrayData, size)); -// Can't use offsetof on bitfield members alloc, capacityReserved -Q_STATIC_ASSERT(offsetof(QArrayData, offset) == offsetof(QByteArrayData, offset)); +typedef QArrayData QByteArrayData; template struct QStaticByteArrayData { -- 2.7.4