/*! Returns a reference to the value for \a key. The return value is of type QJsonValueRef, a helper class for QJsonArray and QJsonObject. When you get an object of type QJsonValueRef, you can use it as if it were a reference to a QJsonValue. If you assign to it, the assignment will apply to the element in the QJsonArray or QJsonObject from which you got the reference. \sa value() */ QJsonValueRef QJsonObject::operator [](const QString &key) { // ### somewhat inefficient, as we lookup the key twice if it doesn't yet exist bool keyExists = false; int index = o ? o->indexOf(key, &keyExists) : -1; if (!keyExists) { iterator i = insert(key, QJsonValue()); index = i.i; } return QJsonValueRef(this, index); }
/*! Returns the value at index position \a i as a modifiable reference. \a i must be a valid index position in the array (i.e., \c{0 <= i < size()}). The return value is of type QJsonValueRef, a helper class for QJsonArray and QJsonObject. When you get an object of type QJsonValueRef, you can use it as if it were a reference to a QJsonValue. If you assign to it, the assignment will apply to the character in the QJsonArray of QJsonObject from which you got the reference. \sa at() */ QJsonValueRef QJsonArray::operator [](int i) { Q_ASSERT(a && i >= 0 && i < (int)a->length); return QJsonValueRef(this, i); }
//------------------------------------------------------------------------------ // Name: operator[] //------------------------------------------------------------------------------ QJsonValueRef QJsonArray::operator[](int i) { return QJsonValueRef(this, i); }