iterator Class
class QJsonObject::iteratorDie Klasse QJsonObject::iterator bietet einen STL-ähnlichen nicht-konstanten Iterator für QJsonObject. Mehr...
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- iterator ist Teil der JSON-Unterstützung in Qt.
Diese Klasse ist stark vergleichbar.
Diese Klasse ist stark vergleichbar mit QJsonObject::const_iterator.
Öffentliche Typen
Öffentliche Funktionen
iterator() | |
QString | key() const |
QJsonValueRef | value() const |
QJsonValueRef | operator*() const |
QJsonObject::iterator | operator+(qsizetype j) const |
QJsonObject::iterator & | operator++() |
QJsonObject::iterator | operator++(int) |
QJsonObject::iterator & | operator+=(qsizetype j) |
qsizetype | operator-(QJsonObject::iterator other) const |
QJsonObject::iterator | operator-(qsizetype j) const |
QJsonObject::iterator & | operator--() |
QJsonObject::iterator | operator--(int) |
QJsonObject::iterator & | operator-=(qsizetype j) |
QJsonValueRef * | operator->() |
const QJsonValueConstRef * | operator->() const |
QJsonValueRef | operator[](qsizetype j) const |
Verwandte Nicht-Mitglieder
bool | operator!=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs) |
bool | operator!=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs) |
bool | operator<(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs) |
bool | operator<(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs) |
bool | operator<=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs) |
bool | operator<=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs) |
bool | operator==(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs) |
bool | operator==(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs) |
bool | operator>(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs) |
bool | operator>(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs) |
bool | operator>=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs) |
bool | operator>=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs) |
Detaillierte Beschreibung
QJsonObject::iterator ermöglicht es, über eine QJsonObject zu iterieren und den unter einem bestimmten Schlüssel gespeicherten Wert (aber nicht den Schlüssel) zu ändern. Wenn Sie über eine const QJsonObject iterieren wollen, sollten Sie QJsonObject::const_iterator verwenden. Es ist im Allgemeinen eine gute Praxis, QJsonObject::const_iterator auch für eine Nicht-Konstante QJsonObject zu verwenden, es sei denn, Sie müssen die QJsonObject durch den Iterator ändern. Konst-Iteratoren sind etwas schneller und verbessern die Lesbarkeit des Codes.
Der Standard QJsonObject::iterator Konstruktor erzeugt einen nicht initialisierten Iterator. Sie müssen ihn mit einer QJsonObject Funktion wie QJsonObject::begin(), QJsonObject::end(), oder QJsonObject::find() initialisieren, bevor Sie mit der Iteration beginnen können.
Mehrere Iteratoren können für dasselbe Objekt verwendet werden. Vorhandene Iteratoren werden jedoch unbrauchbar, sobald das Objekt geändert wird.
Siehe auch QJsonObject::const_iterator, JSON-Unterstützung in Qt, und Speichern und Laden eines Spiels.
Dokumentation der Mitgliedstypen
iterator::iterator_category
Ein Synonym für std::random_access_iterator_tag, das anzeigt, dass dieser Iterator ein Iterator mit wahlfreiem Zugriff ist.
Hinweis: In Qt-Versionen vor 5.6 wurde dies fälschlicherweise auf std::bidirectional_iterator_tag gesetzt.
Dokumentation der Mitgliedsfunktionen
iterator::iterator()
Konstruiert einen uninitialisierten Iterator.
Funktionen wie key(), value() und operator++() dürfen nicht mit einem nicht initialisierten Iterator aufgerufen werden. Verwenden Sie operator=(), um ihm einen Wert zuzuweisen, bevor Sie ihn verwenden.
Siehe auch QJsonObject::begin() und QJsonObject::end().
QString iterator::key() const
Gibt den Schlüssel des aktuellen Elements zurück.
Es gibt keine direkte Möglichkeit, den Schlüssel eines Elements durch einen Iterator zu ändern, obwohl dies durch den Aufruf von QJsonObject::erase() gefolgt von QJsonObject::insert() möglich ist.
Siehe auch value().
QJsonValueRef iterator::value() const
Gibt einen veränderbaren Verweis auf den Wert des aktuellen Elements zurück.
Sie können den Wert eines Elements ändern, indem Sie value() auf der linken Seite einer Zuweisung verwenden.
Der Rückgabewert ist vom Typ QJsonValueRef, einer Hilfsklasse für QJsonArray und QJsonObject. Wenn Sie ein Objekt vom Typ QJsonValueRef erhalten, können Sie es so verwenden, als wäre es eine Referenz auf QJsonValue. Wenn Sie es zuweisen, gilt die Zuweisung für das Element in QJsonArray oder QJsonObject, von dem Sie die Referenz erhalten haben.
Siehe auch key() und operator*().
QJsonValueRef iterator::operator*() const
Gibt einen veränderbaren Verweis auf den Wert des aktuellen Elements zurück.
Gleich wie value().
Der Rückgabewert ist vom Typ QJsonValueRef, einer Hilfsklasse für QJsonArray und QJsonObject. Wenn Sie ein Objekt vom Typ QJsonValueRef erhalten, können Sie es so verwenden, als wäre es ein Verweis auf QJsonValue. Wenn Sie es zuweisen, gilt die Zuweisung für das Element in QJsonArray oder QJsonObject, von dem Sie den Verweis erhalten haben.
Siehe auch key().
QJsonObject::iterator iterator::operator+(qsizetype j) const
Gibt einen Iterator zu dem Element an j Positionen vor diesem Iterator zurück. Wenn j negativ ist, geht der Iterator rückwärts.
Siehe auch operator-().
QJsonObject::iterator &iterator::operator++()
Der Präfix-Operator ++
( ++i
) setzt den Iterator auf das nächste Element im Objekt und gibt einen Iterator auf das neue aktuelle Element zurück.
Der Aufruf dieser Funktion auf QJsonObject::end() führt zu undefinierten Ergebnissen.
Siehe auch operator--().
QJsonObject::iterator iterator::operator++(int)
Dies ist eine überladene Funktion.
Der Postfix-Operator ++
, i++
, setzt den Iterator auf das nächste Element im Objekt und gibt einen Iterator auf das zuvor aktuelle Element zurück.
QJsonObject::iterator &iterator::operator+=(qsizetype j)
Bringt den Iterator um j Elemente weiter. Wenn j negativ ist, geht der Iterator rückwärts.
Siehe auch operator-=() und operator+().
qsizetype iterator::operator-(QJsonObject::iterator other) const
Gibt die Anzahl der Elemente zwischen dem Element, auf das other zeigt, und dem Element, auf das dieser Iterator zeigt, zurück.
QJsonObject::iterator iterator::operator-(qsizetype j) const
Gibt einen Iterator zu dem Element an j Positionen rückwärts von diesem Iterator zurück. Wenn j negativ ist, geht der Iterator vorwärts.
Siehe auch operator+().
QJsonObject::iterator &iterator::operator--()
Der Präfix-Operator --
, --i
, macht das vorhergehende Element aktuell und gibt einen Iterator zurück, der auf das neue aktuelle Element zeigt.
Der Aufruf dieser Funktion auf QJsonObject::begin() führt zu undefinierten Ergebnissen.
Siehe auch operator++().
QJsonObject::iterator iterator::operator--(int)
Dies ist eine überladene Funktion.
Der Postfix-Operator --
, i--
, macht das vorhergehende Element aktuell und gibt einen Iterator zurück, der auf das zuvor aktuelle Element zeigt.
QJsonObject::iterator &iterator::operator-=(qsizetype j)
Bringt den Iterator dazu, um j Elemente zurück zu gehen. Wenn j negativ ist, geht der Iterator vorwärts.
Siehe auch operator+=() und operator-().
QJsonValueRef *iterator::operator->()
Gibt einen Zeiger auf einen veränderbaren Verweis auf das aktuelle Element zurück.
const QJsonValueConstRef *iterator::operator->() const
Gibt einen Zeiger auf eine konstante Referenz auf das aktuelle Element zurück.
QJsonValueRef iterator::operator[](qsizetype j) const
Gibt einen veränderbaren Verweis auf das Element am Offset j von dem Element zurück, auf das dieser Iterator zeigt (das Element an Position *this + j
).
Diese Funktion wird bereitgestellt, damit sich QJsonObject -Iteratoren wie C++-Zeiger verhalten.
Der Rückgabewert ist vom Typ QJsonValueRef, einer Hilfsklasse für QJsonArray und QJsonObject. Wenn Sie ein Objekt vom Typ QJsonValueRef erhalten, können Sie es so verwenden, als wäre es ein Verweis auf QJsonValue. Wenn Sie es zuweisen, gilt die Zuweisung für das Element in QJsonArray oder QJsonObject, von dem Sie den Verweis erhalten haben.
Siehe auch operator+().
Verwandte Nicht-Mitglieder
[noexcept]
bool operator==(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
[noexcept]
bool operator==(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
Gibt true
zurück, wenn lhs auf dasselbe Element wie der Iterator rhs zeigt; andernfalls wird false
zurückgegeben.
Siehe auch operator!=().
[noexcept]
bool operator!=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
[noexcept]
bool operator!=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
Gibt true
zurück, wenn lhs auf ein anderes Element als rhs iterator zeigt; andernfalls gibt false
zurück.
Siehe auch operator==().
[noexcept]
bool operator<(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
[noexcept]
bool operator<(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
Gibt true
zurück, wenn das Element, auf das der Iterator lhs zeigt, kleiner ist als das Element, auf das der Iterator rhs zeigt.
[noexcept]
bool operator<=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
[noexcept]
bool operator<=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
Gibt true
zurück, wenn das Element, auf das der Iterator lhs zeigt, kleiner oder gleich dem Element ist, auf das der Iterator rhs zeigt.
[noexcept]
bool operator>(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
[noexcept]
bool operator>(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
Gibt true
zurück, wenn das Element, auf das der Iterator lhs zeigt, größer ist als das Element, auf das der Iterator rhs zeigt.
[noexcept]
bool operator>=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
[noexcept]
bool operator>=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
Gibt true
zurück, wenn das Element, auf das der Iterator lhs zeigt, größer oder gleich dem Element ist, auf das der Iterator rhs zeigt.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.