Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QJsonObject::const_iterator Class Reference

\inmodule QtCore More...

#include <qjsonobject.h>

+ Collaboration diagram for QJsonObject::const_iterator:

Public Types

typedef std::random_access_iterator_tag iterator_category
 A synonym for {std::random_access_iterator_tag} indicating this iterator is a random-access iterator.
 
typedef qsizetype difference_type
 
typedef QJsonValue value_type
 
typedef const QJsonValueConstRef reference
 
typedef const QJsonValueConstRefpointer
 

Public Member Functions

 const_iterator ()
 Constructs an uninitialized iterator.
 
 const_iterator (const QJsonObject *obj, qsizetype index)
 
 const_iterator (const iterator &other)
 Constructs a copy of other.
 
constexpr const_iterator (const const_iterator &other)=default
 
const_iteratoroperator= (const const_iterator &other)
 
QString key () const
 Returns the current item's key.
 
QJsonValueConstRef value () const
 Returns the current item's value.
 
const QJsonValueConstRef operator* () const
 Returns the current item's value.
 
const QJsonValueConstRefoperator-> () const
 Returns a pointer to the current item.
 
QJsonValueConstRef operator[] (qsizetype j) const
 Returns the item at offset j from the item pointed to by this iterator (the item at position {*this + j}).
 
const_iteratoroperator++ ()
 The prefix {++} operator, {++i}, advances the iterator to the next item in the object and returns an iterator to the new current item.
 
const_iterator operator++ (int)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.The postfix {++} operator, {i++}, advances the iterator to the next item in the object and returns an iterator to the previously current item.
 
const_iteratoroperator-- ()
 The prefix {–} operator, {–i}, makes the preceding item current and returns an iterator pointing to the new current item.
 
const_iterator operator-- (int)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.The postfix {–} operator, {i–}, makes the preceding item current and returns an iterator pointing to the previously current item.
 
const_iterator operator+ (qsizetype j) const
 Returns an iterator to the item at j positions forward from this iterator.
 
const_iterator operator- (qsizetype j) const
 Returns an iterator to the item at j positions backward from this iterator.
 
const_iteratoroperator+= (qsizetype j)
 Advances the iterator by j items.
 
const_iteratoroperator-= (qsizetype j)
 Makes the iterator go back by j items.
 
qsizetype operator- (const_iterator j) const
 Returns the number of items between the item pointed to by other and the item pointed to by this iterator.
 

Friends

class iterator
 
bool comparesEqual (const const_iterator &lhs, const const_iterator &rhs) noexcept
 
Qt::strong_ordering compareThreeWay (const const_iterator &lhs, const const_iterator &rhs) noexcept
 

Detailed Description

\inmodule QtCore

Since
5.0

The QJsonObject::const_iterator class provides an STL-style const iterator for QJsonObject.

\compares strong \compareswith strong QJsonObject::iterator \endcompareswith

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}, {Saving and Loading a Game}

Definition at line 192 of file qjsonobject.h.

Member Typedef Documentation

◆ difference_type

◆ 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}.

Definition at line 198 of file qjsonobject.h.

◆ pointer

◆ reference

◆ value_type

Constructor & Destructor Documentation

◆ const_iterator() [1/4]

QJsonObject::const_iterator::const_iterator ( )
inline

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(), QJsonObject::constEnd()

Definition at line 204 of file qjsonobject.h.

◆ const_iterator() [2/4]

QJsonObject::const_iterator::const_iterator ( const QJsonObject * obj,
qsizetype index )
inline

Definition at line 205 of file qjsonobject.h.

◆ const_iterator() [3/4]

QJsonObject::const_iterator::const_iterator ( const iterator & other)
inline

Constructs a copy of other.

Definition at line 207 of file qjsonobject.h.

◆ const_iterator() [4/4]

constexpr QJsonObject::const_iterator::const_iterator ( const const_iterator & other)
constexprdefault

Member Function Documentation

