QCborMap Class
Die Klasse QCborMap dient zur Aufnahme eines assoziativen Containers, der in CBOR darstellbar ist. Mehr...
Kopfzeile: | #include <QCborMap> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QCborMap ist Teil der CBOR-Unterstützung in Qt.
Diese Klasse ist stark vergleichbar.
Diese Klasse ist stark vergleichbar mit QCborValue und QCborValueConstRef.
Hinweis: Alle Funktionen in dieser Klasse sind reentrant.
Öffentliche Typen
class | ConstIterator |
class | Iterator |
const_iterator | |
iterator | |
key_type | |
mapped_type | |
size_type | |
value_type |
Öffentliche Funktionen
QCborMap() | |
QCborMap(std::initializer_list<QCborMap::value_type> args) | |
QCborMap(const QCborMap &other) | |
~QCborMap() | |
QCborMap::iterator | begin() |
QCborMap::const_iterator | begin() const |
QCborMap::const_iterator | cbegin() const |
QCborMap::const_iterator | cend() const |
void | clear() |
int | compare(const QCborMap &other) const |
QCborMap::const_iterator | constBegin() const |
QCborMap::const_iterator | constEnd() const |
QCborMap::const_iterator | constFind(qint64 key) const |
QCborMap::const_iterator | constFind(QLatin1StringView key) const |
QCborMap::const_iterator | constFind(const QCborValue &key) const |
QCborMap::const_iterator | constFind(const QString &key) const |
bool | contains(const QCborValue &key) const |
bool | contains(qint64 key) const |
bool | contains(QLatin1StringView key) const |
bool | contains(const QString &key) const |
bool | empty() const |
QCborMap::iterator | end() |
QCborMap::const_iterator | end() const |
QCborMap::iterator | erase(QCborMap::const_iterator it) |
QCborMap::iterator | erase(QCborMap::iterator it) |
QCborValue | extract(QCborMap::const_iterator it) |
QCborValue | extract(QCborMap::iterator it) |
QCborMap::iterator | find(qint64 key) |
QCborMap::const_iterator | find(qint64 key) const |
QCborMap::iterator | find(QLatin1StringView key) |
QCborMap::iterator | find(const QCborValue &key) |
QCborMap::iterator | find(const QString &key) |
QCborMap::const_iterator | find(QLatin1StringView key) const |
QCborMap::const_iterator | find(const QCborValue &key) const |
QCborMap::const_iterator | find(const QString &key) const |
QCborMap::iterator | insert(QCborMap::value_type v) |
QCborMap::iterator | insert(QLatin1StringView key, const QCborValue &value) |
QCborMap::iterator | insert(const QCborValue &key, const QCborValue &value) |
QCborMap::iterator | insert(const QString &key, const QCborValue &value) |
QCborMap::iterator | insert(qint64 key, const QCborValue &value) |
bool | isEmpty() const |
QList<QCborValue> | keys() const |
void | remove(const QCborValue &key) |
void | remove(qint64 key) |
void | remove(QLatin1StringView key) |
void | remove(const QString &key) |
qsizetype | size() const |
void | swap(QCborMap &other) |
QCborValue | take(QLatin1StringView key) |
QCborValue | take(const QCborValue &key) |
QCborValue | take(const QString &key) |
QCborValue | take(qint64 key) |
QCborValue | toCborValue() const |
QJsonObject | toJsonObject() const |
QVariantHash | toVariantHash() const |
QVariantMap | toVariantMap() const |
QCborValue | value(const QCborValue &key) const |
QCborValue | value(qint64 key) const |
QCborValue | value(QLatin1StringView key) const |
QCborValue | value(const QString &key) const |
QCborMap & | operator=(const QCborMap &other) |
QCborValueRef | operator[](qint64 key) |
const QCborValue | operator[](const QCborValue &key) const |
const QCborValue | operator[](qint64 key) const |
QCborValueRef | operator[](QLatin1StringView key) |
QCborValueRef | operator[](const QCborValue &key) |
QCborValueRef | operator[](const QString &key) |
const QCborValue | operator[](QLatin1StringView key) const |
const QCborValue | operator[](const QString &key) const |
Statische öffentliche Mitglieder
QCborMap | fromJsonObject(const QJsonObject &obj) |
(since 6.3) QCborMap | fromJsonObject(QJsonObject &&obj) |
QCborMap | fromVariantHash(const QVariantHash &hash) |
QCborMap | fromVariantMap(const QVariantMap &map) |
Verwandte Nicht-Mitglieder
bool | operator!=(const QCborMap &lhs, const QCborMap &rhs) |
bool | operator<(const QCborMap &lhs, const QCborMap &rhs) |
bool | operator<=(const QCborMap &lhs, const QCborMap &rhs) |
bool | operator==(const QCborMap &lhs, const QCborMap &rhs) |
bool | operator>(const QCborMap &lhs, const QCborMap &rhs) |
bool | operator>=(const QCborMap &lhs, const QCborMap &rhs) |
Detaillierte Beschreibung
Diese Klasse kann zur Aufnahme eines assoziativen Containers in CBOR verwendet werden, einer Abbildung zwischen einem Schlüssel und einem Werttyp. CBOR ist die Concise Binary Object Representation, eine sehr kompakte Form der binären Datenkodierung, die eine Obermenge von JSON ist. Es wurde von der IETF Constrained RESTful Environments (CoRE) WG entwickelt, die es in vielen neuen RFCs verwendet hat. Es ist dafür gedacht, neben dem CoAP-Protokoll verwendet zu werden.
Im Gegensatz zu JSON und QVariantMap können CBOR-Map-Schlüssel von beliebigem Typ sein, nicht nur Strings. Aus diesem Grund ist QCborMap effektiv eine Abbildung zwischen QCborValue Schlüsseln und QCborValue Wertelementen.
Allerdings bietet QCborMap für alle Mitgliedsfunktionen, die einen Schlüsselparameter benötigen, Überladungen, die effizient mit Integers und Strings arbeiten. In der Tat wird die Verwendung von Integer-Schlüsseln empfohlen, da sie weniger Bytes für die Übertragung benötigen und einfacher zu kodieren und dekodieren sind. Es ist bekannt, dass neuere Protokolle, die von der IETF CoRE WG speziell für die Arbeit mit CBOR entwickelt wurden, diese verwenden.
QCborMap ist nicht sortiert, daher hat die Suche nach Schlüsseln eine lineare Komplexität (O(n)). QCborMap behält die Elemente in der Reihenfolge, in der sie eingefügt wurden, was bedeutet, dass es möglich ist, sortierte QCborMaps durch sorgfältiges Einfügen von Elementen in sortierter Reihenfolge zu erstellen. CBOR verlangt keine Sortierung, empfiehlt sie aber.
QCborMap kann auch von und nach QVariantMap und QJsonObject konvertiert werden. Bei der Konvertierung werden jedoch alle Nicht-String-Schlüssel mit einer Einweg-Methode stringifiziert, die bei der Rückkonvertierung nach QCborMap nicht rückgängig gemacht werden kann.
Siehe auch QCborArray, QCborValue, QJsonDocument, QVariantMap, Parsen und Anzeigen von CBOR-Daten, Serialisierungskonverter und Speichern und Laden eines Spiels.
Dokumentation der Mitgliedstypen
QCborMap::const_iterator
Ein Synonym für QCborMap::ConstIterator
QCborMap::iterator
Ein Synonym für QCborMap::Iterator.
QCborMap::key_type
Der Schlüsseltyp für diese Karte. Da QCborMap -Schlüssel jeder CBOR-Typ sein können, ist dies ein QCborValue.
QCborMap::mapped_type
Der Typ, der auf (den Wert) abgebildet wird, d. h. eine QCborValue.
QCborMap::size_type
Der Typ, den QCborMap für Größen verwendet.
QCborMap::value_type
Der Wert, der in diesem Container gespeichert wird: ein Paar von QCborValues
Dokumentation der Mitgliedsfunktionen
QCborMap::iterator QCborMap::find(qint64 key)
QCborMap::const_iterator QCborMap::find(qint64 key) const
Gibt einen Map-Iterator zu dem Schlüssel-Wert-Paar zurück, dessen Schlüssel key ist, falls die Map ein solches Paar enthält. Ist dies nicht der Fall, gibt diese Funktion end() zurück.
CBOR empfiehlt die Verwendung von Integer-Schlüsseln, da diese weniger Platz beanspruchen und einfacher zu kodieren und dekodieren sind.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist es undefiniert, welchen diese Funktion findet. QCborMap erlaubt es nicht, doppelte Schlüssel einzufügen, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit ihnen zu erstellen. Normalerweise sind sie nicht erlaubt und doppelte Schlüssel sind normalerweise ein Hinweis auf ein Problem im Sender.
Siehe auch value(qint64), operator[](qint64), constFind(qint64), remove(qint64), contains(qint64), value(QLatin1StringView), value(const QString &), und value(const QCborValue &).
QCborMap::iterator QCborMap::find(QLatin1StringView key)
QCborMap::const_iterator QCborMap::find(QLatin1StringView key) const
Dies ist eine überladene Funktion.
Gibt einen Map-Iterator zu dem Schlüssel-Wert-Paar zurück, dessen Schlüssel key ist, falls die Map ein solches Paar enthält. Ist dies nicht der Fall, gibt diese Funktion end() zurück.
Wenn die Map mehr als einen Schlüssel mit key enthält, ist nicht definiert, welchen diese Funktion findet. QCborMap erlaubt keine doppelten Schlüssel, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit ihnen zu erstellen. Normalerweise sind sie nicht erlaubt und doppelte Schlüssel sind normalerweise ein Hinweis auf ein Problem im Sender.
Siehe auch value(QLatin1StringView), operator[](QLatin1StringView), constFind(QLatin1StringView), remove(QLatin1StringView), contains(QLatin1StringView), value(qint64), value(const QString &), und value(const QCborValue &).
QCborMap::iterator QCborMap::find(const QString &key)
QCborMap::const_iterator QCborMap::find(const QString &key) const
Dies ist eine überladene Funktion.
Gibt einen Map-Iterator zu dem Schlüssel-Wert-Paar zurück, dessen Schlüssel key ist, falls die Map ein solches Paar enthält. Ist dies nicht der Fall, gibt diese Funktion end() zurück.
Wenn die Map mehr als einen Schlüssel mit key enthält, ist nicht definiert, welchen diese Funktion findet. QCborMap erlaubt keine doppelten Schlüssel, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit ihnen zu erstellen. Normalerweise sind sie nicht erlaubt und doppelte Schlüssel sind normalerweise ein Hinweis auf ein Problem im Sender.
Siehe auch value(const QString &), operator[](const QString &), constFind(const QString &), remove(const QString &), contains(const QString &), value(qint64), value(QLatin1StringView), und value(const QCborValue &).
QCborMap::iterator QCborMap::find(const QCborValue &key)
QCborMap::const_iterator QCborMap::find(const QCborValue &key) const
Dies ist eine überladene Funktion.
Gibt einen Map-Iterator zu dem Schlüssel-Wert-Paar zurück, dessen Schlüssel key ist, falls die Map ein solches Paar enthält. Ist dies nicht der Fall, gibt diese Funktion end() zurück.
Wenn die Map mehr als einen Schlüssel mit key enthält, ist nicht definiert, welchen diese Funktion findet. QCborMap erlaubt keine doppelten Schlüssel, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit ihnen zu erstellen. Normalerweise sind sie nicht erlaubt, und das Vorhandensein von doppelten Schlüsseln ist normalerweise ein Hinweis auf ein Problem im Sender.
Siehe auch value(const QCborValue &), operator[](const QCborValue &), constFind(const QCborValue &), remove(const QCborValue &), contains(const QCborValue &), value(qint64), value(QLatin1StringView), und value(const QString &).
QCborValue QCborMap::extract(QCborMap::const_iterator it)
QCborValue QCborMap::extract(QCborMap::iterator it)
Extrahiert einen Wert aus der Karte an der vom Iterator it angegebenen Position und gibt den so extrahierten Wert zurück.
Siehe auch insert(), erase(), take(), und remove().
[noexcept]
QCborMap::QCborMap()
Konstruiert ein leeres CBOR Map Objekt.
Siehe auch isEmpty().
QCborMap::QCborMap(std::initializer_list<QCborMap::value_type> args)
Konstruiert eine QCborMap mit Elementen aus einer Klammerinitialisierungsliste, die sich in args befindet, wie im folgenden Beispiel:
QCborMap map = { {0, "Hello"}, {1, "World"}, {"foo", nullptr}, {"bar", QCborArray{0, 1, 2, 3, 4}} };
[noexcept]
QCborMap::QCborMap(const QCborMap &other)
Erzeugt ein QCborMap-Objekt, das eine Kopie von other ist.
[noexcept]
QCborMap::~QCborMap()
Zerstört dieses QCborMap -Objekt und gibt alle zugehörigen Ressourcen frei, die es besitzt.
QCborMap::iterator QCborMap::begin()
Gibt einen Map-Iterator zurück, der auf das erste Schlüssel-Wert-Paar dieser Map zeigt. Wenn diese Map leer ist, ist der zurückgegebene Iterator der gleiche wie end().
Siehe auch constBegin() und end().
QCborMap::const_iterator QCborMap::begin() const
Gibt einen Map-Iterator zurück, der auf das erste Schlüssel-Wert-Paar dieser Map zeigt. Wenn diese Map leer ist, ist der zurückgegebene Iterator der gleiche wie constEnd().
Siehe auch begin() und constEnd().
QCborMap::const_iterator QCborMap::cbegin() const
Gibt einen Map-Iterator zurück, der auf das erste Schlüssel-Wert-Paar dieser Map zeigt. Wenn diese Map leer ist, ist der zurückgegebene Iterator der gleiche wie constEnd().
Siehe auch begin() und constEnd().
QCborMap::const_iterator QCborMap::cend() const
Gibt einen Map-Iterator zurück, der ein Element kurz hinter dem letzten Element in der Map darstellt.
Siehe auch begin(), constBegin(), find(), und constFind().
void QCborMap::clear()
Entfernt diese Karte.
Siehe auch isEmpty().
[noexcept]
int QCborMap::compare(const QCborMap &other) const
Vergleicht diese Map und other, wobei jedes Element der Reihe nach verglichen wird, und gibt eine ganze Zahl zurück, die angibt, ob diese Map vor (wenn das Ergebnis negativ ist) oder nach other (wenn das Ergebnis positiv ist) sortiert werden soll. Wenn diese Funktion 0 zurückgibt, sind die beiden Maps gleich und enthalten dieselben Elemente.
Beachten Sie, dass CBOR-Maps nicht geordnet sind, was bedeutet, dass zwei Maps, die dieselben Paare enthalten, aber in unterschiedlicher Reihenfolge, trotzdem unterschiedlich verglichen werden. Um dies zu vermeiden, empfiehlt es sich, die Elemente in einer vorhersehbaren Reihenfolge in die Map einzufügen, z. B. nach aufsteigendem Schlüsselwert. Tatsächlich sind Maps mit sortierten Schlüsseln für die kanonische CBOR-Darstellung erforderlich.
Weitere Informationen zur CBOR-Sortierreihenfolge finden Sie unter QCborValue::compare().
Siehe auch QCborValue::compare(), QCborArray::compare(), und operator==().
QCborMap::const_iterator QCborMap::constBegin() const
Gibt einen Map-Iterator zurück, der auf das erste Schlüssel-Wert-Paar dieser Map zeigt. Wenn diese Map leer ist, ist der zurückgegebene Iterator der gleiche wie constEnd().
Siehe auch begin() und constEnd().
QCborMap::const_iterator QCborMap::constEnd() const
Gibt einen Map-Iterator zurück, der ein Element kurz hinter dem letzten Element in der Map darstellt.
Siehe auch begin(), constBegin(), find(), und constFind().
QCborMap::const_iterator QCborMap::constFind(qint64 key) const
Gibt einen Map-Iterator zu dem Schlüssel-Wert-Paar zurück, dessen Schlüssel key ist, falls die Map ein solches Paar enthält. Ist dies nicht der Fall, gibt diese Funktion constEnd() zurück.
CBOR empfiehlt die Verwendung von Integer-Schlüsseln, da diese weniger Platz beanspruchen und einfacher zu kodieren und dekodieren sind.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist es undefiniert, welchen diese Funktion findet. QCborMap erlaubt es nicht, doppelte Schlüssel einzufügen, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit ihnen zu erstellen. Normalerweise sind sie nicht erlaubt und doppelte Schlüssel sind normalerweise ein Hinweis auf ein Problem im Sender.
Siehe auch value(qint64), operator[](qint64), find(qint64), remove(qint64), contains(qint64), value(QLatin1StringView), value(const QString &), und value(const QCborValue &).
QCborMap::const_iterator QCborMap::constFind(QLatin1StringView key) const
Dies ist eine überladene Funktion.
Gibt einen Map-Iterator zu dem Schlüssel-Wert-Paar zurück, dessen Schlüssel key ist, falls die Map ein solches Paar enthält. Ist dies nicht der Fall, gibt diese Funktion constEnd() zurück.
Wenn die Map mehr als einen Schlüssel mit key enthält, ist nicht definiert, welchen diese Funktion findet. QCborMap erlaubt keine doppelten Schlüssel, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit ihnen zu erstellen. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind normalerweise ein Hinweis auf ein Problem im Sender.
Siehe auch value(QLatin1StringView), operator[](QLatin1StringView), find(QLatin1StringView), remove(QLatin1StringView), contains(QLatin1StringView), value(qint64), value(const QString &), und value(const QCborValue &).
QCborMap::const_iterator QCborMap::constFind(const QCborValue &key) const
Dies ist eine überladene Funktion.
Gibt einen Map-Iterator zu dem Schlüssel-Wert-Paar zurück, dessen Schlüssel key ist, falls die Map ein solches Paar enthält. Ist dies nicht der Fall, gibt diese Funktion constEnd() zurück.
Wenn die Map mehr als einen Schlüssel mit key enthält, ist nicht definiert, welchen diese Funktion findet. QCborMap erlaubt keine doppelten Schlüssel, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit ihnen zu erstellen. Normalerweise sind sie nicht erlaubt, und das Vorhandensein von doppelten Schlüsseln ist normalerweise ein Hinweis auf ein Problem im Sender.
Siehe auch value(const QCborValue &), operator[](const QCborValue &), find(const QCborValue &), remove(const QCborValue &), contains(const QCborValue &), value(qint64), value(QLatin1StringView), und value(const QString &).
QCborMap::const_iterator QCborMap::constFind(const QString &key) const
Dies ist eine überladene Funktion.
Gibt einen Map-Iterator zu dem Schlüssel-Wert-Paar zurück, dessen Schlüssel key ist, falls die Map ein solches Paar enthält. Ist dies nicht der Fall, gibt diese Funktion constEnd() zurück.
Wenn die Map mehr als einen Schlüssel mit key enthält, ist nicht definiert, welchen diese Funktion findet. QCborMap erlaubt keine doppelten Schlüssel, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit ihnen zu erstellen. Normalerweise sind sie nicht erlaubt und doppelte Schlüssel sind normalerweise ein Hinweis auf ein Problem im Sender.
Siehe auch value(const QString &), operator[](const QString &), find(const QString &), remove(const QString &), contains(const QString &), value(qint64), value(QLatin1StringView), und value(const QCborValue &).
bool QCborMap::contains(const QCborValue &key) const
Gibt true zurück, wenn diese Map ein Schlüssel-Wert-Paar enthält, das durch den Schlüssel key identifiziert wird.
Siehe auch value(const QCborValue &), operator[](const QCborValue &), find(const QCborValue &), remove(const QCborValue &), contains(qint64), remove(QLatin1StringView), und remove(const QString &).
bool QCborMap::contains(qint64 key) const
Gibt true zurück, wenn diese Map ein Schlüssel-Wert-Paar enthält, das durch den Schlüssel key identifiziert wird. CBOR empfiehlt die Verwendung von Integer-Schlüsseln, da diese weniger Platz benötigen und einfacher zu kodieren und dekodieren sind.
Siehe auch value(qint64), operator[](qint64), find(qint64), remove(qint64), contains(QLatin1StringView), remove(const QString &), und remove(const QCborValue &).
bool QCborMap::contains(QLatin1StringView key) const
Dies ist eine überladene Funktion.
Gibt true zurück, wenn diese Map ein Schlüssel-Wert-Paar enthält, das durch den Schlüssel key identifiziert wird.
Siehe auch value(QLatin1StringView), operator[](QLatin1StringView), find(QLatin1StringView), remove(QLatin1StringView), contains(qint64), remove(const QString &), und remove(const QCborValue &).
bool QCborMap::contains(const QString &key) const
Dies ist eine überladene Funktion.
Gibt true zurück, wenn diese Map ein Schlüssel-Wert-Paar enthält, das durch den Schlüssel key identifiziert wird.
Siehe auch value(const QString &), operator[](const QString &), find(const QString &), remove(const QString &), contains(qint64), remove(QLatin1StringView), und remove(const QCborValue &).
bool QCborMap::empty() const
Synonym für isEmpty(). Diese Funktion wird aus Gründen der Kompatibilität mit generischem Code bereitgestellt, der die API der Standardbibliothek verwendet.
Gibt true zurück, wenn diese Map leer ist (size() == 0).
Siehe auch isEmpty() und size().
QCborMap::iterator QCborMap::end()
Gibt einen Map-Iterator zurück, der ein Element kurz hinter dem letzten Element in der Map darstellt.
Siehe auch begin(), constBegin(), find(), und constFind().
QCborMap::const_iterator QCborMap::end() const
Gibt einen Map-Iterator zurück, der ein Element kurz hinter dem letzten Element in der Map darstellt.
Siehe auch begin(), constBegin(), find(), und constFind().
QCborMap::iterator QCborMap::erase(QCborMap::const_iterator it)
Entfernt das Schlüssel-Wert-Paar, auf das der Map-Iterator it zeigt, und gibt einen Zeiger auf das nächste Element zurück, nachdem es entfernt wurde.
Siehe auch remove(), begin(), end(), insert(), und extract().
QCborMap::iterator QCborMap::erase(QCborMap::iterator it)
Dies ist eine überladene Funktion.
Entfernt das Schlüssel-Wert-Paar, auf das der Map-Iterator it zeigt, und gibt einen Zeiger auf das nächste Element zurück, nachdem es entfernt wurde.
Siehe auch remove(), begin(), end(), und insert().
[static]
QCborMap QCborMap::fromJsonObject(const QJsonObject &obj)
Konvertiert alle im Objekt obj gefundenen JSON-Elemente mit QCborValue::fromJson() in CBOR und gibt die aus diesen Elementen zusammengesetzte Map zurück.
Diese Umwandlung ist verlustfrei, da das CBOR-Typensystem eine Obermenge des JSON-Typensystems ist. Außerdem kann die von dieser Funktion zurückgegebene Map mit toJsonObject() wieder in das ursprüngliche obj konvertiert werden.
Siehe auch toJsonObject(), toVariantMap(), QCborValue::fromJsonValue(), und QCborArray::fromJsonArray().
[static noexcept, since 6.3]
QCborMap QCborMap::fromJsonObject(QJsonObject &&obj)
Dies ist eine überladene Funktion.
Diese Funktion wurde in Qt 6.3 eingeführt.
[static]
QCborMap QCborMap::fromVariantHash(const QVariantHash &hash)
Konvertiert alle Elemente in hash nach CBOR mit QCborValue::fromVariant() und gibt die aus diesen Elementen zusammengesetzte Karte zurück.
Die Konvertierung von QVariant ist nicht völlig verlustfrei. Bitte lesen Sie die Dokumentation in QCborValue::fromVariant() für weitere Informationen.
Siehe auch toVariantHash(), fromVariantMap(), fromJsonObject(), und QCborValue::fromVariant().
[static]
QCborMap QCborMap::fromVariantMap(const QVariantMap &map)
Konvertiert alle Elemente in map nach CBOR mit QCborValue::fromVariant() und gibt die aus diesen Elementen zusammengesetzte Karte zurück.
Die Konvertierung von QVariant ist nicht völlig verlustfrei. Bitte lesen Sie die Dokumentation in QCborValue::fromVariant() für weitere Informationen.
Siehe auch toVariantMap(), fromVariantHash(), fromJsonObject(), und QCborValue::fromVariant().
QCborMap::iterator QCborMap::insert(QCborMap::value_type v)
Dies ist eine überladene Funktion.
Fügt das Schlüssel-Wert-Paar in v in diese Map ein und gibt einen Map-Iterator zurück, der auf das neu eingefügte Paar zeigt.
Wenn die Map bereits einen Schlüssel mit dem Wert v.first
hatte, wird dessen Wert durch v.second
überschrieben.
Siehe auch operator[], erase(), und extract().
QCborMap::iterator QCborMap::insert(QLatin1StringView key, const QCborValue &value)
Dies ist eine überladene Funktion.
Fügt den Schlüssel key und den Wert value in diese Map ein und gibt einen Map-Iterator zurück, der auf das neu eingefügte Paar zeigt.
Falls die Map bereits einen Schlüssel mit dem Wert key hatte, wird dessen Wert durch value überschrieben.
Siehe auch erase(), remove(QLatin1StringView), value(QLatin1StringView), operator[](QLatin1StringView), find(QLatin1StringView), contains(QLatin1StringView), take(QLatin1StringView), und extract().
QCborMap::iterator QCborMap::insert(const QCborValue &key, const QCborValue &value)
Dies ist eine überladene Funktion.
Fügt den Schlüssel key und den Wert value in diese Map ein und gibt einen Map-Iterator zurück, der auf das neu eingefügte Paar zeigt.
Falls die Map bereits einen Schlüssel mit dem Wert key hatte, wird dessen Wert durch value überschrieben.
Siehe auch erase(), remove(const QCborValue &), value(const QCborValue &), operator[](const QCborValue &), find(const QCborValue &), contains(const QCborValue &), take(const QCborValue &), und extract().
QCborMap::iterator QCborMap::insert(const QString &key, const QCborValue &value)
Dies ist eine überladene Funktion.
Fügt den Schlüssel key und den Wert value in diese Map ein und gibt einen Map-Iterator zurück, der auf das neu eingefügte Paar zeigt.
Falls die Map bereits einen Schlüssel mit dem Wert key hatte, wird dessen Wert durch value überschrieben.
Siehe auch erase(), remove(const QString &), value(const QString &), operator[](const QString &), find(const QString &), contains(const QString &), take(const QString &), und extract().
QCborMap::iterator QCborMap::insert(qint64 key, const QCborValue &value)
Dies ist eine überladene Funktion.
Fügt den Schlüssel key und den Wert value in diese Map ein und gibt einen Map-Iterator zurück, der auf das neu eingefügte Paar zeigt.
Falls die Map bereits einen Schlüssel mit dem Wert key hatte, wird dessen Wert durch value überschrieben.
Siehe auch erase(), remove(qint64), value(qint64), operator[](qint64), find(qint64), contains(qint64), take(qint64), und extract().
bool QCborMap::isEmpty() const
Gibt true zurück, wenn diese Karte leer ist (d. h. size() ist 0).
Siehe auch size() und clear().
QList<QCborValue> QCborMap::keys() const
Gibt eine Liste aller Schlüssel in dieser Karte zurück.
Siehe auch QMap::keys() und QHash::keys().
void QCborMap::remove(const QCborValue &key)
Entfernt den Schlüssel key und den dazugehörigen Wert aus der Karte, falls er gefunden wird. Wenn die Karte keinen solchen Schlüssel enthält, tut diese Funktion nichts.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist nicht definiert, welchen diese Funktion entfernt. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit ihnen zu erstellen. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind in der Regel ein Hinweis auf ein Problem im Absender.
remove(qint64), remove(QLatin1StringView), remove(const QString &)
Siehe auch value(const QCborValue &), operator[](const QCborValue &), find(const QCborValue &), und contains(const QCborValue &).
void QCborMap::remove(qint64 key)
Entfernt den Schlüssel key und den dazugehörigen Wert aus der Karte, falls er gefunden wird. Wenn die Karte keinen solchen Schlüssel enthält, tut diese Funktion nichts.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist nicht definiert, welchen diese Funktion entfernt. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit ihnen zu erstellen. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind normalerweise ein Hinweis auf ein Problem im Sender.
remove(QLatin1StringView), remove(const QString &), remove(const QCborValue &)
Siehe auch value(qint64), operator[](qint64), find(qint64), und contains(qint64).
void QCborMap::remove(QLatin1StringView key)
Dies ist eine überladene Funktion.
Entfernt den Schlüssel key und den dazugehörigen Wert aus der Map, falls er gefunden wird. Wenn die Map keinen solchen Schlüssel enthält, tut diese Funktion nichts.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist es undefiniert, welchen diese Funktion entfernt. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit ihnen zu erstellen. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind normalerweise ein Hinweis auf ein Problem im Sender.
Siehe auch value(QLatin1StringView), operator[](QLatin1StringView), find(QLatin1StringView), contains(QLatin1StringView), remove(qint64), remove(const QString &), und remove(const QCborValue &).
void QCborMap::remove(const QString &key)
Dies ist eine überladene Funktion.
Entfernt den Schlüssel key und den dazugehörigen Wert aus der Map, falls er gefunden wird. Wenn die Map keinen solchen Schlüssel enthält, tut diese Funktion nichts.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist es undefiniert, welchen diese Funktion entfernt. QCborMap erlaubt keine doppelten Schlüssel, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit ihnen zu erstellen. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind in der Regel ein Hinweis auf ein Problem im Absender.
remove(qint64), remove(QLatin1StringView), remove(const QCborValue &)
Siehe auch value(const QString &), operator[](const QString &), find(const QString &), und contains(const QString &).
[noexcept]
qsizetype QCborMap::size() const
Gibt die Anzahl der Elemente in dieser Karte zurück.
Siehe auch isEmpty().
[noexcept]
void QCborMap::swap(QCborMap &other)
Tauscht diese Karte mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.
QCborValue QCborMap::take(QLatin1StringView key)
Entfernt den Schlüssel key und den entsprechenden Wert aus der Map und gibt den Wert zurück, falls er gefunden wurde. Wenn die Karte keinen solchen Schlüssel enthält, tut diese Funktion nichts.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist nicht definiert, welchen diese Funktion entfernt. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit ihnen zu erstellen. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind normalerweise ein Hinweis auf ein Problem im Sender.
Siehe auch value(QLatin1StringView), operator[](QLatin1StringView), find(QLatin1StringView), contains(QLatin1StringView), take(qint64), take(const QString &), take(const QCborValue &), und insert().
QCborValue QCborMap::take(const QCborValue &key)
Entfernt den Schlüssel key und den entsprechenden Wert aus der Map und gibt den Wert zurück, falls er gefunden wurde. Wenn die Karte keinen solchen Schlüssel enthält, tut diese Funktion nichts.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist nicht definiert, welchen diese Funktion entfernt. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit ihnen zu erstellen. Normalerweise sind sie nicht erlaubt, und das Vorhandensein von doppelten Schlüsseln ist normalerweise ein Hinweis auf ein Problem im Sender.
Siehe auch value(const QCborValue &), operator[](const QCborValue &), find(const QCborValue &), contains(const QCborValue &), take(QLatin1StringView), take(const QString &), take(qint64), und insert().
QCborValue QCborMap::take(const QString &key)
Entfernt den Schlüssel key und den entsprechenden Wert aus der Map und gibt den Wert zurück, falls er gefunden wurde. Wenn die Karte keinen solchen Schlüssel enthält, tut diese Funktion nichts.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist nicht definiert, welchen diese Funktion entfernt. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit ihnen zu erstellen. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind normalerweise ein Hinweis auf ein Problem im Sender.
Siehe auch value(const QString &), operator[](const QString &), find(const QString &), contains(const QString &), take(QLatin1StringView), take(qint64), take(const QCborValue &), und insert().
QCborValue QCborMap::take(qint64 key)
Entfernt den Schlüssel key und den entsprechenden Wert aus der Map und gibt den Wert zurück, falls er gefunden wurde. Wenn die Karte keinen solchen Schlüssel enthält, tut diese Funktion nichts.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist nicht definiert, welchen diese Funktion entfernt. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit ihnen zu erstellen. Normalerweise sind sie nicht erlaubt und doppelte Schlüssel sind normalerweise ein Hinweis auf ein Problem im Sender.
Siehe auch value(qint64), operator[](qint64), find(qint64), contains(qint64), take(QLatin1StringView), take(const QString &), take(const QCborValue &), und insert().
QCborValue QCborMap::toCborValue() const
Konstruiert explizit ein QCborValue Objekt, das diese Karte darstellt. Diese Funktion ist normalerweise nicht notwendig, da QCborValue einen Konstruktor für QCborMap hat, so dass die Konvertierung implizit ist.
Die Umwandlung von QCborMap in QCborValue ermöglicht die Verwendung in jedem Kontext, in dem QCborValues verwendet werden können, einschließlich als Schlüssel und gemappte Typen in QCborMap sowie QCborValue::toCbor().
Siehe auch QCborValue::QCborValue(const QCborMap &).
QJsonObject QCborMap::toJsonObject() const
Konvertiert rekursiv jeden QCborValue Wert in dieser Map in JSON mit QCborValue::toJsonValue() und erstellt einen String-Schlüssel für alle Schlüssel, die keine Strings sind, und gibt dann die entsprechende QJsonObject zurück, die aus diesen Assoziationen besteht.
Bitte beachten Sie, dass CBOR einen umfangreicheren und breiteren Typensatz als JSON enthält, so dass einige Informationen bei dieser Konvertierung verloren gehen können. Weitere Einzelheiten zu den angewandten Konvertierungen finden Sie unter QCborValue::toJsonValue().
Umwandlung von Map-Schlüsseln in Strings
JSON-Objekte sind im Gegensatz zu CBOR als String-Schlüssel definiert, so dass die Konvertierung von QCborMap nach QJsonObject einen Schritt der "Stringifizierung" der Schlüsselwerte beinhaltet. Bei der Konvertierung wird die oben beschriebene spezielle Behandlung von Tags und erweiterten Typen verwendet und auch die übrigen Typen werden wie folgt konvertiert:
Typ | Umwandlung |
---|---|
Bool | "wahr" und "falsch" |
Null | "null" |
Unbestimmt | "undefiniert" |
Ganzzahl | Die dezimale Stringform der Zahl |
Doppelt | Die dezimale Zeichenfolgenform der Zahl |
Byte-Array | Sofern nicht anders gekennzeichnet (siehe oben), kodiert als Base64url |
Array | Ersetzt durch die kompakte Form der Diagnostic notation |
Karte | Ersetzt durch die kompakte Form von Diagnostic notation |
Tags und erweiterte Typen | Die Tag-Nummer entfällt und der getaggte Wert wird in einen String umgewandelt |
Siehe auch fromJsonObject(), QCborValue::toJsonValue(), QCborArray::toJsonArray(), und toVariantMap().
QVariantHash QCborMap::toVariantHash() const
Konvertiert die CBOR-Werte in QVariant mit QCborValue::toVariant() und "stringifiziert" alle CBOR-Schlüssel in dieser Map und gibt die QVariantHash zurück, die sich aus dieser Assoziationsliste ergibt.
QVariantMaps haben String-Schlüssel, im Gegensatz zu CBOR, so dass die Konvertierung von QCborMap nach QVariantMap einen Schritt der "Stringifizierung" der Schlüsselwerte impliziert. Siehe QCborMap::toJsonObject() für Details.
Darüber hinaus ist die Konvertierung nach QVariant nicht völlig verlustfrei. Bitte lesen Sie die Dokumentation in QCborValue::toVariant() für weitere Informationen.
Siehe auch fromVariantHash(), toVariantMap(), toJsonObject(), QCborValue::toVariant(), und QCborArray::toVariantList().
QVariantMap QCborMap::toVariantMap() const
Konvertiert die CBOR-Werte in QVariant mit QCborValue::toVariant() und "stringifiziert" alle CBOR-Schlüssel in dieser Map und gibt die QVariantMap zurück, die sich aus dieser Assoziationsliste ergibt.
QVariantMaps haben String-Schlüssel, im Gegensatz zu CBOR, so dass die Konvertierung von QCborMap nach QVariantMap einen Schritt der "Stringifizierung" der Schlüsselwerte impliziert. Siehe QCborMap::toJsonObject() für Details.
Darüber hinaus ist die Konvertierung nach QVariant nicht völlig verlustfrei. Bitte lesen Sie die Dokumentation in QCborValue::toVariant() für weitere Informationen.
Siehe auch fromVariantMap(), toVariantHash(), toJsonObject(), QCborValue::toVariant(), und QCborArray::toVariantList().
QCborValue QCborMap::value(const QCborValue &key) const
Gibt das Element QCborValue in dieser Map zurück, das dem Schlüssel key entspricht, falls es einen gibt.
Wenn die Karte den Schlüssel key nicht enthält, gibt diese Funktion ein QCborValue zurück, das einen undefinierten Wert enthält. Aus diesem Grund ist es mit dieser Funktion nicht möglich, die Situation, in der der Schlüssel nicht vorhanden war, von der Situation zu unterscheiden, in der der Schlüssel auf einen undefinierten Wert abgebildet wurde.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist es unbestimmt, welchen diese Funktion zurückgibt. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map zu erstellen, indem man einen CBOR-Stream mit ihnen dekodiert. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind normalerweise ein Hinweis auf ein Problem im Sender.
wert(qint64), wert(QLatin1StringView), wert(const QString &)
Siehe auch operator[](const QCborValue &), find(const QCborValue &), constFind(const QCborValue &), remove(const QCborValue &), und contains(const QCborValue &).
QCborValue QCborMap::value(qint64 key) const
Gibt das Element QCborValue in dieser Map zurück, das dem Schlüssel key entspricht, falls es einen gibt. CBOR empfiehlt die Verwendung von Integer-Schlüsseln, da diese weniger Platz beanspruchen und einfacher zu kodieren und dekodieren sind.
Wenn die Map den Schlüssel key nicht enthält, gibt diese Funktion ein QCborValue zurück, das einen undefinierten Wert enthält. Aus diesem Grund ist es mit dieser Funktion nicht möglich, die Situation, in der der Schlüssel nicht vorhanden war, von der Situation zu unterscheiden, in der der Schlüssel auf einen undefinierten Wert abgebildet wurde.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist es unbestimmt, auf welchen der Schlüssel die Funktion verweist. QCborMap erlaubt keine doppelten Schlüssel, aber es ist möglich, eine solche Map zu erstellen, indem man einen CBOR-Stream mit ihnen dekodiert. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind in der Regel ein Hinweis auf ein Problem im Absender.
value(QLatin1StringView), value(const QString &), value(const QCborValue &)
Siehe auch operator[](qint64), find(qint64), constFind(qint64), remove(qint64), und contains(qint64).
QCborValue QCborMap::value(QLatin1StringView key) const
Dies ist eine überladene Funktion.
Gibt das Element QCborValue in dieser Map zurück, das dem Schlüssel key entspricht, falls es einen gibt.
Wenn die Karte den Schlüssel key nicht enthält, gibt diese Funktion ein QCborValue zurück, das einen undefinierten Wert enthält. Aus diesem Grund ist es mit dieser Funktion nicht möglich, die Situation, in der der Schlüssel nicht vorhanden war, von der Situation zu unterscheiden, in der der Schlüssel auf einen undefinierten Wert abgebildet wurde.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist es unbestimmt, welchen diese Funktion zurückgibt. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map zu erstellen, indem ein CBOR-Stream mit ihnen dekodiert wird. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind in der Regel ein Hinweis auf ein Problem im Absender.
wert(qint64), wert(const QString &), wert(const QCborValue &)
Siehe auch operator[](QLatin1StringView), find(QLatin1StringView), constFind(QLatin1StringView), remove(QLatin1StringView), und contains(QLatin1StringView).
QCborValue QCborMap::value(const QString &key) const
Dies ist eine überladene Funktion.
Gibt das Element QCborValue in dieser Map zurück, das dem Schlüssel key entspricht, falls es einen gibt.
Wenn die Karte den Schlüssel key nicht enthält, gibt diese Funktion ein QCborValue zurück, das einen undefinierten Wert enthält. Aus diesem Grund ist es mit dieser Funktion nicht möglich, die Situation, in der der Schlüssel nicht vorhanden war, von der Situation zu unterscheiden, in der der Schlüssel auf einen undefinierten Wert abgebildet wurde.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist es unbestimmt, welchen diese Funktion zurückgibt. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map zu erstellen, indem man einen CBOR-Stream mit ihnen dekodiert. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind normalerweise ein Hinweis auf ein Problem im Sender.
wert(qint64), wert(QLatin1StringView), wert(const QCborValue &)
Siehe auch operator[](const QString &), find(const QString &), constFind(const QString &), remove(const QString &), und contains(const QString &).
[noexcept]
QCborMap &QCborMap::operator=(const QCborMap &other)
Ersetzt den Inhalt dieses Objekts durch eine Kopie von other und gibt dann einen Verweis auf dieses Objekt zurück.
QCborValueRef QCborMap::operator[](qint64 key)
Gibt eine QCborValueRef zu dem Wert in dieser Map zurück, der dem Schlüssel key entspricht. CBOR empfiehlt die Verwendung von Integer-Schlüsseln, da diese weniger Platz beanspruchen und einfacher zu kodieren und dekodieren sind.
QCborValueRef hat genau dieselbe API wie QCborValue, mit einem wichtigen Unterschied: Wenn Sie ihr neue Werte zuweisen, wird diese Map mit diesem neuen Wert aktualisiert.
Wenn die Map keinen Schlüssel mit dem Wert key hatte, wird einer eingefügt und diese Funktion gibt einen Verweis auf den neuen Wert zurück, bei dem es sich um QCborValue mit einem undefinierten Wert handelt. Aus diesem Grund ist es mit dieser Funktion nicht möglich, die Situation, in der der Schlüssel nicht vorhanden war, von der Situation zu unterscheiden, in der der Schlüssel auf einen undefinierten Wert abgebildet wurde.
Wenn die Map mehr als einen Schlüssel mit dem Wert key enthält, ist nicht definiert, auf welchen die Rückgabe verweist. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind in der Regel ein Hinweis auf ein Problem im Absender.
Siehe auch value(qint64), find(qint64), contains(qint64), remove(qint64), operator[](QLatin1StringView), operator[](const QString &), und operator[](const QCborValue &).
const QCborValue QCborMap::operator[](const QCborValue &key) const
Gibt das Element QCborValue in dieser Map zurück, das dem Schlüssel key entspricht, falls es einen gibt.
Wenn die Karte den Schlüssel key nicht enthält, gibt diese Funktion ein QCborValue zurück, das einen undefinierten Wert enthält. Aus diesem Grund ist es mit dieser Funktion nicht möglich, die Situation, in der der Schlüssel nicht vorhanden war, von der Situation zu unterscheiden, in der der Schlüssel auf einen undefinierten Wert abgebildet wurde.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist es unbestimmt, welchen diese Funktion zurückgibt. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map zu erstellen, indem man einen CBOR-Stream mit ihnen dekodiert. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind in der Regel ein Hinweis auf ein Problem im Sender.
operator[](qint64), operator[](QLatin1StringView), operator[](const QCborOperator[] &)
Siehe auch value(const QCborValue &), find(const QCborValue &), constFind(const QCborValue &), remove(const QCborValue &), und contains(const QCborValue &).
const QCborValue QCborMap::operator[](qint64 key) const
Gibt das Element QCborValue in dieser Map zurück, das dem Schlüssel key entspricht, falls es einen gibt. CBOR empfiehlt die Verwendung von Integer-Schlüsseln, da diese weniger Platz beanspruchen und einfacher zu kodieren und dekodieren sind.
Wenn die Map den Schlüssel key nicht enthält, gibt diese Funktion ein QCborValue zurück, das einen undefinierten Wert enthält. Aus diesem Grund ist es mit dieser Funktion nicht möglich, die Situation, in der der Schlüssel nicht vorhanden war, von der Situation zu unterscheiden, in der der Schlüssel auf einen undefinierten Wert abgebildet wurde.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist es unbestimmt, welchen diese Funktion zurückgibt. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map zu erstellen, indem ein CBOR-Stream mit ihnen dekodiert wird. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind in der Regel ein Hinweis auf ein Problem im Sender.
operator[](QLatin1StringView), operator[](const QString &), operator[](const QCborOperator[] &)
Siehe auch value(qint64), find(qint64), constFind(qint64), remove(qint64), und contains(qint64).
QCborValueRef QCborMap::operator[](QLatin1StringView key)
Dies ist eine überladene Funktion.
Gibt eine QCborValueRef zu dem Wert in dieser Map zurück, der dem Schlüssel key entspricht.
QCborValueRef hat genau die gleiche API wie QCborValue, mit einem wichtigen Unterschied: Wenn Sie ihr neue Werte zuweisen, wird diese Map mit diesem neuen Wert aktualisiert.
Wenn die Map keinen Schlüssel mit dem Wert key hatte, wird einer eingefügt, und diese Funktion gibt einen Verweis auf den neuen Wert zurück, der ein QCborValue mit einem undefinierten Wert ist. Aus diesem Grund ist es mit dieser Funktion nicht möglich, die Situation, in der der Schlüssel nicht vorhanden war, von der Situation zu unterscheiden, in der der Schlüssel auf einen undefinierten Wert abgebildet wurde.
Wenn die Map mehr als einen Schlüssel mit dem Wert key enthält, ist nicht definiert, auf welchen die Rückgabe verweist. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind in der Regel ein Hinweis auf ein Problem im Absender.
Siehe auch value(QLatin1StringView), find(QLatin1StringView), contains(QLatin1StringView), remove(QLatin1StringView), operator[](qint64), operator[](const QString &), und operator[](const QCborValue &).
QCborValueRef QCborMap::operator[](const QCborValue &key)
Dies ist eine überladene Funktion.
Gibt eine QCborValueRef zu dem Wert in dieser Map zurück, der dem Schlüssel key entspricht.
QCborValueRef hat genau die gleiche API wie QCborValue, mit einem wichtigen Unterschied: Wenn Sie ihr neue Werte zuweisen, wird diese Map mit diesem neuen Wert aktualisiert.
Wenn die Map keinen Schlüssel mit dem Wert key hatte, wird einer eingefügt, und diese Funktion gibt einen Verweis auf den neuen Wert zurück, der ein QCborValue mit einem undefinierten Wert ist. Aus diesem Grund ist es mit dieser Funktion nicht möglich, die Situation, in der der Schlüssel nicht vorhanden war, von der Situation zu unterscheiden, in der der Schlüssel auf einen undefinierten Wert abgebildet wurde.
Wenn die Map mehr als einen Schlüssel mit dem Wert key enthält, ist nicht definiert, auf welchen die Rückgabe verweist. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind in der Regel ein Hinweis auf ein Problem im Absender.
Siehe auch value(const QCborValue &), find(const QCborValue &), contains(const QCborValue &), remove(const QCborValue &), operator[](qint64), operator[](QLatin1StringView), und operator[](const QString &).
QCborValueRef QCborMap::operator[](const QString &key)
Dies ist eine überladene Funktion.
Gibt eine QCborValueRef zu dem Wert in dieser Map zurück, der dem Schlüssel key entspricht.
QCborValueRef hat genau dieselbe API wie QCborValue, mit einem wichtigen Unterschied: Wenn Sie ihr neue Werte zuweisen, wird diese Map mit diesem neuen Wert aktualisiert.
Wenn die Map keinen Schlüssel mit dem Wert key hatte, wird einer eingefügt, und diese Funktion gibt einen Verweis auf den neuen Wert zurück, der ein QCborValue mit einem undefinierten Wert ist. Aus diesem Grund ist es mit dieser Funktion nicht möglich, die Situation, in der der Schlüssel nicht vorhanden war, von der Situation zu unterscheiden, in der der Schlüssel auf einen undefinierten Wert abgebildet wurde.
Wenn die Map mehr als einen Schlüssel mit dem Wert key enthält, ist nicht definiert, auf welchen die Rückgabe verweist. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind in der Regel ein Hinweis auf ein Problem im Absender.
Siehe auch value(const QString &), find(const QString &), contains(const QString &), remove(const QString &), operator[](qint64), operator[](QLatin1StringView), und operator[](const QCborValue &).
const QCborValue QCborMap::operator[](QLatin1StringView key) const
Dies ist eine überladene Funktion.
Gibt das Element QCborValue in dieser Map zurück, das dem Schlüssel key entspricht, falls es einen gibt.
Wenn die Karte den Schlüssel key nicht enthält, gibt diese Funktion ein QCborValue zurück, das einen undefinierten Wert enthält. Aus diesem Grund ist es mit dieser Funktion nicht möglich, die Situation, in der der Schlüssel nicht vorhanden war, von der Situation zu unterscheiden, in der der Schlüssel auf einen undefinierten Wert abgebildet wurde.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist es unbestimmt, welchen diese Funktion zurückgibt. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map zu erstellen, indem man einen CBOR-Stream mit ihnen dekodiert. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind in der Regel ein Hinweis auf ein Problem im Sender.
operator[](qint64), operator[](const QString &), operator[](const QCborOperator[] &)
Siehe auch value(QLatin1StringView), find(QLatin1StringView), constFind(QLatin1StringView), remove(QLatin1StringView), und contains(QLatin1StringView).
const QCborValue QCborMap::operator[](const QString &key) const
Dies ist eine überladene Funktion.
Gibt das Element QCborValue in dieser Map zurück, das dem Schlüssel key entspricht, falls es einen gibt.
Wenn die Karte den Schlüssel key nicht enthält, gibt diese Funktion ein QCborValue zurück, das einen undefinierten Wert enthält. Aus diesem Grund ist es mit dieser Funktion nicht möglich, die Situation, in der der Schlüssel nicht vorhanden war, von der Situation zu unterscheiden, in der der Schlüssel auf einen undefinierten Wert abgebildet wurde.
Enthält die Map mehr als einen Schlüssel, der gleich key ist, ist es unbestimmt, welchen diese Funktion zurückgibt. QCborMap erlaubt nicht das Einfügen von doppelten Schlüsseln, aber es ist möglich, eine solche Map zu erstellen, indem man einen CBOR-Stream mit ihnen dekodiert. Normalerweise sind sie nicht erlaubt, und doppelte Schlüssel sind normalerweise ein Hinweis auf ein Problem im Sender.
operator[](qint64), operator[](QLatin1StringView), operator[](const QCborOperator[] &)
Siehe auch value(const QString &), find(const QString &), constFind(const QString &), remove(const QString &), und contains(const QString &).
Verwandte Nicht-Mitglieder
[noexcept]
bool operator!=(const QCborMap &lhs, const QCborMap &rhs)
Vergleicht die Maps lhs und rhs, wobei jedes Element der Reihe nach verglichen wird, und gibt true zurück, wenn die beiden Maps unterschiedliche Elemente oder Elemente in unterschiedlicher Reihenfolge enthalten, andernfalls false.
Beachten Sie, dass CBOR-Maps nicht geordnet sind, was bedeutet, dass zwei Maps, die die gleichen Paare enthalten, aber in unterschiedlicher Reihenfolge, trotzdem unterschiedlich verglichen werden. Um dies zu vermeiden, empfiehlt es sich, Elemente in einer vorhersehbaren Reihenfolge in die Map einzufügen, z. B. nach aufsteigendem Schlüsselwert. Tatsächlich sind Maps mit sortierten Schlüsseln für die kanonische CBOR-Darstellung erforderlich.
Für weitere Informationen über CBOR-Gleichheit in Qt siehe QCborValue::compare().
Siehe auch compare(), QCborValue::operator==(), QCborMap::operator==(), operator==(), und operator<().
[noexcept]
bool operator<(const QCborMap &lhs, const QCborMap &rhs)
Vergleicht die Maps lhs und rhs, wobei jedes Element der Reihe nach verglichen wird, und gibt true zurück, wenn die Map lhs vor der Map rhs sortiert werden soll, andernfalls false.
Beachten Sie, dass CBOR-Maps nicht geordnet sind, was bedeutet, dass zwei Maps, die die gleichen Paare enthalten, aber in unterschiedlicher Reihenfolge, trotzdem unterschiedlich verglichen werden. Um dies zu vermeiden, empfiehlt es sich, die Elemente in einer vorhersehbaren Reihenfolge in die Map einzufügen, z. B. nach aufsteigendem Schlüsselwert. Tatsächlich sind Maps mit sortierten Schlüsseln für die kanonische CBOR-Darstellung erforderlich.
Weitere Informationen zur CBOR-Sortierreihenfolge finden Sie unter QCborValue::compare().
Siehe auch compare(), QCborValue::operator==(), QCborMap::operator==(), operator==(), und operator!=().
[noexcept]
bool operator<=(const QCborMap &lhs, const QCborMap &rhs)
Vergleicht die Maps lhs und rhs, wobei jedes Element der Reihe nach verglichen wird, und gibt true zurück, wenn die Map lhs vor der Map rhs sortiert werden soll oder wenn die beiden Maps die gleichen Elemente in der gleichen Reihenfolge enthalten, andernfalls false.
Beachten Sie, dass CBOR-Maps nicht geordnet sind, was bedeutet, dass zwei Maps, die die gleichen Paare enthalten, aber in unterschiedlicher Reihenfolge, trotzdem unterschiedlich verglichen werden. Um dies zu vermeiden, empfiehlt es sich, die Elemente in einer vorhersehbaren Reihenfolge in die Map einzufügen, z. B. nach aufsteigendem Schlüsselwert. Tatsächlich sind Maps mit sortierten Schlüsseln für die kanonische CBOR-Darstellung erforderlich.
Weitere Informationen zur CBOR-Sortierreihenfolge finden Sie unter QCborValue::compare().
Siehe auch compare(), QCborValue::operator==(), QCborMap::operator==(), operator==(), und operator!=().
[noexcept]
bool operator==(const QCborMap &lhs, const QCborMap &rhs)
Vergleicht die Maps lhs und rhs, wobei jedes Element der Reihe nach verglichen wird, und gibt true zurück, wenn die beiden Maps die gleichen Elemente in der gleichen Reihenfolge enthalten, andernfalls false.
Beachten Sie, dass CBOR-Maps nicht geordnet sind, was bedeutet, dass zwei Maps, die die gleichen Paare enthalten, aber in unterschiedlicher Reihenfolge, trotzdem unterschiedlich verglichen werden. Um dies zu vermeiden, empfiehlt es sich, die Elemente in einer vorhersehbaren Reihenfolge in die Map einzufügen, z. B. nach aufsteigendem Schlüsselwert. Tatsächlich sind Maps mit sortierten Schlüsseln für die kanonische CBOR-Darstellung erforderlich.
Für weitere Informationen über CBOR-Gleichheit in Qt siehe QCborValue::compare().
Siehe auch compare(), QCborValue::operator==(), QCborMap::operator==(), operator!=(), und operator<().
[noexcept]
bool operator>(const QCborMap &lhs, const QCborMap &rhs)
Vergleicht die Maps lhs und rhs, wobei jedes Element der Reihe nach verglichen wird, und gibt true zurück, wenn die Map lhs nach der Map rhs sortiert werden soll, andernfalls false.
Beachten Sie, dass CBOR-Maps nicht geordnet sind, was bedeutet, dass zwei Maps, die die gleichen Paare enthalten, aber in unterschiedlicher Reihenfolge, trotzdem unterschiedlich verglichen werden. Um dies zu vermeiden, empfiehlt es sich, die Elemente in einer vorhersehbaren Reihenfolge in die Map einzufügen, z. B. nach aufsteigendem Schlüsselwert. Tatsächlich sind Maps mit sortierten Schlüsseln für die kanonische CBOR-Darstellung erforderlich.
Weitere Informationen zur CBOR-Sortierreihenfolge finden Sie unter QCborValue::compare().
Siehe auch compare(), QCborValue::operator==(), QCborMap::operator==(), operator==(), und operator!=().
[noexcept]
bool operator>=(const QCborMap &lhs, const QCborMap &rhs)
Vergleicht die Maps lhs und rhs, wobei jedes Element der Reihe nach verglichen wird, und gibt true zurück, wenn die Map lhs nach der Map rhs sortiert werden soll oder wenn die beiden Maps die gleichen Elemente in der gleichen Reihenfolge enthalten, andernfalls false.
Beachten Sie, dass CBOR-Maps nicht geordnet sind, was bedeutet, dass zwei Maps, die die gleichen Paare enthalten, aber in unterschiedlicher Reihenfolge, trotzdem unterschiedlich verglichen werden. Um dies zu vermeiden, empfiehlt es sich, die Elemente in einer vorhersehbaren Reihenfolge in die Map einzufügen, z. B. nach aufsteigendem Schlüsselwert. Tatsächlich sind Maps mit sortierten Schlüsseln für die kanonische CBOR-Darstellung erforderlich.
Weitere Informationen zur CBOR-Sortierreihenfolge finden Sie unter QCborValue::compare().
Siehe auch compare(), QCborValue::operator==(), QCborMap::operator==(), operator==(), und operator!=().
© 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.