Enable NRVO in QJsonObject::keys()

... for poor compilers (such as GCC).

The test (!d) was changed to match what other
member functions test for, e.g. toVariantHash().

Change-Id: I85aee0df6e50da3623ad0afce24abb586e0bd1bc
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
This commit is contained in:
Marc Mutz 2016-02-02 12:57:21 +01:00
parent 8dc55367ca
commit 448e9fdb57

View File

@ -270,16 +270,14 @@ QVariantHash QJsonObject::toVariantHash() const
*/ */
QStringList QJsonObject::keys() const QStringList QJsonObject::keys() const
{ {
if (!d)
return QStringList();
QStringList keys; QStringList keys;
keys.reserve(o->length); if (o) {
for (uint i = 0; i < o->length; ++i) { keys.reserve(o->length);
QJsonPrivate::Entry *e = o->entryAt(i); for (uint i = 0; i < o->length; ++i) {
keys.append(e->key()); QJsonPrivate::Entry *e = o->entryAt(i);
keys.append(e->key());
}
} }
return keys; return keys;
} }