Inline QVariant::constData()

This should speed up quite some of the QVariant operations

Change-Id: Ifae2df39e47e2e1ef1d9a947802bdd17fc66aa66
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
bb10
Lars Knoll 2020-07-10 14:36:16 +02:00
parent ab867673f0
commit fb0968049f
2 changed files with 4 additions and 10 deletions

View File

@ -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

View File

@ -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>>>