Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
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.
QAnyStringView keyView () const
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)

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

Member Typedef Documentation

◆ difference_type

◆ iterator_category

typedef std::random_access_iterator_tag QJsonObject::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}.

Definition at line 213 of file qjsonobject.h.

◆ pointer

Definition at line 217 of file qjsonobject.h.

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

◆ const_iterator() [2/4]

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

Definition at line 220 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 222 of file qjsonobject.h.

◆ const_iterator() [4/4]

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

Definition at line 232 of file qjsonobject.h.

◆ keyView()

QAnyStringView QJsonObject::const_iterator::keyView ( ) const
inline
Since
6.10

Returns the current item's key as a QAnyStringView. This function does not allocate.

Since QJsonObject stores keys in US-ASCII, UTF-8 or UTF-16, the returned QAnyStringView may be in any of these encodings.

See also
value(), key()

Definition at line 233 of file qjsonobject.h.

◆ operator*()

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

Returns the current item's value.

Same as value().

See also
key(), keyView()

Definition at line 235 of file qjsonobject.h.

◆ operator+()

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

◆ operator++() [1/2]

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

◆ operator++() [2/2]

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

◆ operator+=()

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

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

◆ operator-() [2/2]

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

◆ operator--() [1/2]

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

◆ operator--() [2/2]

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

◆ operator-=()

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

◆ operator->()

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

Returns a pointer to the current item.

Definition at line 236 of file qjsonobject.h.

◆ operator=()

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

Definition at line 226 of file qjsonobject.h.

◆ operator[]()

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

◆ value()

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

Returns the current item's value.

See also
key(), keyView(), operator*()

Definition at line 234 of file qjsonobject.h.

◆ comparesEqual

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

Definition at line 285 of file qjsonobject.h.

◆ compareThreeWay

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

Definition at line 289 of file qjsonobject.h.

◆ iterator

friend class iterator
friend

Definition at line 209 of file qjsonobject.h.


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