const_iterator Class
class QJsonObject::const_iteratorThe QJsonObject::const_iterator class provides an STL-style const iterator for QJsonObject. More...
This class was introduced in Qt 5.0.
Public Types
typedef | iterator_category |
Public Functions
const_iterator(const iterator &other) | |
const_iterator() | |
QString | key() const |
QJsonValue | value() const |
bool | operator!=(const const_iterator &other) const |
bool | operator!=(const iterator &other) const |
QJsonValue | operator*() const |
const_iterator | operator+(int j) const |
const_iterator & | operator++() |
const_iterator | operator++(int) |
const_iterator & | operator+=(int j) |
const_iterator | operator-(int j) const |
int | operator-(const_iterator other) const |
const_iterator & | operator--() |
const_iterator | operator--(int) |
const_iterator & | operator-=(int j) |
QJsonValue * | operator->() const |
bool | operator<(const const_iterator &other) const |
bool | operator<=(const const_iterator &other) const |
bool | operator==(const const_iterator &other) const |
bool | operator==(const iterator &other) const |
bool | operator>(const const_iterator &other) const |
bool | operator>=(const const_iterator &other) const |
const QJsonValue | operator[](int j) |
Detailed Description
QJsonObject::const_iterator allows you to iterate over a QJsonObject. If you want to modify the QJsonObject as you iterate over it, you must use QJsonObject::iterator instead. It is generally good practice to use QJsonObject::const_iterator on a non-const QJsonObject as well, unless you need to change the QJsonObject through the iterator. Const iterators are slightly faster and improve code readability.
The default QJsonObject::const_iterator constructor creates an uninitialized iterator. You must initialize it using a QJsonObject function like QJsonObject::constBegin(), QJsonObject::constEnd(), or QJsonObject::find() before you can start iterating.
Multiple iterators can be used on the same object. Existing iterators will however become dangling if the object gets modified.
See also QJsonObject::iterator, JSON Support in Qt, and JSON Save Game Example.
Member Type Documentation
typedef const_iterator::iterator_category
A synonym for std::random_access_iterator_tag indicating this iterator is a random-access iterator.
Note: In Qt versions before 5.6, this was set by mistake to std::bidirectional_iterator_tag.
Member Function Documentation
bool const_iterator::operator!=(const const_iterator &other) const
bool const_iterator::operator!=(const iterator &other) const
Returns true
if other points to a different item than this iterator; otherwise returns false
.
See also operator==().
bool const_iterator::operator==(const const_iterator &other) const
bool const_iterator::operator==(const iterator &other) const
Returns true
if other points to the same item as this iterator; otherwise returns false
.
See also operator!=().
const_iterator::const_iterator(const iterator &other)
Constructs a copy of other.
const_iterator::const_iterator()
Constructs an uninitialized iterator.
Functions like key(), value(), and operator++() must not be called on an uninitialized iterator. Use operator=() to assign a value to it before using it.
See also QJsonObject::constBegin() and QJsonObject::constEnd().
QString const_iterator::key() const
Returns the current item's key.
See also value().
QJsonValue const_iterator::value() const
Returns the current item's value.
See also key() and operator*().
QJsonValue const_iterator::operator*() const
Returns the current item's value.
Same as value().
See also key().
const_iterator const_iterator::operator+(int j) const
Returns an iterator to the item at j positions forward from this iterator. If j is negative, the iterator goes backward.
This operation can be slow for large j values.
See also operator-().
const_iterator &const_iterator::operator++()
The prefix ++ operator, ++i
, advances the iterator to the next item in the object and returns an iterator to the new current item.
Calling this function on QJsonObject::end() leads to undefined results.
See also operator--().
const_iterator const_iterator::operator++(int)
This is an overloaded function.
The postfix ++ operator, i++
, advances the iterator to the next item in the object and returns an iterator to the previously current item.
const_iterator &const_iterator::operator+=(int j)
Advances the iterator by j items. If j is negative, the iterator goes backward.
This operation can be slow for large j values.
See also operator-=() and operator+().
const_iterator const_iterator::operator-(int j) const
Returns an iterator to the item at j positions backward from this iterator. If j is negative, the iterator goes forward.
This operation can be slow for large j values.
See also operator+().
int const_iterator::operator-(const_iterator other) const
Returns the number of items between the item pointed to by other and the item pointed to by this iterator.
const_iterator &const_iterator::operator--()
The prefix -- operator, --i
, makes the preceding item current and returns an iterator pointing to the new current item.
Calling this function on QJsonObject::begin() leads to undefined results.
See also operator++().
const_iterator const_iterator::operator--(int)
This is an overloaded function.
The postfix -- operator, i--
, makes the preceding item current and returns an iterator pointing to the previously current item.
const_iterator &const_iterator::operator-=(int j)
Makes the iterator go back by j items. If j is negative, the iterator goes forward.
This operation can be slow for large j values.
See also operator+=() and operator-().
QJsonValue *const_iterator::operator->() const
Returns a pointer to the current item.
bool const_iterator::operator<(const const_iterator &other) const
Returns true
if the item pointed to by this iterator is less than the item pointed to by the other iterator.
bool const_iterator::operator<=(const const_iterator &other) const
Returns true
if the item pointed to by this iterator is less than or equal to the item pointed to by the other iterator.
bool const_iterator::operator>(const const_iterator &other) const
Returns true
if the item pointed to by this iterator is greater than the item pointed to by the other iterator.
bool const_iterator::operator>=(const const_iterator &other) const
Returns true
if the item pointed to by this iterator is greater than or equal to the item pointed to by the other iterator.
const QJsonValue const_iterator::operator[](int j)
Returns the item at offset j from the item pointed to by this iterator (the item at position *this + j
).
This function is provided to make QJsonObject iterators behave like C++ pointers.
See also operator+().