◆ key()

QString QJsonObject::const_iterator::key ( ) const
inline

Returns the current item's key.

See also
value()

Definition at line 217 of file qjsonobject.h.

References item.

◆ operator*()

const QJsonValueConstRef QJsonObject::const_iterator::operator* ( ) const
inline

Returns the current item's value.

Same as value().

See also
key()

Definition at line 219 of file qjsonobject.h.

References item.

◆ operator+()

QJsonObject::const_iterator QJsonObject::const_iterator::operator+ ( qsizetype j) const
inline

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-()

Definition at line 237 of file qjsonobject.h.

References j.

◆ operator++() [1/2]

QJsonObject::const_iterator QJsonObject::const_iterator::operator++ ( )
inline

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--()

Definition at line 233 of file qjsonobject.h.

References item.

◆ operator++() [2/2]

QJsonObject::const_iterator QJsonObject::const_iterator::operator++ ( int )
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.The postfix {++} operator, {i++}, advances the iterator to the next item in the object and returns an iterator to the previously current item.

Definition at line 234 of file qjsonobject.h.

References item.

◆ operator+=()

QJsonObject::const_iterator & QJsonObject::const_iterator::operator+= ( qsizetype j)
inline

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-=(), operator+()

Definition at line 239 of file qjsonobject.h.

References item, and j.

◆ operator-() [1/2]

qsizetype QJsonObject::const_iterator::operator- ( const_iterator j) const
inline

Returns the number of items between the item pointed to by other and the item pointed to by this iterator.

Definition at line 241 of file qjsonobject.h.

References item, and j.

◆ operator-() [2/2]

QJsonObject::const_iterator QJsonObject::const_iterator::operator- ( qsizetype j) const
inline

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+()

Definition at line 238 of file qjsonobject.h.

References j, and operator+().

+ Here is the call graph for this function:

◆ operator--() [1/2]

QJsonObject::const_iterator & QJsonObject::const_iterator::operator-- ( )
inline

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++()

Definition at line 235 of file qjsonobject.h.

References item.

◆ operator--() [2/2]

QJsonObject::const_iterator QJsonObject::const_iterator::operator-- ( int )
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.The postfix {–} operator, {i–}, makes the preceding item current and returns an iterator pointing to the previously current item.

Definition at line 236 of file qjsonobject.h.

References item.

◆ operator-=()

QJsonObject::const_iterator & QJsonObject::const_iterator::operator-= ( qsizetype j)
inline

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+=(), operator-()

Definition at line 240 of file qjsonobject.h.

References item, and j.

◆ operator->()

const QJsonValueConstRef * QJsonObject::const_iterator::operator-> ( ) const
inline

Returns a pointer to the current item.

Definition at line 220 of file qjsonobject.h.

References item.

◆ operator=()

const_iterator & QJsonObject::const_iterator::operator= ( const const_iterator & other)
inline

Definition at line 211 of file qjsonobject.h.

References item, and other().

+ Here is the call graph for this function:

◆ operator[]()

const QJsonValueConstRef QJsonObject::const_iterator::operator[] ( qsizetype j) const
inline

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+()

Definition at line 221 of file qjsonobject.h.

References j.

◆ value()

QJsonValueConstRef QJsonObject::const_iterator::value ( ) const
inline

Returns the current item's value.

See also
key(), operator*()

Definition at line 218 of file qjsonobject.h.

References item.

Friends And Related Symbol Documentation

◆ comparesEqual

bool comparesEqual ( const const_iterator & lhs,
const const_iterator & rhs )
friend

Definition at line 269 of file qjsonobject.h.

◆ compareThreeWay

Qt::strong_ordering compareThreeWay ( const const_iterator & lhs,
const const_iterator & rhs )
friend

Definition at line 273 of file qjsonobject.h.

◆ iterator

friend class iterator
friend

Definition at line 194 of file qjsonobject.h.


The documentation for this class was generated from the following files: