From f3fea329fdd4abbc2f2eec0098d0d5aae1c8cc86 Mon Sep 17 00:00:00 2001 From: Geir Vattekar Date: Mon, 20 Aug 2012 14:31:32 +0200 Subject: [PATCH] Doc: Work on QVariant's equality operator. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTBUG-26018 Change-Id: I6627456d166bc0a036cadeee7bd51aa8e576a818 Reviewed-by: Jędrzej Nowacki --- src/corelib/kernel/qvariant.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp index 8c382592769..fb1292c2319 100644 --- a/src/corelib/kernel/qvariant.cpp +++ b/src/corelib/kernel/qvariant.cpp @@ -2798,6 +2798,12 @@ bool QVariant::convert(const int type, void *ptr) const Returns true if \a v1 and \a v2 are equal; otherwise returns false. + If \a v1 and \a v2 have the same \l{QVariant::}{type()}, the + type's equality operator is used for comparison. If not, it is + attempted to \l{QVariant::}{convert()} \a v2 to the same type as + \a v1. See \l{QVariant::}{canConvert()} for a list of possible + conversions. + \warning This function doesn't support custom types registered with qRegisterMetaType(). */ @@ -2817,8 +2823,13 @@ bool QVariant::convert(const int type, void *ptr) const Compares this QVariant with \a v and returns true if they are equal; otherwise returns false. - In the case of custom types, their equalness operators are not called. - Instead the values' addresses are compared. + QVariant uses the equality operator of the type() it contains to + check for equality. QVariant will try to convert() \a v if its + type is not the same as this variant's type. See canConvert() for + a list of possible conversions. + + \warning This function doesn't support custom types registered + with qRegisterMetaType(). */ /*!