diff options
author | Lars Knoll <lars.knoll@qt.io> | 2020-07-10 14:36:16 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2020-08-24 00:17:04 +0200 |
commit | fb0968049fc6a39d1c42be9862f6d86d4f49be1c (patch) | |
tree | 70e6fe5d5873642a5e2fca75fbe6545a7f762d3c /src/corelib/kernel | |
parent | ab867673f0aa556924792745c12b8774d1e6b4a4 (diff) |
Inline QVariant::constData()
This should speed up quite some of the QVariant operations
Change-Id: Ifae2df39e47e2e1ef1d9a947802bdd17fc66aa66
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r-- | src/corelib/kernel/qvariant.cpp | 11 | ||||
-rw-r--r-- | 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<const void *>(&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<typename T, typename = std::enable_if_t<!std::is_same_v<std::decay_t<T>, QVariant>>> |