From fb0968049fc6a39d1c42be9862f6d86d4f49be1c Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Fri, 10 Jul 2020 14:36:16 +0200 Subject: [PATCH] Inline QVariant::constData() This should speed up quite some of the QVariant operations Change-Id: Ifae2df39e47e2e1ef1d9a947802bdd17fc66aa66 Reviewed-by: Thiago Macieira --- src/corelib/kernel/qvariant.cpp | 11 ++--------- src/corelib/kernel/qvariant.h | 3 ++- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp index 3c15287d12..66be7a45c5 100644 --- a/src/corelib/kernel/qvariant.cpp +++ b/src/corelib/kernel/qvariant.cpp @@ -3872,19 +3872,12 @@ bool QVariant::equals(const QVariant &v) const } /*! + \fn const void *QVariant::constData() const + \fn const void* QVariant::data() const \internal */ -const void *QVariant::constData() const -{ - return d.is_shared ? d.data.shared->data() : reinterpret_cast(&d.data); -} -/*! - \fn const void* QVariant::data() const - - \internal -*/ /*! \internal diff --git a/src/corelib/kernel/qvariant.h b/src/corelib/kernel/qvariant.h index 0664caba45..50cd729944 100644 --- a/src/corelib/kernel/qvariant.h +++ b/src/corelib/kernel/qvariant.h @@ -351,7 +351,8 @@ class Q_CORE_EXPORT QVariant static Type nameToType(const char *name); void *data(); - const void *constData() const; + const void *constData() const + { return d.is_shared ? d.data.shared->data() : &d.data.ptr; } inline const void *data() const { return constData(); } template, QVariant>>>