summaryrefslogtreecommitdiffstats
path: root/src/corelib/serialization/qcborarray.h
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-10-09 01:00:47 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-10-09 01:00:48 +0200
commit69b6845edbb43cf7000942d07f3a326383bdf6d2 (patch)
tree58755c33dfb18a51d194d0f774b1deca6135ce4a /src/corelib/serialization/qcborarray.h
parente2ab24d36f31395c2239b49ac26f2266b69444bd (diff)
parent8e5a2f63c3f6ee49d3f2e1985bf73de7769b0e72 (diff)
Merge remote-tracking branch 'origin/5.12' into dev
Diffstat (limited to 'src/corelib/serialization/qcborarray.h')
-rw-r--r--src/corelib/serialization/qcborarray.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/corelib/serialization/qcborarray.h b/src/corelib/serialization/qcborarray.h
index 9663ee6acd..d96342cfa6 100644
--- a/src/corelib/serialization/qcborarray.h
+++ b/src/corelib/serialization/qcborarray.h
@@ -186,10 +186,15 @@ public:
QCborValue at(qsizetype i) const;
QCborValue first() const { return at(0); }
QCborValue last() const { return at(size() - 1); }
- QCborValue operator[](qsizetype i) const { return at(i); }
+ const QCborValue operator[](qsizetype i) const { return at(i); }
QCborValueRef first() { Q_ASSERT(!isEmpty()); return begin()[0]; }
QCborValueRef last() { Q_ASSERT(!isEmpty()); return begin()[size() - 1]; }
- QCborValueRef operator[](qsizetype i) { Q_ASSERT(i < size()); return begin()[i]; }
+ QCborValueRef operator[](qsizetype i)
+ {
+ if (i >= size())
+ insert(i, QCborValue());
+ return begin()[i];
+ }
void insert(qsizetype i, const QCborValue &value);
void insert(qsizetype i, QCborValue &&value);