summaryrefslogtreecommitdiffstats
path: root/src/corelib/serialization
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2018-07-08 19:37:18 -0700
committerThiago Macieira <thiago.macieira@intel.com>2018-07-14 04:20:47 +0000
commite92e46348ae0daf7d66a0ab843fc16d37cbc1c69 (patch)
tree44a62c7342099639a5ad33e6cb23d59191ab93ec /src/corelib/serialization
parentf4950cb6e15a7a6c1a6732c9a5ec9d59a2952948 (diff)
QCborArray: add const_iterator overloads for insert/erase/extract
They return regular iterators, since the container has been modified. Change-Id: Id59bdd8f1a804b809e22fffd153f92d4460f9b76 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/serialization')
-rw-r--r--src/corelib/serialization/qcborarray.cpp5
-rw-r--r--src/corelib/serialization/qcborarray.h4
2 files changed, 9 insertions, 0 deletions
diff --git a/src/corelib/serialization/qcborarray.cpp b/src/corelib/serialization/qcborarray.cpp
index 8dabf8c75d..0280aab8d3 100644
--- a/src/corelib/serialization/qcborarray.cpp
+++ b/src/corelib/serialization/qcborarray.cpp
@@ -327,6 +327,9 @@ void QCborArray::insert(qsizetype i, QCborValue &&value)
}
/*!
+ \fn QCborValue QCborArray::extract(iterator it)
+ \fn QCborValue QCborArray::extract(const_iterator it)
+
Extracts a value from the array at the position indicated by iterator \a it
and returns the value so extracted.
@@ -576,6 +579,7 @@ bool QCborArray::contains(const QCborValue &value) const
/*!
\fn QCborArray::iterator QCborArray::insert(iterator before, const QCborValue &value)
+ \fn QCborArray::iterator QCborArray::insert(const_iterator before, const QCborValue &value)
\overload
Inserts \a value into this array before element \a before and returns an
@@ -586,6 +590,7 @@ bool QCborArray::contains(const QCborValue &value) const
/*!
\fn QCborArray::iterator QCborArray::erase(iterator it)
+ \fn QCborArray::iterator QCborArray::erase(const_iterator it)
Removes the element pointed to by the array iterator \a it from this array,
then returns an iterator to the next element (the one that took the same
diff --git a/src/corelib/serialization/qcborarray.h b/src/corelib/serialization/qcborarray.h
index e4c4d58c12..98f409958a 100644
--- a/src/corelib/serialization/qcborarray.h
+++ b/src/corelib/serialization/qcborarray.h
@@ -195,6 +195,7 @@ public:
void prepend(QCborValue &&value) { insert(0, std::move(value)); }
void append(const QCborValue &value) { insert(-1, value); }
void append(QCborValue &&value) { insert(-1, std::move(value)); }
+ QCborValue extract(ConstIterator it) { return extract(Iterator{ it.item.d, it.item.i }); }
QCborValue extract(Iterator it);
void removeAt(qsizetype i);
QCborValue takeAt(qsizetype i) { Q_ASSERT(i < size()); return extract(begin() + i); }
@@ -235,7 +236,10 @@ public:
const_iterator cend() const { return constEnd(); }
iterator insert(iterator before, const QCborValue &value)
{ insert(before.item.i, value); return iterator{d.data(), before.item.i}; }
+ iterator insert(const_iterator before, const QCborValue &value)
+ { insert(before.item.i, value); return iterator{d.data(), before.item.i}; }
iterator erase(iterator it) { removeAt(it.item.i); return iterator{d.data(), it.item.i}; }
+ iterator erase(const_iterator it) { removeAt(it.item.i); return iterator{d.data(), it.item.i}; }
void push_back(const QCborValue &t) { append(t); }
void push_front(const QCborValue &t) { prepend(t); }