Qt 6.x
The Qt SDK
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}).
 
bool operator== (const const_iterator &other) const
 
bool operator!= (const const_iterator &other) const
 
bool 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 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 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 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_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.
 
bool operator== (const iterator &other) const
 Returns true if other points to the same item as this iterator; otherwise returns false.
 
bool operator!= (const iterator &other) const
 Returns true if other points to a different item than this iterator; otherwise returns false.
 
bool operator< (const iterator &other) const
 
bool operator<= (const iterator &other) const
 
bool operator> (const iterator &other) const
 
bool operator>= (const iterator &other) const
 

Friends

class iterator
 

Detailed Description

\inmodule QtCore

Since
5.0

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

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}, {JSON Save Game Example}

Definition at line 143 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 149 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 155 of file qjsonobject.h.

◆ const_iterator() [2/4]

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

Definition at line 156 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 158 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 168 of file qjsonobject.h.

References item.

◆ operator!=() [1/2]

bool QJsonObject::const_iterator::operator!= ( const const_iterator other) const
inline

Definition at line 176 of file qjsonobject.h.

References other().

+ Here is the call graph for this function:

◆ operator!=() [2/2]

bool QJsonObject::const_iterator::operator!= ( const iterator other) const
inline

Returns true if other points to a different item than this iterator; otherwise returns false.

See also
operator==()

Definition at line 196 of file qjsonobject.h.

References other().

+ Here is the call graph for this function:

◆ operator*()

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

Returns the current item's value.

Same as value().

See also
key()

Definition at line 170 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 188 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 184 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 185 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 190 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 192 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 189 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 186 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 187 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 191 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 171 of file qjsonobject.h.

References item.

◆ operator<() [1/2]

bool QJsonObject::const_iterator::operator< ( const const_iterator other) const
inline

Returns true if the item pointed to by this iterator is less than the item pointed to by the other iterator.

Definition at line 177 of file qjsonobject.h.

References item, other(), and Q_ASSERT.

+ Here is the call graph for this function:

◆ operator<() [2/2]

bool QJsonObject::const_iterator::operator< ( const iterator other) const
inline

Definition at line 197 of file qjsonobject.h.

References item, other(), and Q_ASSERT.

+ Here is the call graph for this function:

◆ operator<=() [1/2]

bool QJsonObject::const_iterator::operator<= ( const const_iterator other) const
inline

Returns true if the item pointed to by this iterator is less than or equal to the item pointed to by the other iterator.

Definition at line 179 of file qjsonobject.h.

References item, other(), and Q_ASSERT.

+ Here is the call graph for this function:

◆ operator<=() [2/2]

bool QJsonObject::const_iterator::operator<= ( const iterator other) const
inline

Definition at line 199 of file qjsonobject.h.

References item, other(), and Q_ASSERT.

+ Here is the call graph for this function:

◆ operator=()

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

Definition at line 162 of file qjsonobject.h.

References item, and other().

+ Here is the call graph for this function:

◆ operator==() [1/2]

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

Definition at line 174 of file qjsonobject.h.

References item, and other().

+ Here is the call graph for this function:

◆ operator==() [2/2]

bool QJsonObject::const_iterator::operator== ( const iterator other) const
inline

Returns true if other points to the same item as this iterator; otherwise returns false.

See also
operator!=()

Definition at line 194 of file qjsonobject.h.

References item, and other().

+ Here is the call graph for this function:

◆ operator>() [1/2]

bool QJsonObject::const_iterator::operator> ( const const_iterator other) const
inline

Returns true if the item pointed to by this iterator is greater than the item pointed to by the other iterator.

Definition at line 181 of file qjsonobject.h.

References other().

+ Here is the call graph for this function:

◆ operator>() [2/2]

bool QJsonObject::const_iterator::operator> ( const iterator other) const
inline

Definition at line 201 of file qjsonobject.h.

References other().

+ Here is the call graph for this function:

◆ operator>=() [1/2]

bool QJsonObject::const_iterator::operator>= ( const const_iterator other) const
inline

Returns true if the item pointed to by this iterator is greater than or equal to the item pointed to by the other iterator.

Definition at line 182 of file qjsonobject.h.

References other().

+ Here is the call graph for this function:

◆ operator>=() [2/2]

bool QJsonObject::const_iterator::operator>= ( const iterator other) const
inline

Definition at line 202 of file qjsonobject.h.

References 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 172 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 169 of file qjsonobject.h.

References item.

Referenced by QT_BEGIN_NAMESPACE::checkDocument(), QT_BEGIN_NAMESPACE::checkLocation(), and loadAndroidStyle().

+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ iterator

friend class iterator
friend

Definition at line 145 of file qjsonobject.h.


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