QCborMap Class
Die Klasse „QCborMap“ dient dazu, einen assoziativen Container zu speichern, der in CBOR dargestellt werden kann. Mehr...
| Header: | #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.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
QCborMap-Vergleiche
| Kategorie | Vergleichbare Typen |
|---|---|
| stark | QCborMap |
| strong | QCborValue und QCborValueConstRef. |
Öffentliche Typen
| class | ConstIterator |
| class | Iterator |
| const_iterator | |
(since 6.10) | const_key_value_iterator |
| iterator | |
| key_type | |
(since 6.10) | key_value_iterator |
| mapped_type | |
| size_type | |
| value_type |
Öffentliche Funktionen
| QCborMap() | |
| QCborMap(std::initializer_list<QCborMap::value_type> args) | |
| QCborMap(const QCborMap &other) | |
(since 6.10) | QCborMap(QCborMap &&other) |
| ~QCborMap() | |
(since 6.10) auto | asKeyValueRange() && |
(since 6.10) auto | asKeyValueRange() & |
(since 6.10) auto | asKeyValueRange() const && |
(since 6.10) auto | asKeyValueRange() const & |
| 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 |
(since 6.10) QCborMap::const_key_value_iterator | constKeyValueBegin() const |
(since 6.10) QCborMap::const_key_value_iterator | constKeyValueEnd() 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 |
(since 6.10) QCborMap::key_value_iterator | keyValueBegin() |
(since 6.10) QCborMap::const_key_value_iterator | keyValueBegin() const |
(since 6.10) QCborMap::key_value_iterator | keyValueEnd() |
(since 6.10) QCborMap::const_key_value_iterator | keyValueEnd() 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 |
(since 6.10) QCborMap & | operator=(QCborMap &&other) |
| 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 Elemente
| 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) |
Ausführliche Beschreibung
Diese Klasse kann verwendet werden, um einen assoziativen Container in CBOR zu speichern, d. h. eine Zuordnung zwischen einem Schlüssel und einem Werttyp. CBOR steht für „Concise Binary Object Representation“ und ist eine sehr kompakte Form der binären Datenkodierung, die eine Obermenge von JSON darstellt. Sie wurde von der IETF-Arbeitsgruppe „Constrained RESTful Environments“ (CoRE) entwickelt, die sie in vielen neuen RFCs verwendet hat. Sie ist für den Einsatz in Verbindung mit dem CoAP-Protokoll vorgesehen.
Im Gegensatz zu JSON und „ QVariantMap “ können CBOR-Map-Schlüssel beliebigen Typs sein, nicht nur Zeichenketten. Aus diesem Grund ist „QCborMap“ im Grunde eine Zuordnung zwischen „ QCborValue “-Schlüsseln und „ QCborValue “-Wertelementen.
Für alle Mitgliedsfunktionen, die einen Schlüsselparameter entgegennehmen, bietet QCborMap jedoch Überladungen, die effizient mit Ganzzahlen und Zeichenketten arbeiten. Tatsächlich wird die Verwendung von ganzzahligen Schlüsseln empfohlen, da diese bei der Übertragung weniger Bytes beanspruchen und einfacher zu kodieren und zu dekodieren sind. Neuere Protokolle, die von der IETF CoRE WG speziell für die Verwendung mit CBOR entwickelt wurden, nutzen diese bekanntermaßen.
QCborMap ist nicht sortiert; aus diesem Grund weist die Suche nach Schlüsseln eine lineare Komplexität (O(n)) auf. QCborMap bewahrt die Elemente tatsächlich in der Reihenfolge auf, in der sie eingefügt wurden, was bedeutet, dass es möglich ist, sortierte QCborMaps zu erstellen, indem Elemente sorgfältig in sortierter Reihenfolge eingefügt werden. CBOR verlangt keine Sortierung, empfiehlt sie jedoch.
QCborMap kann auch in „ QVariantMap “ und „ QJsonObject “ konvertiert und wieder zurückkonvertiert werden. Bei der Konvertierung werden jedoch alle Schlüssel, die keine Zeichenketten sind, mithilfe einer Einwegmethode in Zeichenketten umgewandelt, was bei der Rückkonvertierung zu QCborMap nicht rückgängig gemacht werden kann.
Siehe auch „ QCborArray“ , „ QCborValue “, „ QJsonDocument “, „ QVariantMap “, „Parsing und Anzeige von CBOR-Daten“, „Serialisierungs-Konverter“ sowie „Speichern und Laden eines Spiels“.
Dokumentation zu Mitgliedstypen
QCborMap::const_iterator
Ein Synonym für QCborMap::ConstIterator
[since 6.10] QCborMap::const_key_value_iterator
Der Typedef „QCborMap::const_key_value_iterator“ stellt einen Iterator im STL-Stil für „ QCborMap “ bereit.
QCborMap::const_key_value_iterator entspricht im Wesentlichen QCborMap::const_iterator, wird jedoch aus Gründen der Symmetrie zu anderen Containern wie QJsonObject bereitgestellt.
Dieser Typedef wurde in Qt 6.10 eingeführt.
Siehe auch ` QKeyValueIterator`.
QCborMap::iterator
Ein Synonym für „ QCborMap::Iterator “.
QCborMap::key_type
Der Schlüsseltyp für diese Zuordnung. Da die Schlüssel von „ QCborMap “ einen beliebigen CBOR-Typ annehmen können, handelt es sich hierbei um einen „ QCborValue “.
[since 6.10] QCborMap::key_value_iterator
Die Typdefinition „QCborMap::key_value_iterator“ stellt einen Iterator im STL-Stil für „ QCborMap “ bereit.
QCborMap::key_value_iterator entspricht im Wesentlichen „ QCborMap::iterator “, wurde jedoch aus Gründen der Symmetrie zu anderen Containern wie „ QJsonObject “ bereitgestellt.
Dieser Typedef wurde in Qt 6.10 eingeführt.
Siehe auch „ QKeyValueIterator “.
QCborMap::mapped_type
Der Typ, dem (der Wert) zugeordnet ist, d. h. ein „ QCborValue “.
QCborMap::size_type
Der Typ, den QCborMap für Größen verwendet.
QCborMap::value_type
Der in diesem Container gespeicherte Wert: ein Paar von QCborValues
Dokumentation der Mitgliedsfunktionen
[noexcept] QCborMap::QCborMap()
Erstellt ein leeres CBOR-Map-Objekt.
Siehe auch „ isEmpty()“.
QCborMap::QCborMap(std::initializer_list<QCborMap::value_type> args)
Erstellt ein QCborMap-Objekt mit Elementen aus einer Klammer-Initialisierungsliste, die unter args zu finden ist, wie im folgenden Beispiel gezeigt:
QCborMap map = {
{0, "Hello"},
{1, "World"},
{"foo", nullptr},
{"bar", QCborArray{0, 1, 2, 3, 4}}
};[noexcept] QCborMap::QCborMap(const QCborMap &other)
Erstellt ein QCborMap-Objekt, das eine Kopie von „ other “ ist.
[constexpr noexcept default, since 6.10] QCborMap::QCborMap(QCborMap &&other)
Move-Konstruktor.
Das Objekt, aus dem verschoben wird ( other ), wird in den Zustand der Standardkonstruktion versetzt.
Diese Funktion wurde in Qt 6.10 eingeführt.
Siehe auch QCborMap::QCborMap().
[noexcept] QCborMap::~QCborMap()
Löscht dieses „ QCborMap “-Objekt und gibt alle damit verbundenen Ressourcen frei, die ihm gehören.
[since 6.10] auto QCborMap::asKeyValueRange() &&
[since 6.10] auto QCborMap::asKeyValueRange() &
[since 6.10] auto QCborMap::asKeyValueRange() const &&
[since 6.10] auto QCborMap::asKeyValueRange() const &
Gibt ein Range-Objekt zurück, mit dem diese Map als Schlüssel-Wert-Paare durchlaufen werden kann.
Beachten Sie, dass die auf diese Weise erhaltenen Werte Referenzen auf die Werte in der Map sind. Das bedeutet konkret, dass eine Änderung des Werts die Map selbst verändert.
Diese Funktionen wurden in Qt 6.10 eingeführt.
Siehe auch QKeyValueIterator.
QCborMap::iterator QCborMap::begin()
Gibt einen Map-Iterator zurück, der auf das erste Schlüssel-Wert-Paar dieser Map zeigt. Ist diese Map leer, entspricht der zurückgegebene Iterator dem von 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 verweist. Ist diese Map leer, entspricht der zurückgegebene Iterator dem von constEnd().
Siehe auch „ cbegin()“ und „ constEnd()“.
QCborMap::const_iterator QCborMap::cbegin() const
Gibt einen Map-Iterator zurück, der auf das erste Schlüssel-Wert-Paar dieser Map verweist. Ist diese Map leer, entspricht der zurückgegebene Iterator dem von constEnd().
Siehe auch begin() und constEnd().
QCborMap::const_iterator QCborMap::cend() const
Gibt einen Map-Iterator zurück, der ein Element direkt hinter dem letzten Element der Map darstellt.
Siehe auch begin(), constBegin(), find() und constFind().
void QCborMap::clear()
Leert diese Karte.
Siehe auch „ isEmpty()“.
[noexcept] int QCborMap::compare(const QCborMap &other) const
Vergleicht diese Map mit other, wobei jedes Element der Reihe nach verglichen wird, und gibt eine Ganzzahl zurück, die angibt, ob diese Map vor (bei negativem Ergebnis) oder nach other (bei positivem Ergebnis) sortiert werden sollte. Wenn diese Funktion 0 zurückgibt, sind die beiden Maps gleich und enthalten dieselben Elemente.
Beachten Sie, dass CBOR-Maps ungeordnet sind, was bedeutet, dass zwei Maps, die genau dieselben Paare enthalten, diese jedoch in unterschiedlicher Reihenfolge aufweisen, beim Vergleich dennoch unterschiedlich bewertet werden. Um dies zu vermeiden, wird empfohlen, Elemente in einer vorhersehbaren Reihenfolge in die Map einzufügen, beispielsweise in aufsteigender Reihenfolge der Schlüsselwerte. 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 verweist. Ist diese Map leer, entspricht der zurückgegebene Iterator dem von constEnd().
Siehe auch begin() und constEnd().
QCborMap::const_iterator QCborMap::constEnd() const
Gibt einen Map-Iterator zurück, der ein Element direkt 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 für das Schlüssel-Wert-Paar zurück, dessen Schlüssel „ key “ lautet, sofern die Map ein solches Paar enthält. Ist dies nicht der Fall, gibt diese Funktion „ constEnd()“ zurück.
CBOR empfiehlt die Verwendung von ganzzahligen Schlüsseln, da diese weniger Speicherplatz beanspruchen und einfacher zu kodieren und zu dekodieren sind.
Enthält die Map mehr als einen Schlüssel mit dem Wert „ key “, ist es nicht definiert, welchen Schlüssel diese Funktion findet. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, es ist jedoch möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
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
Gibt einen Map-Iterator für das Schlüssel-Wert-Paar zurück, dessen Schlüssel „ key “ lautet, sofern die Map ein solches Paar enthält. Ist dies nicht der Fall, gibt diese Funktion „ constEnd()“ zurück.
Enthält die Map mehr als einen Schlüssel mit dem Wert „ key “, ist es undefiniert, welchen Schlüssel diese Funktion findet. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, es ist jedoch möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
Dies ist eine überladene Funktion.
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
Gibt einen Map-Iterator für das Schlüssel-Wert-Paar zurück, dessen Schlüssel „ key “ lautet, sofern die Map ein solches Paar enthält. Ist dies nicht der Fall, gibt diese Funktion „ constEnd()“ zurück.
Enthält die Map mehr als einen Schlüssel mit dem Wert „ key “, ist es nicht definiert, welchen Schlüssel diese Funktion findet. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, es ist jedoch möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
Dies ist eine überladene Funktion.
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
Gibt einen Map-Iterator für das Schlüssel-Wert-Paar zurück, dessen Schlüssel „ key “ lautet, sofern die Map ein solches Paar enthält. Ist dies nicht der Fall, gibt diese Funktion „ constEnd()“ zurück.
Enthält die Map mehr als einen Schlüssel mit dem Wert „ key “, ist es nicht definiert, welchen Schlüssel diese Funktion findet. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, es ist jedoch möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
Dies ist eine überladene Funktion.
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 &)`.
[since 6.10] QCborMap::const_key_value_iterator QCborMap::constKeyValueBegin() const
Gibt einen konstanten Iterator im STL-Stil zurück, der auf den ersten Eintrag im Map zeigt.
Diese Funktion wurde in Qt 6.10 eingeführt.
Siehe auch ` keyValueBegin()`.
[since 6.10] QCborMap::const_key_value_iterator QCborMap::constKeyValueEnd() const
Gibt einen konstanten Iterator im STL-Stil zurück, der auf den imaginären Eintrag nach dem letzten Eintrag im Map zeigt.
Diese Funktion wurde in Qt 6.10 eingeführt.
Siehe auch ` constKeyValueBegin()`.
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 ganzzahligen Schlüsseln, da diese weniger Speicherplatz beanspruchen und einfacher zu kodieren und zu 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
Gibt „true“ zurück, wenn diese Map ein Schlüssel-Wert-Paar enthält, das durch den Schlüssel „ key “ identifiziert wird.
Dies ist eine überladene Funktion.
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
Gibt „true“ zurück, wenn diese Map ein Schlüssel-Wert-Paar enthält, das durch den Schlüssel „ key “ identifiziert wird.
Dies ist eine überladene Funktion.
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 Standardbibliotheks-API nutzt.
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 direkt 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 direkt 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 verweist, und gibt nach dem Entfernen einen Zeiger auf das nächste Element zurück.
Siehe auch remove(), begin(), end(), insert() und extract().
QCborMap::iterator QCborMap::erase(QCborMap::iterator it)
Entfernt das Schlüssel-Wert-Paar, auf das der Map-Iterator it zeigt, und gibt nach dem Entfernen einen Zeiger auf das nächste Element zurück.
Dies ist eine überladene Funktion.
Siehe auch remove(), begin(), end() und insert().
QCborValue QCborMap::extract(QCborMap::const_iterator it)
QCborValue QCborMap::extract(QCborMap::iterator it)
Ruft einen Wert aus der Map an der durch den Iterator it angegebenen Position ab und gibt den so abgerufenen Wert zurück.
Siehe auch insert(), erase(), take() und remove().
QCborMap::iterator QCborMap::find(qint64 key)
QCborMap::const_iterator QCborMap::find(qint64 key) const
Gibt einen Map-Iterator für das Schlüssel-Wert-Paar zurück, dessen Schlüssel „ key “ lautet, sofern die Map ein solches Paar enthält. Ist dies nicht der Fall, gibt diese Funktion „ end()“ zurück.
CBOR empfiehlt die Verwendung von ganzzahligen Schlüsseln, da diese weniger Speicherplatz beanspruchen und einfacher zu kodieren und zu dekodieren sind.
Enthält die Map mehr als einen Schlüssel mit dem Wert „ key “, ist es nicht definiert, welchen Schlüssel diese Funktion findet. „ QCborMap “ lässt das Einfügen doppelter Schlüssel nicht zu, es ist jedoch möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
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
Gibt einen Map-Iterator für das Schlüssel-Wert-Paar zurück, dessen Schlüssel „ key “ lautet, sofern die Map ein solches Paar enthält. Ist dies nicht der Fall, gibt diese Funktion „ end()“ zurück.
Enthält die Map mehr als einen Schlüssel mit dem Wert „ key “, ist es nicht definiert, welchen Schlüssel diese Funktion findet. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, es ist jedoch möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
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 QCborValue &key)
QCborMap::const_iterator QCborMap::find(const QCborValue &key) const
Gibt einen Map-Iterator für das Schlüssel-Wert-Paar zurück, dessen Schlüssel „ key “ lautet, sofern die Map ein solches Paar enthält. Ist dies nicht der Fall, gibt diese Funktion „ end()“ zurück.
Enthält die Map mehr als einen Schlüssel mit dem Namen „ key “, ist es undefiniert, welchen Schlüssel diese Funktion findet. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, es ist jedoch möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
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 &).
QCborMap::iterator QCborMap::find(const QString &key)
QCborMap::const_iterator QCborMap::find(const QString &key) const
Gibt einen Map-Iterator für das Schlüssel-Wert-Paar zurück, dessen Schlüssel „ key “ lautet, sofern die Map ein solches Paar enthält. Ist dies nicht der Fall, gibt diese Funktion „ end()“ zurück.
Enthält die Map mehr als einen Schlüssel mit dem Wert „ key “, ist es nicht definiert, welchen Schlüssel diese Funktion findet. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, jedoch ist es möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
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 &).
[static] QCborMap QCborMap::fromJsonObject(const QJsonObject &obj)
Konvertiert alle im Objekt „ obj “ gefundenen JSON-Elemente mithilfe von QCborValue::fromJson() in CBOR und gibt die aus diesen Elementen zusammengesetzte Map zurück.
Diese Konvertierung erfolgt verlustfrei, da das CBOR-Typsystem eine Obermenge des JSON-Typsystems ist. Darüber hinaus kann das von dieser Funktion zurückgegebene Map mithilfe von ` toJsonObject()` wieder in das ursprüngliche ` obj ` zurückkonvertiert 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 “ mithilfe von „ QCborValue::fromVariant()“ in CBOR und gibt die aus diesen Elementen zusammengesetzte Zuordnung zurück.
Die Konvertierung von „ QVariant “ erfolgt nicht vollständig verlustfrei. Weitere Informationen finden Sie in der Dokumentation zu „ QCborValue::fromVariant()“.
Siehe auch toVariantHash(), fromVariantMap(), fromJsonObject() und QCborValue::fromVariant().
[static] QCborMap QCborMap::fromVariantMap(const QVariantMap &map)
Konvertiert alle Elemente in „ map “ mithilfe von „ QCborValue::fromVariant()“ in CBOR und gibt das aus diesen Elementen zusammengesetzte Map zurück.
Die Konvertierung von ` QVariant ` erfolgt nicht vollständig verlustfrei. Weitere Informationen finden Sie in der Dokumentation zu ` QCborValue::fromVariant()`.
Siehe auch toVariantMap(), fromVariantHash(), fromJsonObject() und QCborValue::fromVariant().
QCborMap::iterator QCborMap::insert(QCborMap::value_type v)
Fügt das Schlüssel-Wert-Paar aus v in diese Map ein und gibt einen Map-Iterator zurück, der auf das neu eingefügte Paar verweist.
Falls die Map bereits einen Schlüssel enthält, der mit ` v.first` übereinstimmt, wird dessen Wert durch ` v.second` überschrieben.
Dies ist eine überladene Funktion.
Siehe auch operator[], erase() und extract().
QCborMap::iterator QCborMap::insert(QLatin1StringView key, const QCborValue &value)
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 verweist.
Falls die Map bereits einen Schlüssel mit dem Namen „ key “ enthielt, wird dessen Wert durch „ value “ überschrieben.
Dies ist eine überladene Funktion.
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)
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 verweist.
Falls das Map bereits einen Schlüssel namens „ key “ enthielt, wird dessen Wert durch „ value “ überschrieben.
Dies ist eine überladene Funktion.
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)
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 verweist.
Falls die Map bereits einen Schlüssel namens „ key “ enthielt, wird dessen Wert durch „ value “ überschrieben.
Dies ist eine überladene Funktion.
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)
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 verweist.
Falls die Map bereits einen Schlüssel namens „ key “ enthielt, wird dessen Wert durch „ value “ überschrieben.
Dies ist eine überladene Funktion.
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 Map leer ist (d. h., wenn size() den Wert 0 ergibt).
Siehe auch ` size()` und ` clear()`.
[since 6.10] QCborMap::key_value_iterator QCborMap::keyValueBegin()
Gibt einen Iterator im STL-Stil zurück, der auf den ersten Eintrag in der Map zeigt.
Diese Funktion wurde in Qt 6.10 eingeführt.
Siehe auch ` keyValueEnd()`.
[since 6.10] QCborMap::const_key_value_iterator QCborMap::keyValueBegin() const
Gibt einen const -Iterator im STL-Stil zurück, der auf den ersten Eintrag im Map zeigt.
Diese Funktion wurde in Qt 6.10 eingeführt.
Siehe auch „ keyValueEnd()“.
[since 6.10] QCborMap::key_value_iterator QCborMap::keyValueEnd()
Gibt einen Iterator im STL-Stil zurück, der auf den imaginären Eintrag nach dem letzten Eintrag im Map zeigt.
Diese Funktion wurde in Qt 6.10 eingeführt.
Siehe auch „ keyValueBegin()“.
[since 6.10] QCborMap::const_key_value_iterator QCborMap::keyValueEnd() const
Gibt einen konstanten Iterator im STL-Stil zurück, der auf den imaginären Eintrag nach dem letzten Eintrag im Map zeigt.
Diese Funktion wurde in Qt 6.10 eingeführt.
Siehe auch ` keyValueBegin()`.
QList<QCborValue> QCborMap::keys() const
Gibt eine Liste aller Schlüssel in diesem Map 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 Map, sofern dieser gefunden wird. Enthält die Map keinen solchen Schlüssel, führt diese Funktion keine Aktion aus.
Enthält die Map mehr als einen Schlüssel, der mit ` key` übereinstimmt, ist nicht definiert, welchen Schlüssel diese Funktion entfernt. ` QCborMap ` erlaubt das Einfügen doppelter Schlüssel nicht, jedoch ist es möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
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 Map, sofern dieser gefunden wird. Enthält die Map keinen solchen Schlüssel, führt diese Funktion keine Aktion aus.
Enthält die Map mehr als einen Schlüssel, der mit „ key “ übereinstimmt, ist es nicht definiert, welchen Schlüssel diese Funktion entfernt. „ QCborMap “ erlaubt kein Einfügen doppelter Schlüssel, jedoch ist es möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
remove(QLatin1StringView), remove(const QString &), remove(const QCborValue &)
Siehe auch ` value` (qint64), ` operator[]` (qint64), ` find` (qint64) und ` contains` (qint64).
void QCborMap::remove(QLatin1StringView key)
Entfernt den Schlüssel „ key “ und den zugehörigen Wert aus der Map, sofern dieser gefunden wird. Enthält die Map keinen solchen Schlüssel, führt diese Funktion keine Aktion aus.
Enthält die Map mehr als einen Schlüssel, der mit „ key “ übereinstimmt, ist es nicht definiert, welchen Schlüssel diese Funktion entfernt. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, es ist jedoch möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
Dies ist eine überladene Funktion.
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)
Entfernt den Schlüssel „ key “ und den dazugehörigen Wert aus der Map, sofern dieser gefunden wird. Enthält die Map keinen solchen Schlüssel, führt diese Funktion keine Aktion aus.
Enthält die Map mehr als einen Schlüssel, der mit „ key “ übereinstimmt, ist es nicht definiert, welchen Schlüssel diese Funktion entfernt. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, es ist jedoch möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
remove(qint64), remove(QLatin1StringView), remove(const QCborValue &)
Dies ist eine überladene Funktion.
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 Map zurück.
Siehe auch „ isEmpty()“.
[noexcept] void QCborMap::swap(QCborMap &other)
Ersetzt diese Karte durch other. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.
QCborValue QCborMap::take(QLatin1StringView key)
Entfernt den Schlüssel „ key “ und den zugehörigen Wert aus dem Map und gibt den Wert zurück, sofern er gefunden wird. Enthält der Map keinen solchen Schlüssel, führt diese Funktion keine Aktion aus.
Enthält die Map mehr als einen Schlüssel, der mit „ key “ übereinstimmt, ist es undefiniert, welchen Schlüssel diese Funktion entfernt. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, es ist jedoch möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
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 zugehörigen Wert aus der Map und gibt den Wert zurück, sofern er gefunden wird. Enthält die Map keinen solchen Schlüssel, führt diese Funktion keine Aktion aus.
Enthält die Map mehr als einen Schlüssel, der mit „ key “ übereinstimmt, ist es nicht definiert, welchen Schlüssel diese Funktion entfernt. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, es ist jedoch möglich, eine solche Map durch das Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Sie sind in der Regel nicht zulässig, und doppelte Schlüssel deuten meist auf ein Problem beim Absender hin.
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 zugehörigen Wert aus dem Map und gibt den Wert zurück, sofern er gefunden wird. Enthält der Map keinen solchen Schlüssel, führt diese Funktion keine Aktion aus.
Enthält die Map mehr als einen Schlüssel, der mit „ key “ übereinstimmt, ist es nicht definiert, welchen Schlüssel diese Funktion entfernt. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, es ist jedoch möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
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 zugehörigen Wert aus der Map und gibt den Wert zurück, sofern er gefunden wird. Enthält die Map keinen solchen Schlüssel, führt diese Funktion keine Aktion aus.
Enthält die Map mehr als einen Schlüssel, der mit „ key “ übereinstimmt, ist es nicht definiert, welchen Schlüssel diese Funktion entfernt. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, es ist jedoch möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Diese sind in der Regel nicht zulässig, und doppelte Schlüssel deuten meist auf ein Problem beim Absender hin.
Siehe auch value(qint64), operator[](qint64), find(qint64), contains(qint64), take(QLatin1StringView), take(const QString &), take(const QCborValue &) und insert().
QCborValue QCborMap::toCborValue() const
Erstellt explizit ein ` QCborValue `-Objekt, das diese Zuordnung darstellt. Diese Funktion ist in der Regel nicht erforderlich, da ` QCborValue ` über einen Konstruktor für ` QCborMap` verfügt, sodass die Konvertierung implizit erfolgt.
Durch die Konvertierung von ` QCborMap ` in ` QCborValue ` kann es in jedem Kontext verwendet werden, in dem `QCborValues` verwendet werden können, einschließlich als Schlüssel und zugeordnete Typen in ` QCborMap` sowie in ` QCborValue::toCbor()`.
Siehe auch „ QCborValue::QCborValue(const QCborMap &)“.
QJsonObject QCborMap::toJsonObject() const
Konvertiert rekursiv jeden „ QCborValue “-Wert in dieser Map mithilfe von „ QCborValue::toJsonValue()“ in JSON und erstellt für alle Schlüssel, die keine Zeichenfolgen sind, einen Zeichenfolgen-Schlüssel; anschließend wird die entsprechende „ QJsonObject “ zurückgegeben, die sich aus diesen Zuordnungen zusammensetzt.
Bitte beachten Sie, dass CBOR einen umfangreicheren und breiteren Typensatz enthält als JSON, sodass bei dieser Konvertierung möglicherweise einige Informationen verloren gehen. Weitere Details dazu, welche Konvertierungen angewendet werden, finden Sie unter QCborValue::toJsonValue().
Konvertierung von Map-Schlüsseln in Zeichenfolgen
Im Gegensatz zu CBOR sind JSON-Objekte so definiert, dass sie String-Schlüssel besitzen; daher beinhaltet die Konvertierung eines „ QCborMap “ in „ QJsonObject “ einen Schritt der „Stringifizierung“ der Schlüsselwerte. Die Konvertierung nutzt die oben beschriebene spezielle Behandlung von Tags und erweiterten Typen und konvertiert die übrigen Typen wie folgt:
| Typ | Umwandlung |
|---|---|
| Bool | „true“ und „false“ |
| Null | „null“ |
| Undefiniert | „undefined“ |
| Ganzzahl | Die dezimale Zeichenfolgenform der Zahl |
| Double | Die dezimale Zeichenfolgenform der Zahl |
| Byte-Array | Sofern nicht anders gekennzeichnet (siehe oben), als Base64url kodiert |
| Array | Wird durch die kompakte Form des entsprechenden Diagnostic notation |
| Map | Wird durch die kompakte Form seiner Diagnostic notation |
| Tags und erweiterten Typen | Die Tag-Nummer wird entfernt und der mit einem Tag versehene Wert in eine Zeichenkette konvertiert |
Siehe auch fromJsonObject(), QCborValue::toJsonValue(), QCborArray::toJsonArray() und toVariantMap().
QVariantHash QCborMap::toVariantHash() const
Konvertiert die CBOR-Werte mithilfe von QCborValue::toVariant() in QVariant und wandelt alle CBOR-Schlüssel in dieser Zuordnung in Zeichenfolgen um, wobei die aus dieser Assoziationsliste resultierende QVariantHash zurückgegeben wird.
Im Gegensatz zu CBOR haben QVariantMaps Zeichenfolgen-Schlüssel, sodass die Konvertierung einer „ QCborMap “ in eine „ QVariantMap “ einen Schritt der „Stringifizierung“ der Schlüsselwerte beinhaltet. Weitere Informationen finden Sie unter QCborMap::toJsonObject().
Zudem ist die Konvertierung in „ QVariant “ nicht vollständig verlustfrei. Weitere Informationen finden Sie in der Dokumentation unter QCborValue::toVariant().
Siehe auch fromVariantHash(), toVariantMap(), toJsonObject(), QCborValue::toVariant() und QCborArray::toVariantList().
QVariantMap QCborMap::toVariantMap() const
Konvertiert die CBOR-Werte mithilfe von QCborValue::toVariant() in „ QVariant “ und wandelt alle CBOR-Schlüssel in dieser Zuordnung in Zeichenfolgen um, wobei das aus dieser Assoziationsliste resultierende QVariantMap zurückgegeben wird.
Im Gegensatz zu CBOR verfügen QVariantMaps über Zeichenfolgen-Schlüssel, sodass die Konvertierung von „ QCborMap “ in „ QVariantMap “ einen Schritt der „Umwandlung in Zeichenfolgen“ der Schlüsselwerte beinhaltet. Weitere Informationen finden Sie unter QCborMap::toJsonObject().
Zudem ist die Konvertierung in „ QVariant “ nicht vollständig verlustfrei. Weitere Informationen finden Sie in der Dokumentation unter QCborValue::toVariant().
Siehe auch fromVariantMap(), toVariantHash(), toJsonObject(), QCborValue::toVariant() und QCborArray::toVariantList().
QCborValue QCborMap::value(const QCborValue &key) const
Gibt das Element „ QCborValue “ in diesem Map zurück, das dem Schlüssel „ key “ entspricht, sofern ein solches vorhanden ist.
Enthält die Map den Schlüssel „ key “ nicht, gibt diese Funktion ein „ QCborValue “ zurück, das einen undefinierten Wert enthält. Aus diesem Grund lässt sich mit dieser Funktion nicht unterscheiden, ob der Schlüssel nicht vorhanden war oder ob er einem undefinierten Wert zugeordnet wurde.
Enthält die Map mehr als einen Schlüssel, der mit „ key “ übereinstimmt, ist es undefiniert, welchen diese Funktion zurückgibt. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, doch es ist möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Sie sind in der Regel nicht zulässig, und das Vorhandensein doppelter Schlüssel deutet meist auf ein Problem beim Absender hin.
value(qint64), value(QLatin1StringView), value(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 diesem Map zurück, das dem Schlüssel „ key “ entspricht, sofern ein solches vorhanden ist. CBOR empfiehlt die Verwendung von ganzzahligen Schlüsseln, da diese weniger Speicherplatz beanspruchen und einfacher zu kodieren und zu dekodieren sind.
Enthält die Map den Schlüssel „ key “ nicht, gibt diese Funktion ein „ QCborValue “ zurück, das einen undefinierten Wert enthält. Aus diesem Grund ist es mit dieser Funktion nicht möglich, den Fall, in dem der Schlüssel nicht vorhanden war, von dem Fall zu unterscheiden, in dem der Schlüssel einem undefinierten Wert zugeordnet wurde.
Enthält die Map mehr als einen Schlüssel, der dem Wert „ key “ entspricht, ist es undefiniert, auf welchen die Rückgabe der Funktion verweist. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, jedoch ist es möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
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
Gibt das Element „ QCborValue “ in diesem Map zurück, das dem Schlüssel „ key “ entspricht, sofern ein solches vorhanden ist.
Enthält die Map den Schlüssel „ key “ nicht, gibt diese Funktion ein „ QCborValue “ zurück, das einen undefinierten Wert enthält. Aus diesem Grund ist es mit dieser Funktion nicht möglich, den Fall, in dem der Schlüssel nicht vorhanden war, von dem Fall zu unterscheiden, in dem der Schlüssel einem undefinierten Wert zugeordnet wurde.
Enthält die Map mehr als einen Schlüssel, der mit „ key “ übereinstimmt, ist es undefiniert, welchen diese Funktion zurückgibt. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, doch es ist möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Diese sind in der Regel nicht zulässig, und doppelte Schlüssel deuten meist auf ein Problem beim Absender hin.
value(qint64), value(const QString &), value(const QCborValue &)
Dies ist eine überladene Funktion.
Siehe auch ` operator[]` (QLatin1StringView), ` find` (QLatin1StringView), ` constFind` (QLatin1StringView), ` remove` (QLatin1StringView) und ` contains` (QLatin1StringView).
QCborValue QCborMap::value(const QString &key) const
Gibt das Element „ QCborValue “ in diesem Map zurück, das dem Schlüssel „ key “ entspricht, sofern ein solches vorhanden ist.
Enthält die Map den Schlüssel „ key “ nicht, gibt diese Funktion ein „ QCborValue “ zurück, das einen undefinierten Wert enthält. Aus diesem Grund ist es mit dieser Funktion nicht möglich, den Fall, in dem der Schlüssel nicht vorhanden war, von dem Fall zu unterscheiden, in dem der Schlüssel einem undefinierten Wert zugeordnet wurde.
Enthält die Map mehr als einen Schlüssel, der dem Wert „ key “ entspricht, ist es undefiniert, welchen davon diese Funktion zurückgibt. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, jedoch ist es möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
value(qint64), value(QLatin1StringView), value(const QCborValue &)
Dies ist eine überladene Funktion.
Siehe auch ` operator[](const QString&)`, ` find(const QString&)`, ` constFind(const QString&)`, ` remove(const QString&)` und ` contains(const QString&)`.
[noexcept, since 6.10] QCborMap &QCborMap::operator=(QCborMap &&other)
Move-Zuweisungsoperator.
Das Objekt, aus dem verschoben wird ( other ), wird in einen gültigen, jedoch nicht näher spezifizierten Zustand versetzt.
Diese Funktion wurde in Qt 6.10 eingeführt.
[noexcept] QCborMap &QCborMap::operator=(const QCborMap &other)
Ersetzt den Inhalt dieses Objekts durch eine Kopie von ` other` und gibt anschließend eine Referenz auf dieses Objekt zurück.
QCborValueRef QCborMap::operator[](qint64 key)
Gibt ein `QCborValueRef` für den Wert in dieser Zuordnung zurück, der dem Schlüssel ` key` entspricht. CBOR empfiehlt die Verwendung von ganzzahligen Schlüsseln, da diese weniger Speicherplatz beanspruchen und einfacher zu kodieren und zu dekodieren sind.
„QCborValueRef“ verfügt über genau dieselbe API wie „ QCborValue “, mit einem wichtigen Unterschied: Wenn Sie ihm neue Werte zuweisen, wird diese Map mit diesem neuen Wert aktualisiert.
Falls die Map keinen Schlüssel mit dem Namen „ key “ enthielt, wird ein solcher eingefügt, und diese Funktion gibt eine Referenz auf den neuen Wert zurück, bei dem es sich um einen „ QCborValue “ mit einem undefinierten Wert handelt. Aus diesem Grund ist es mit dieser Funktion nicht möglich, den Fall, in dem der Schlüssel nicht vorhanden war, von dem Fall zu unterscheiden, in dem der Schlüssel einem undefinierten Wert zugeordnet wurde.
Enthält die Zuordnung mehr als einen Schlüssel mit dem Wert „ key “, ist es undefiniert, auf welchen der Rückgabewert verweisen wird. „ QCborMap “ erlaubt kein Einfügen doppelter Schlüssel, jedoch ist es möglich, eine solche Zuordnung durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
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 diesem Map zurück, das dem Schlüssel „ key “ entspricht, sofern ein solches vorhanden ist.
Enthält die Map keinen Schlüssel „ key “, gibt diese Funktion ein „ QCborValue “ mit einem undefinierten Wert zurück. Aus diesem Grund ist es mit dieser Funktion nicht möglich, zwischen dem Fall, in dem der Schlüssel nicht vorhanden war, und dem Fall, in dem der Schlüssel einem undefinierten Wert zugeordnet war, zu unterscheiden.
Enthält das Verzeichnis mehr als einen Schlüssel, der „ key “ entspricht, ist es undefiniert, welchen diese Funktion zurückgibt. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, doch es ist möglich, ein solches Verzeichnis durch Dekodierung eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Sie sind in der Regel nicht zulässig, und doppelte Schlüssel deuten meist auf ein Problem beim Absender hin.
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 diesem Map zurück, das dem Schlüssel „ key “ entspricht, sofern ein solches vorhanden ist. CBOR empfiehlt die Verwendung von ganzzahligen Schlüsseln, da diese weniger Speicherplatz beanspruchen und einfacher zu kodieren und zu dekodieren sind.
Enthält die Map den Schlüssel „ key “ nicht, gibt diese Funktion ein „ QCborValue “ zurück, das einen undefinierten Wert enthält. Aus diesem Grund ist es mit dieser Funktion nicht möglich, zwischen dem Fall, in dem der Schlüssel nicht vorhanden war, und dem Fall, in dem der Schlüssel einem undefinierten Wert zugeordnet war, zu unterscheiden.
Enthält die Map mehr als einen Schlüssel, der dem Wert „ key “ entspricht, ist es undefiniert, welchen davon diese Funktion zurückgibt. „ QCborMap “ erlaubt keine doppelten Schlüssel, jedoch ist es möglich, eine solche Map durch Dekodierung eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
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)
Gibt eine `QCborValueRef` für den Wert in dieser Map zurück, der dem Schlüssel ` key` entspricht.
„QCborValueRef“ verfügt über genau dieselbe API wie „ QCborValue “, mit einem wichtigen Unterschied: Wenn Sie ihm neue Werte zuweisen, wird diese Map mit diesem neuen Wert aktualisiert.
Wenn die Map keinen Schlüssel mit dem Namen „ key “ enthielt, wird einer eingefügt, und diese Funktion gibt eine Referenz auf den neuen Wert zurück, bei dem es sich um eine „ QCborValue “ mit einem undefinierten Wert handelt. Aus diesem Grund ist es mit dieser Funktion nicht möglich, zwischen dem Fall, in dem der Schlüssel nicht vorhanden war, und dem Fall, in dem der Schlüssel einem undefinierten Wert zugeordnet war, zu unterscheiden.
Enthält die Map mehr als einen Schlüssel mit dem Wert „ key “, ist es undefiniert, auf welchen der Rückgabewert verweisen wird. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, jedoch ist es möglich, eine solche Map durch das Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
Dies ist eine überladene Funktion.
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)
Gibt eine QCborValueRef für den Wert in dieser Zuordnung zurück, der dem Schlüssel „ key “ entspricht.
„QCborValueRef“ verfügt über genau dieselbe API wie „ QCborValue “, mit einem wichtigen Unterschied: Wenn Sie ihm neue Werte zuweisen, wird diese Map mit diesem neuen Wert aktualisiert.
Wenn die Map keinen Schlüssel mit dem Namen „ key “ enthielt, wird einer eingefügt, und diese Funktion gibt eine Referenz auf den neuen Wert zurück, bei dem es sich um ein „ QCborValue “ mit einem undefinierten Wert handelt. Aus diesem Grund ist es mit dieser Funktion nicht möglich, den Fall, in dem der Schlüssel nicht vorhanden war, von dem Fall zu unterscheiden, in dem der Schlüssel einem undefinierten Wert zugeordnet war.
Enthält das Verzeichnis mehr als einen Schlüssel mit dem Wert „ key “, ist es nicht definiert, auf welchen der Rückgabewert verweisen wird. „ QCborMap “ lässt das Einfügen doppelter Schlüssel nicht zu, doch es ist möglich, ein solches Verzeichnis durch das Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
Dies ist eine überladene Funktion.
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)
Gibt eine `QCborValueRef` für den Wert in dieser Map zurück, der dem Schlüssel ` key` entspricht.
„QCborValueRef“ verfügt über genau dieselbe API wie „ QCborValue “, mit einem wichtigen Unterschied: Wenn Sie ihm neue Werte zuweisen, wird diese Map mit diesem neuen Wert aktualisiert.
Wenn die Zuordnung keinen Schlüssel mit dem Namen „ key “ enthielt, wird ein solcher eingefügt, und diese Funktion gibt eine Referenz auf den neuen Wert zurück, bei dem es sich um ein „ QCborValue “ mit einem undefinierten Wert handelt. Aus diesem Grund ist es mit dieser Funktion nicht möglich, den Fall, in dem der Schlüssel nicht vorhanden war, von dem Fall zu unterscheiden, in dem der Schlüssel einem undefinierten Wert zugeordnet war.
Enthält die Map mehr als einen Schlüssel, der mit „ key “ übereinstimmt, ist es undefiniert, auf welchen der Rückgabewert verweisen wird. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, jedoch ist es möglich, eine solche Map durch das Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erstellen. Doppelte Schlüssel sind in der Regel nicht zulässig und deuten meist auf ein Problem beim Absender hin.
Dies ist eine überladene Funktion.
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
Gibt das Element „ QCborValue “ in diesem Map zurück, das dem Schlüssel „ key “ entspricht, sofern ein solches vorhanden ist.
Enthält die Map den Schlüssel „ key “ nicht, gibt diese Funktion ein „ QCborValue “ zurück, das einen undefinierten Wert enthält. Aus diesem Grund ist es mit dieser Funktion nicht möglich, zwischen dem Fall, in dem der Schlüssel nicht vorhanden war, und dem Fall, in dem der Schlüssel einem undefinierten Wert zugeordnet war, zu unterscheiden.
Enthält die Map mehr als einen Schlüssel, der dem Wert „ key “ entspricht, ist es undefiniert, welchen davon diese Funktion zurückgibt. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, jedoch ist es möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit diesen Schlüsseln zu erzeugen. Doppelte Schlüssel sind in der Regel nicht zulässig, und ihr Vorhandensein deutet meist auf ein Problem beim Absender hin.
operator[](qint64), operator[](const QString &), operator[](const QCborOperator[] &)
Dies ist eine überladene Funktion.
Siehe auch value(QLatin1StringView), find(QLatin1StringView), constFind(QLatin1StringView), remove(QLatin1StringView) und contains(QLatin1StringView).
const QCborValue QCborMap::operator[](const QString &key) const
Gibt das Element „ QCborValue “ in dieser Map zurück, das dem Schlüssel „ key “ entspricht, sofern ein solches vorhanden ist.
Enthält die Map den Schlüssel „ key “ nicht, gibt diese Funktion ein „ QCborValue “ zurück, das einen undefinierten Wert enthält. Aus diesem Grund ist es mit dieser Funktion nicht möglich, zwischen dem Fall, in dem der Schlüssel nicht vorhanden war, und dem Fall, in dem der Schlüssel einem undefinierten Wert zugeordnet war, zu unterscheiden.
Enthält die Map mehr als einen Schlüssel, der mit „ key “ übereinstimmt, ist es undefiniert, welchen davon diese Funktion zurückgibt. „ QCborMap “ erlaubt das Einfügen doppelter Schlüssel nicht, jedoch ist es möglich, eine solche Map durch Dekodieren eines CBOR-Streams mit solchen Schlüsseln zu erstellen. Diese sind in der Regel nicht zulässig, und das Vorhandensein doppelter Schlüssel deutet meist auf ein Problem beim Absender hin.
operator[](qint64), operator[](QLatin1StringView), operator[](const QCborOperator[] &)
Dies ist eine überladene Funktion.
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 ungeordnet sind, was bedeutet, dass zwei Maps, die zwar genau dieselben Paare enthalten, diese jedoch in unterschiedlicher Reihenfolge aufweisen, dennoch unterschiedlich verglichen werden. Um dies zu vermeiden, wird empfohlen, Elemente in einer vorhersehbaren Reihenfolge in die Map einzufügen, beispielsweise in aufsteigender Reihenfolge der Schlüsselwerte. Tatsächlich sind Maps mit sortierten Schlüsseln für die kanonische CBOR-Darstellung erforderlich.
Weitere Informationen zur CBOR-Gleichheit in Qt finden Sie unter QCborValue::compare().
Siehe auch compare(), QCborValue::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 sollte, andernfalls „false“.
Beachten Sie, dass CBOR-Maps ungeordnet sind, was bedeutet, dass zwei Maps, die genau dieselben Paare enthalten, diese jedoch in unterschiedlicher Reihenfolge aufweisen, dennoch unterschiedlich verglichen werden. Um dies zu vermeiden, wird empfohlen, Elemente in einer vorhersehbaren Reihenfolge in die Map einzufügen, beispielsweise in aufsteigender Reihenfolge der Schlüsselwerte. 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 sollte oder wenn die beiden Maps dieselben Elemente in derselben Reihenfolge enthalten; andernfalls „false“.
Beachten Sie, dass CBOR-Maps ungeordnet sind, was bedeutet, dass zwei Maps, die genau dieselben Paare enthalten, diese jedoch in unterschiedlicher Reihenfolge aufweisen, dennoch unterschiedlich verglichen werden. Um dies zu vermeiden, wird empfohlen, Elemente in einer vorhersehbaren Reihenfolge in die Map einzufügen, beispielsweise in aufsteigender Reihenfolge der Schlüsselwerte. 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 dieselben Elemente in derselben Reihenfolge enthalten, andernfalls „false“.
Beachten Sie, dass CBOR-Maps ungeordnet sind, was bedeutet, dass zwei Maps, die zwar genau dieselben Paare enthalten, diese jedoch in unterschiedlicher Reihenfolge aufweisen, beim Vergleich dennoch unterschiedlich bewertet werden. Um dies zu vermeiden, wird empfohlen, Elemente in einer vorhersehbaren Reihenfolge in die Map einzufügen, beispielsweise in aufsteigender Reihenfolge der Schlüsselwerte. Tatsächlich sind Maps mit sortierten Schlüsseln für die kanonische CBOR-Darstellung erforderlich.
Weitere Informationen zur CBOR-Gleichheit in Qt finden Sie unter QCborValue::compare().
Siehe auch compare(), QCborValue::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 sein sollte, andernfalls „false“.
Beachten Sie, dass CBOR-Maps ungeordnet sind, was bedeutet, dass zwei Maps, die zwar genau dieselben Paare enthalten, diese jedoch in unterschiedlicher Reihenfolge aufweisen, dennoch unterschiedlich verglichen werden. Um dies zu vermeiden, wird empfohlen, Elemente in einer vorhersehbaren Reihenfolge in die Map einzufügen, beispielsweise in aufsteigender Reihenfolge der Schlüsselwerte. 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 sollte oder wenn die beiden Maps dieselben Elemente in derselben Reihenfolge enthalten; andernfalls „false“.
Beachten Sie, dass CBOR-Maps ungeordnet sind, was bedeutet, dass zwei Maps, die genau dieselben Paare enthalten, diese jedoch in unterschiedlicher Reihenfolge aufweisen, dennoch unterschiedlich verglichen werden. Um dies zu vermeiden, wird empfohlen, Elemente in einer vorhersehbaren Reihenfolge in die Map einzufügen, beispielsweise 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!=().
© 2026 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.