const_iterator Class
class QJsonObject::const_iteratorThe QJsonObject::const_iterator class provides an STL-style const iterator for QJsonObject. More...
- List of all members, including inherited members
- const_iterator is part of JSON Support in Qt.
This class is strongly comparable.
This class is strongly comparable with QJsonObject::iterator.
Public Types
Public Functions
const_iterator() | |
const_iterator(const QJsonObject::iterator &other) | |
QString | key() const |
QJsonValueConstRef | value() const |
const QJsonValueConstRef | operator*() const |
QJsonObject::const_iterator | operator+(qsizetype j) const |
QJsonObject::const_iterator & | operator++() |
QJsonObject::const_iterator | operator++(int) |
QJsonObject::const_iterator & | operator+=(qsizetype j) |
qsizetype | operator-(QJsonObject::const_iterator other) const |
QJsonObject::const_iterator | operator-(qsizetype j) const |
QJsonObject::const_iterator & | operator--() |
QJsonObject::const_iterator | operator--(int) |
QJsonObject::const_iterator & | operator-=(qsizetype j) |
const QJsonValueConstRef * | operator->() const |
QJsonValueConstRef | operator[](qsizetype j) const |
Related Non-Members
bool | operator!=(const QJsonObject::const_iterator &lhs, const QJsonObject::const_iterator &rhs) |
bool | operator<(const QJsonObject::const_iterator &lhs, const QJsonObject::const_iterator &rhs) |
bool | operator<=(const QJsonObject::const_iterator &lhs, const QJsonObject::const_iterator &rhs) |
bool | operator==(const QJsonObject::const_iterator &lhs, const QJsonObject::const_iterator &rhs) |
bool | operator>(const QJsonObject::const_iterator &lhs, const QJsonObject::const_iterator &rhs) |
bool | operator>=(const QJsonObject::const_iterator &lhs, const QJsonObject::const_iterator &rhs) |
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 Saving and Loading a Game.
Member Type Documentation
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
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().
const_iterator::const_iterator(const QJsonObject::iterator &other)
Constructs a copy of other.
QString const_iterator::key() const
Returns the current item's key.
See also value().
QJsonValueConstRef const_iterator::value() const
Returns the current item's value.
See also key() and operator*().
const QJsonValueConstRef const_iterator::operator*() const
Returns the current item's value.
Same as value().
See also key().
QJsonObject::const_iterator const_iterator::operator+(qsizetype 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-().
QJsonObject::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--().
QJsonObject::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.
QJsonObject::const_iterator &const_iterator::operator+=(qsizetype 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+().
qsizetype const_iterator::operator-(QJsonObject::const_iterator other) const
Returns the number of items between the item pointed to by other and the item pointed to by this iterator.
QJsonObject::const_iterator const_iterator::operator-(qsizetype 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+().
QJsonObject::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++().
QJsonObject::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.
QJsonObject::const_iterator &const_iterator::operator-=(qsizetype 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-().
const QJsonValueConstRef *const_iterator::operator->() const
Returns a pointer to the current item.
QJsonValueConstRef const_iterator::operator[](qsizetype j) const
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+().
Related Non-Members
[noexcept]
bool operator!=(const QJsonObject::const_iterator &lhs, const QJsonObject::const_iterator &rhs)
Returns true
if lhs points to a different item than rhs iterator; otherwise returns false
.
See also operator==().
[noexcept]
bool operator<(const QJsonObject::const_iterator &lhs, const QJsonObject::const_iterator &rhs)
Returns true
if the item pointed to by lhs iterator is less than the item pointed to by the rhs iterator.
[noexcept]
bool operator<=(const QJsonObject::const_iterator &lhs, const QJsonObject::const_iterator &rhs)
Returns true
if the item pointed to by lhs iterator is less than or equal to the item pointed to by the rhs iterator.
[noexcept]
bool operator==(const QJsonObject::const_iterator &lhs, const QJsonObject::const_iterator &rhs)
Returns true
if lhs points to the same item as rhs iterator; otherwise returns false
.
See also operator!=().
[noexcept]
bool operator>(const QJsonObject::const_iterator &lhs, const QJsonObject::const_iterator &rhs)
Returns true
if the item pointed to by lhs iterator is greater than the item pointed to by the rhs iterator.
[noexcept]
bool operator>=(const QJsonObject::const_iterator &lhs, const QJsonObject::const_iterator &rhs)
Returns true
if the item pointed to by lhs iterator is greater than or equal to the item pointed to by the rhs iterator.