QtBase  v6.3.1
Public Types | Public Member Functions | Friends | List of all members
QJsonObject::const_iterator Class Reference

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

#include <qjsonobject.h>

Public Types

typedef std::random_access_iterator_tag iterator_category
 
typedef qsizetype difference_type
 
typedef QJsonValue value_type
 
typedef const QJsonValueRef reference
 
typedef const QJsonValueRefpointer
 

Public Member Functions

 const_iterator ()
 
 const_iterator (const QJsonObject *obj, qsizetype index)
 
 const_iterator (const iterator &other)
 
constexpr const_iterator (const const_iterator &other)=default
 
const_iteratoroperator= (const const_iterator &other)
 
QString key () const
 
QJsonValueRef value () const
 
const QJsonValueRef operator* () const
 
const QJsonValueRefoperator-> () const
 
const QJsonValueRef operator[] (qsizetype j)
 
bool operator== (const const_iterator &other) 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 const_iterator &other) const
 
bool operator>= (const const_iterator &other) const
 
const_iteratoroperator++ ()
 
const_iterator operator++ (int)
 
const_iteratoroperator-- ()
 
const_iterator operator-- (int)
 
const_iterator operator+ (qsizetype j) const
 
const_iterator operator- (qsizetype j) const
 
const_iteratoroperator+= (qsizetype j)
 
const_iteratoroperator-= (qsizetype j)
 
qsizetype operator- (const_iterator j) const
 
bool operator== (const iterator &other) const
 
bool operator!= (const iterator &other) const
 
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

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

\inmodule QtCore

Since
5.0

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 184 of file qjsonobject.h.

Member Typedef Documentation

◆ difference_type

Definition at line 191 of file qjsonobject.h.

◆ 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 190 of file qjsonobject.h.

◆ pointer

Definition at line 194 of file qjsonobject.h.

◆ reference

Definition at line 193 of file qjsonobject.h.

◆ value_type

Definition at line 192 of file qjsonobject.h.

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 196 of file qjsonobject.h.

◆ const_iterator() [2/4]

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

Definition at line 197 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 199 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 210 of file qjsonobject.h.

◆ operator!=() [1/2]

Definition at line 218 of file qjsonobject.h.

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 239 of file qjsonobject.h.

Here is the call graph for this function:

◆ operator*()

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

Returns the current item's value.

Same as value().

See also
key()

Definition at line 212 of file qjsonobject.h.

◆ 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 230 of file qjsonobject.h.

◆ 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 226 of file qjsonobject.h.

◆ 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 227 of file qjsonobject.h.

◆ 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 233 of file qjsonobject.h.

◆ operator-() [1/2]

qsizetype QJsonObject::const_iterator::operator- ( const_iterator  other) 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 235 of file qjsonobject.h.

◆ 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 232 of file qjsonobject.h.

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 228 of file qjsonobject.h.

◆ 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 229 of file qjsonobject.h.

◆ 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 234 of file qjsonobject.h.

◆ operator->()

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

Returns a pointer to the current item.

Definition at line 213 of file qjsonobject.h.

◆ 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 219 of file qjsonobject.h.

Here is the call graph for this function:

◆ operator<() [2/2]

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

Definition at line 240 of file qjsonobject.h.

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 221 of file qjsonobject.h.

Here is the call graph for this function:

◆ operator<=() [2/2]

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

Definition at line 242 of file qjsonobject.h.

Here is the call graph for this function:

◆ operator=()

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

Definition at line 203 of file qjsonobject.h.

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 216 of file qjsonobject.h.

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 237 of file qjsonobject.h.

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 223 of file qjsonobject.h.

Here is the call graph for this function:

◆ operator>() [2/2]

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

Definition at line 244 of file qjsonobject.h.

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 224 of file qjsonobject.h.

Here is the call graph for this function:

◆ operator>=() [2/2]

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

Definition at line 245 of file qjsonobject.h.

Here is the call graph for this function:

◆ operator[]()

const QJsonValue QJsonObject::const_iterator::operator[] ( qsizetype  j)
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 214 of file qjsonobject.h.

◆ value()

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

Returns the current item's value.

See also
key(), operator*()

Definition at line 211 of file qjsonobject.h.

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ iterator

friend class iterator
friend

Definition at line 186 of file qjsonobject.h.


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