QMultiMap Class
template <typename Key, typename T> class QMultiMapDie Klasse „QMultiMap“ ist eine Template-Klasse, die ein assoziatives Array mit mehreren gleichwertigen Schlüsseln bereitstellt. Mehr...
| Header: | #include <QMultiMap> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- Veraltete Elemente
- QMultiMap ist Teil der implizit gemeinsam genutzten Klassen und der Container-Klassen.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
QMultiMap-Vergleiche
| Kategorie | Vergleichbare Typen |
|---|---|
| Gleichheit | QMultiMap |
Öffentliche Typen
| class | const_iterator |
| class | iterator |
| class | key_iterator |
| ConstIterator | |
| Iterator | |
| const_key_value_iterator | |
| difference_type | |
| key_type | |
| key_value_iterator | |
| mapped_type | |
| size_type |
Öffentliche Funktionen
| QMultiMap() | |
(since 6.0) | QMultiMap(QMap<Key, T> &&other) |
(since 6.0) | QMultiMap(const QMap<Key, T> &other) |
| QMultiMap(const std::multimap<Key, T> &other) | |
| QMultiMap(std::initializer_list<std::pair<Key, T>> list) | |
| QMultiMap(std::multimap<Key, T> &&other) | |
| QMultiMap(const QMultiMap<Key, T> &other) | |
| QMultiMap(QMultiMap<Key, T> &&other) | |
| ~QMultiMap() | |
(since 6.4) auto | asKeyValueRange() && |
(since 6.4) auto | asKeyValueRange() & |
(since 6.4) auto | asKeyValueRange() const && |
(since 6.4) auto | asKeyValueRange() const & |
| QMultiMap<Key, T>::iterator | begin() |
| QMultiMap<Key, T>::const_iterator | begin() const |
| QMultiMap<Key, T>::const_iterator | cbegin() const |
| QMultiMap<Key, T>::const_iterator | cend() const |
| void | clear() |
| QMultiMap<Key, T>::const_iterator | constBegin() const |
| QMultiMap<Key, T>::const_iterator | constEnd() const |
| QMultiMap<Key, T>::const_iterator | constFind(const Key &key) const |
| QMultiMap<Key, T>::const_iterator | constFind(const Key &key, const T &value) const |
| QMultiMap<Key, T>::const_key_value_iterator | constKeyValueBegin() const |
| QMultiMap<Key, T>::const_key_value_iterator | constKeyValueEnd() const |
| bool | contains(const Key &key) const |
| bool | contains(const Key &key, const T &value) const |
| QMultiMap<Key, T>::size_type | count(const Key &key) const |
| QMultiMap<Key, T>::size_type | count(const Key &key, const T &value) const |
| QMultiMap<Key, T>::size_type | count() const |
| bool | empty() const |
| QMultiMap<Key, T>::iterator | end() |
| QMultiMap<Key, T>::const_iterator | end() const |
| std::pair<QMultiMap<Key, T>::iterator, QMultiMap<Key, T>::iterator> | equal_range(const Key &key) |
| std::pair<QMultiMap<Key, T>::const_iterator, QMultiMap<Key, T>::const_iterator> | equal_range(const Key &key) const |
| QMultiMap<Key, T>::iterator | erase(QMultiMap<Key, T>::const_iterator pos) |
(since 6.0) QMultiMap<Key, T>::iterator | erase(QMultiMap<Key, T>::const_iterator first, QMultiMap<Key, T>::const_iterator last) |
| QMultiMap<Key, T>::iterator | find(const Key &key) |
| QMultiMap<Key, T>::const_iterator | find(const Key &key) const |
| QMultiMap<Key, T>::const_iterator | find(const Key &key, const T &value) const |
| T & | first() |
| const T & | first() const |
| const Key & | firstKey() const |
| QMultiMap<Key, T>::iterator | insert(const Key &key, const T &value) |
| QMultiMap<Key, T>::iterator | insert(QMultiMap<Key, T>::const_iterator pos, const Key &key, const T &value) |
| bool | isEmpty() const |
| Key | key(const T &value, const Key &defaultKey = Key()) const |
| QMultiMap<Key, T>::key_iterator | keyBegin() const |
| QMultiMap<Key, T>::key_iterator | keyEnd() const |
| QMultiMap<Key, T>::key_value_iterator | keyValueBegin() |
| QMultiMap<Key, T>::const_key_value_iterator | keyValueBegin() const |
| QMultiMap<Key, T>::key_value_iterator | keyValueEnd() |
| QMultiMap<Key, T>::const_key_value_iterator | keyValueEnd() const |
| QList<Key> | keys() const |
| QList<Key> | keys(const T &value) const |
| T & | last() |
| const T & | last() const |
| const Key & | lastKey() const |
| QMultiMap<Key, T>::iterator | lowerBound(const Key &key) |
| QMultiMap<Key, T>::const_iterator | lowerBound(const Key &key) const |
| QMultiMap<Key, T>::size_type | remove(const Key &key) |
| QMultiMap<Key, T>::size_type | remove(const Key &key, const T &value) |
(since 6.1) QMultiMap<Key, T>::size_type | removeIf(Predicate pred) |
| QMultiMap<Key, T>::iterator | replace(const Key &key, const T &value) |
| QMultiMap<Key, T>::size_type | size() const |
| void | swap(QMultiMap<Key, T> &other) |
| T | take(const Key &key) |
| std::multimap<Key, T> | toStdMultiMap() const & |
| QList<Key> | uniqueKeys() const |
| QMultiMap<Key, T> & | unite(QMultiMap<Key, T> &&other) |
| QMultiMap<Key, T> & | unite(const QMultiMap<Key, T> &other) |
| QMultiMap<Key, T>::iterator | upperBound(const Key &key) |
| QMultiMap<Key, T>::const_iterator | upperBound(const Key &key) const |
| T | value(const Key &key, const T &defaultValue = T()) const |
| QList<T> | values() const |
| QList<T> | values(const Key &key) const |
| QMultiMap<Key, T> & | operator=(QMultiMap<Key, T> &&other) |
| QMultiMap<Key, T> & | operator=(const QMultiMap<Key, T> &other) |
Verwandte Nicht-Mitglieder
(since 6.1) qsizetype | erase_if(QMultiMap<Key, T> &map, Predicate pred) |
| bool | operator!=(const QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs) |
| QMultiMap<Key, T> | operator+(const QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs) |
| QMultiMap<Key, T> | operator+=(QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs) |
(since 6.12) bool | operator<(const QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs) |
| QDataStream & | operator<<(QDataStream &out, const QMultiMap<Key, T> &map) |
(since 6.12) bool | operator<=(const QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs) |
(since 6.12) auto | operator<=>(const QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs) |
| bool | operator==(const QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs) |
(since 6.12) bool | operator>(const QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs) |
(since 6.12) bool | operator>=(const QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs) |
| QDataStream & | operator>>(QDataStream &in, QMultiMap<Key, T> &map) |
Ausführliche Beschreibung
QMultiMap<KEY, T> ist eine der generischen Containerklassen von Qt, wobei „ Key “ der für Suchschlüssel verwendete Typ und „ T “ der Typ der zugeordneten Werte ist. Sie speichert (Schlüssel, Wert)-Paare und ermöglicht eine schnelle Suche nach Schlüsseln.
QMultiMap und QMultiHash bieten sehr ähnliche Funktionalität. Die Unterschiede sind:
- QMultiHash bietet im Durchschnitt schnellere Suchvorgänge als QMultiMap. (Einzelheiten finden Sie unter „Algorithmische Komplexität “.)
- Beim Durchlaufen einer ` QMultiHash` sind die Elemente beliebig angeordnet. Bei `QMultiMap` sind die Elemente immer nach Schlüssel sortiert.
- Der Schlüsseltyp eines „ QMultiHash “ muss den Operator ==() und eine globale Funktion „ qHash(Key)“ bereitstellen. Der Schlüsseltyp eines „QMultiMap“ muss den Operator <() bereitstellen, der eine totale Ordnung festlegt. Seit Qt 5.8.1 ist es zudem sicher, einen Zeigertyp als Schlüssel zu verwenden, selbst wenn der zugrunde liegende Operator <() keine totale Ordnung bereitstellt.
Hier ist ein Beispiel für eine QMultiMap mit „ QString “-Schlüsseln und „ int “-Werten:
Um ein (Schlüssel, Wert)-Paar in die MultiMap einzufügen, können Sie ` insert()` verwenden:
multimap.insert("a", 1);
multimap.insert("b", 3);
multimap.insert("c", 7);
multimap.insert("c", -5);Dadurch werden die folgenden vier (Schlüssel, Wert)-Paare in die QMultiMap eingefügt: („a“, 1), („b“, 3), („c“, 7) und („c“, -5); beachten Sie, dass doppelte Schlüssel zulässig sind.
Um einen Wert nachzuschlagen, verwenden Sie find() oder value():
int num2 = multimap.value("a"); // 1
int num3 = multimap.value("thirteen"); // not found; 0
auto it = multimap.constFind("b");
if (it != multimap.cend()) {
num3 = it.value();
}Wenn in der Map kein Element mit dem angegebenen Schlüssel vorhanden ist, geben diese Funktionen einen standardmäßig konstruierten Wert zurück.
Wenn Sie prüfen möchten, ob die Map einen bestimmten Schlüssel enthält, verwenden Sie ` contains()`:
int timeout = 30;
if (multimap.contains("TIMEOUT"))
timeout = multimap.value("TIMEOUT");
// better:
auto it = multimap.find("TIMEOUT");
if (it != multimap.end())
timeout = it.value();Es gibt außerdem eine Überladung von ` value()`, die ihr zweites Argument als Standardwert verwendet, falls kein Eintrag mit dem angegebenen Schlüssel vorhanden ist:
int timeout = multimap.value("TIMEOUT", 30);Wenn Sie alle in einer `QMultiMap` gespeicherten (Schlüssel, Wert)-Paare durchlaufen möchten, können Sie einen Iterator verwenden. `QMultiMap` bietet sowohl Iteratoren im Java-Stil (QMultiMapIterator und QMutableMultiMapIterator) als auch Iteratoren im STL-Stil (QMultiMap::const_iterator und QMultiMap::iterator). So durchlaufen Sie eine `QMultiMap<QString, int>` mit einem Iterator im Java-Stil:
QMultiMapIterator<QString, int> i(multimap);
while (i.hasNext()) {
i.next();
cout << qPrintable(i.key()) << ": " << i.value() << endl;
}Hier ist derselbe Code, diesmal jedoch unter Verwendung eines Iterators im STL-Stil:
for (auto i = multimap.cbegin(), end = multimap.cend(); i != end; ++i)
cout << qPrintable(i.key()) << ": " << i.value() << endl;Die Elemente werden in aufsteigender Schlüsselreihenfolge durchlaufen.
Eine QMultiMap erlaubt mehrere Werte pro Schlüssel. Wenn Sie „ insert()“ mit einem Schlüssel aufrufen, der bereits in der Map vorhanden ist, wird ein neues (Schlüssel, Wert)-Paar eingefügt. Beispiel:
multimap.insert("plenty", 100);
multimap.insert("plenty", 2000);
// multimap.size() == 2Wenn Sie alle Werte für einen einzelnen Schlüssel abrufen möchten, können Sie `values(const Key &key)` verwenden, das einen ` QList<T>` zurückgibt:
QList<int> values = multimap.values("plenty");
for (auto i : std::as_const(values))
cout << i << endl;Die Elemente mit demselben Schlüssel werden in der Reihenfolge vom zuletzt bis zum am längsten zurückliegenden Eintrag zurückgegeben. Ein anderer Ansatz besteht darin, ` find()` aufzurufen, um den Iterator im STL-Stil für das erste Element mit einem bestimmten Schlüssel zu erhalten, und von dort aus zu iterieren:
auto i = multimap.find("plenty");
while (i != multimap.end() && i.key() == "plenty") {
cout << i.value() << endl;
++i;
}
// better:
auto [i, end] = multimap.equal_range("plenty");
while (i != end) {
cout << i.value() << endl;
++i;
}Wenn Sie nur die Werte aus einer Map extrahieren müssen (nicht die Schlüssel), können Sie auch ein bereichsbasiertes `for` verwenden:
Elemente können auf verschiedene Arten aus der Multi-Map entfernt werden. Eine Möglichkeit ist der Aufruf von ` remove()`; dadurch wird jedes Element mit dem angegebenen Schlüssel entfernt. Eine weitere Möglichkeit ist die Verwendung von ` QMutableMultiMapIterator::remove()`. Darüber hinaus können Sie die gesamte Map mit ` clear()` leeren.
Es ist möglich, zwei Multi-Maps zusammenzuführen, indem man ` unite()` aufruft, den Operator `+()` oder den Operator `+=()` verwendet. Beispiel:
QMultiMap<QString, int> map1, map2, map3;
map1.insert("plenty", 100);
map1.insert("plenty", 2000);
// map1.size() == 2
map2.insert("plenty", 5000);
// map2.size() == 1
map3 = map1 + map2;
// map3.size() == 3Die Schlüssel- und Wertdatentypen von `QMultiMap` müssen zuweisbare Datentypen sein. Dies deckt die meisten Datentypen ab, auf die Sie wahrscheinlich stoßen werden, aber der Compiler lässt beispielsweise nicht zu, dass Sie eine ` QWidget ` als Wert speichern; stattdessen müssen Sie ein ` QWidget *` speichern. Außerdem muss der Schlüsseltyp von `QMultiMap` den Operator `<()` bereitstellen. ` QMap ` verwendet diesen, um seine Elemente sortiert zu halten, und geht davon aus, dass zwei Schlüssel ` x ` und ` y ` gleich sind, wenn weder ` x < y ` noch ` y < x ` wahr ist.
Beispiel:
#ifndef EMPLOYEE_H
#define EMPLOYEE_H
class Employee
{
public:
Employee() {}
Employee(const QString &name, QDate dateOfBirth);
QString name() const { return myName; }
QDate dateOfBirth() const { return myDateOfBirth; }
//...
private:
QString myName;
QDate myDateOfBirth;
};
inline bool operator<(const Employee &e1, const Employee &e2)
{
if (e1.name() != e2.name())
return e1.name() < e2.name();
return e1.dateOfBirth() < e2.dateOfBirth();
}
#endif // EMPLOYEE_HIn diesem Beispiel vergleichen wir zunächst die Namen der Mitarbeiter. Sind diese gleich, vergleichen wir ihre Geburtsdaten, um den Gleichstand aufzuheben.
Siehe auch QMultiMapIterator, QMutableMultiMapIterator und QMultiHash.
Dokumentation zu Mitgliedstypen
QMultiMap::ConstIterator
Synonym im Qt-Stil für „ QMultiMap::const_iterator “.
QMultiMap::Iterator
Synonym im Qt-Stil für „ QMultiMap::iterator “.
QMultiMap::const_key_value_iterator
Der Typdefinitionsbezeichner `QMultiMap::const_key_value_iterator` stellt einen Iterator im STL-Stil für ` QMultiMap` bereit.
`QMultiMap::const_key_value_iterator` entspricht im Wesentlichen ` QMultiMap::const_iterator `, mit dem Unterschied, dass der Operator `*()` ein Schlüssel-Wert-Paar anstelle eines einzelnen Werts zurückgibt.
Siehe auch ` QKeyValueIterator`.
[alias] QMultiMap::difference_type
Typedef für ptrdiff_t. Wird aus Gründen der STL-Kompatibilität bereitgestellt.
[alias] QMultiMap::key_type
Typedef für „Key“. Wird aus Gründen der STL-Kompatibilität bereitgestellt.
QMultiMap::key_value_iterator
Der Typdefinitionsbezeichner „QMultiMap::key_value_iterator“ stellt einen Iterator im STL-Stil für „ QMultiMap “ bereit.
`QMultiMap::key_value_iterator` entspricht im Wesentlichen ` QMultiMap::iterator `, mit dem Unterschied, dass der Operator `*()` ein Schlüssel-Wert-Paar anstelle eines einzelnen Werts zurückgibt.
Siehe auch ` QKeyValueIterator`.
[alias] QMultiMap::mapped_type
Typedef für T. Wird aus Gründen der STL-Kompatibilität bereitgestellt.
[alias] QMultiMap::size_type
Typedef für int. Wird aus Gründen der STL-Kompatibilität bereitgestellt.
Dokumentation zu den Member-Funktionen
[default] QMultiMap::QMultiMap()
Erstellt eine leere MultiMap.
Siehe auch ` clear()`.
[explicit, since 6.0] QMultiMap::QMultiMap(QMap<Key, T> &&other)
Wenn „ other “ freigegeben ist, wird eine Multi-Map als Kopie von „ other “ erstellt. Andernfalls wird eine Multi-Map erstellt, indem die Elemente aus „ other “ verschoben werden.
Diese Funktion wurde in Qt 6.0 eingeführt.
[explicit, since 6.0] QMultiMap::QMultiMap(const QMap<Key, T> &other)
Erstellt eine Multi-Map als Kopie von „ other “.
Diese Funktion wurde in Qt 6.0 eingeführt.
[explicit] QMultiMap::QMultiMap(const std::multimap<Key, T> &other)
Erstellt eine Kopie von other.
Siehe auch ` toStdMultiMap()`.
QMultiMap::QMultiMap(std::initializer_list<std::pair<Key, T>> list)
Erstellt eine MultiMap mit einer Kopie jedes Elements aus der Initialisierungsliste „ list “.
[explicit] QMultiMap::QMultiMap(std::multimap<Key, T> &&other)
Erstellt eine Multi-Map, indem von other ausgegangen wird.
Siehe auch toStdMultiMap().
[implicit] QMultiMap::QMultiMap(const QMultiMap<Key, T> &other)
Erstellt eine Kopie von ` other`.
Dieser Vorgang erfolgt in konstanter Zeit, da `QMultiMap` implizit gemeinsam genutzt wird. Dadurch ist die Rückgabe eines `QMultiMap` aus einer Funktion sehr schnell. Wird eine gemeinsam genutzte Instanz geändert, wird sie kopiert (Copy-on-Write), was lineare Zeit in Anspruch nimmt.
Siehe auch ` operator=()`.
[implicit] QMultiMap::QMultiMap(QMultiMap<Key, T> &&other)
Erstellt eine QMultiMap-Instanz und sorgt dafür, dass diese auf dasselbe Objekt verweist, auf das zuvor „ other “ verwiesen hat.
[implicit] QMultiMap::~QMultiMap()
Löscht die Multi-Map. Verweise auf die Werte in der Multi-Map sowie alle Iteratoren über diese Multi-Map werden ungültig.
[since 6.4] auto QMultiMap::asKeyValueRange() &&
[since 6.4] auto QMultiMap::asKeyValueRange() &
[since 6.4] auto QMultiMap::asKeyValueRange() const &&
[since 6.4] auto QMultiMap::asKeyValueRange() const &
Gibt ein Bereichsobjekt zurück, das die Iteration über diese Multi-Map als Schlüssel-Wert-Paare ermöglicht. Dieses Bereichsobjekt kann beispielsweise in einer bereichsbasierten for-Schleife in Kombination mit einer strukturierten Bindungsdeklaration verwendet werden:
QMultiMap<QString, int> map;
map.insert("January", 1);
map.insert("February", 2);
// ...
map.insert("December", 12);
for (auto [key, value] : map.asKeyValueRange()) {
cout << qPrintable(key) << ": " << value << endl;
--value; // convert to JS month indexing
}Beachten Sie, dass sowohl der Schlüssel als auch der Wert, die auf diese Weise abgerufen werden, Verweise auf die entsprechenden Elemente in der Multi-Map sind. Das bedeutet konkret, dass eine Änderung des Werts die Map selbst verändert.
Diese Funktionen wurden in Qt 6.4 eingeführt.
Siehe auch QKeyValueIterator.
QMultiMap<Key, T>::iterator QMultiMap::begin()
Gibt einen Iterator im STL-Stil zurück, der auf das erste Element der Multi-Map zeigt.
Siehe auch „ constBegin()“ und „ end()“.
QMultiMap<Key, T>::const_iterator QMultiMap::begin() const
Dies ist eine überladene Funktion.
QMultiMap<Key, T>::const_iterator QMultiMap::cbegin() const
Gibt einen konstanten Iterator im STL-Stil zurück, der auf das erste Element der MultiMap zeigt.
Siehe auch „ begin()“ und „ cend()“.
QMultiMap<Key, T>::const_iterator QMultiMap::cend() const
Gibt einen konstanten Iterator im STL-Stil zurück, der auf das imaginäre Element nach dem letzten Element in der Multi-Map zeigt.
Siehe auch „ cbegin()“ und „ end()“.
void QMultiMap::clear()
Entfernt alle Elemente aus der Multi-Map.
Siehe auch „ remove()“.
QMultiMap<Key, T>::const_iterator QMultiMap::constBegin() const
Gibt einen konstanten Iterator im STL-Stil zurück, der auf das erste Element der Multi-Map zeigt.
Siehe auch „ begin()“ und „ constEnd()“.
QMultiMap<Key, T>::const_iterator QMultiMap::constEnd() const
Gibt einen konstanten Iterator im STL-Stil zurück, der auf das imaginäre Element nach dem letzten Element in der Multi-Map zeigt.
Siehe auch „ constBegin()“ und „ end()“.
QMultiMap<Key, T>::const_iterator QMultiMap::constFind(const Key &key) const
Gibt einen const-Iterator zurück, der auf das Element mit dem Schlüssel „ key “ in der Multi-Map zeigt.
Enthält die Multi-Map kein Element mit dem Schlüssel ` key`, gibt die Funktion ` constEnd()` zurück.
Siehe auch ` find()` und ` QMultiMap::constFind(const Key &key, const T &value)`.
QMultiMap<Key, T>::const_iterator QMultiMap::constFind(const Key &key, const T &value) const
Gibt einen Iterator zurück, der auf das Element mit dem Schlüssel „ key “ und dem Wert „ value “ in der Map zeigt.
Enthält die Map keinen solchen Eintrag, gibt die Funktion ` constEnd()` zurück.
Siehe auch QMap::constFind().
QMultiMap<Key, T>::const_key_value_iterator QMultiMap::constKeyValueBegin() const
Gibt einen konstanten Iterator im STL-Stil zurück, der auf den ersten Eintrag in der Multi-Map zeigt.
Siehe auch ` keyValueBegin()`.
QMultiMap<Key, T>::const_key_value_iterator QMultiMap::constKeyValueEnd() const
Gibt einen konstanten Iterator im STL-Stil zurück, der auf den imaginären Eintrag nach dem letzten Eintrag in der Multi-Map zeigt.
Siehe auch ` constKeyValueBegin()`.
bool QMultiMap::contains(const Key &key) const
Gibt „ true “ zurück, wenn die Multi-Map ein Element mit dem Schlüssel „ key “ enthält; andernfalls wird „ false “ zurückgegeben.
Siehe auch count().
bool QMultiMap::contains(const Key &key, const T &value) const
Gibt „ true “ zurück, wenn die Multi-Map ein Element mit dem Schlüssel „ key “ und dem Wert „ value “ enthält; andernfalls wird „ false “ zurückgegeben.
Siehe auch count().
QMultiMap<Key, T>::size_type QMultiMap::count(const Key &key) const
Gibt die Anzahl der Elemente zurück, die mit dem Schlüssel „ key “ verknüpft sind.
Siehe auch ` contains()` und ` QMultiMap::count(const Key &key, const T &value)`.
QMultiMap<Key, T>::size_type QMultiMap::count(const Key &key, const T &value) const
Gibt die Anzahl der Elemente mit dem Schlüssel „ key “ und dem Wert „ value “ zurück.
Siehe auch contains() und QMultiMap::count().
QMultiMap<Key, T>::size_type QMultiMap::count() const
Entspricht „ size()“.
Dies ist eine überladene Funktion.
bool QMultiMap::empty() const
Diese Funktion dient der STL-Kompatibilität. Sie entspricht der Funktion „ isEmpty()“ und gibt „true“ zurück, wenn die Map leer ist; andernfalls gibt sie „false“ zurück.
QMultiMap<Key, T>::iterator QMultiMap::end()
Gibt einen Iterator im STL-Stil zurück, der auf das imaginäre Element nach dem letzten Element in der MultiMap zeigt.
Siehe auch begin() und constEnd().
QMultiMap<Key, T>::const_iterator QMultiMap::end() const
Dies ist eine überladene Funktion.
std::pair<QMultiMap<Key, T>::iterator, QMultiMap<Key, T>::iterator> QMultiMap::equal_range(const Key &key)
Gibt ein Iteratorpaar zurück, das den Wertebereich [first, second) begrenzt, der unter key gespeichert ist.
std::pair<QMultiMap<Key, T>::const_iterator, QMultiMap<Key, T>::const_iterator> QMultiMap::equal_range(const Key &key) const
Dies ist eine überladene Funktion.
QMultiMap<Key, T>::iterator QMultiMap::erase(QMultiMap<Key, T>::const_iterator pos)
Entfernt das (Schlüssel, Wert)-Paar, auf das der Iterator pos zeigt, aus der Multi-Map und gibt einen Iterator auf das nächste Element in der Map zurück.
Hinweis: Der Iterator pos muss gültig und dereferenzierbar sein.
Siehe auch remove().
[since 6.0] QMultiMap<Key, T>::iterator QMultiMap::erase(QMultiMap<Key, T>::const_iterator first, QMultiMap<Key, T>::const_iterator last)
Entfernt die (Schlüssel, Wert)-Paare, auf die der Iteratorbereich [first, last) verweist, aus der Multi-Map. Gibt einen Iterator auf das Element in der Multi-Map zurück, das auf das zuletzt entfernte Element folgt.
Hinweis: Der Bereich [first, last) muss ein gültiger Bereich in *this sein.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch ` remove()`.
QMultiMap<Key, T>::iterator QMultiMap::find(const Key &key)
Gibt einen Iterator zurück, der auf das Element mit dem Schlüssel „ key “ in der Multi-Map verweist.
Enthält die Multi-Map kein Element mit dem Schlüssel „ key “, gibt die Funktion „ end()“ zurück.
Enthält die Map mehrere Elemente mit dem Schlüssel „ key “, gibt diese Funktion einen Iterator zurück, der auf den zuletzt eingefügten Wert zeigt. Auf die anderen Werte kann durch Inkrementieren des Iterators zugegriffen werden. Hier ist beispielsweise ein Codeausschnitt, der alle Elemente mit demselben Schlüssel durchläuft:
auto i = multimap.find("plenty");
while (i != multimap.end() && i.key() == "plenty") {
cout << i.value() << endl;
++i;
}
// better:
auto [i, end] = multimap.equal_range("plenty");
while (i != end) {
cout << i.value() << endl;
++i;
}Siehe auch „ constFind()“, „ value()“, „ values()“, „ lowerBound()“ und „ upperBound()“.
QMultiMap<Key, T>::const_iterator QMultiMap::find(const Key &key) const
Dies ist eine überladene Funktion.
QMultiMap<Key, T>::const_iterator QMultiMap::find(const Key &key, const T &value) const
Gibt einen const-Iterator zurück, der auf das Element in der Map verweist, das die angegebenen Werte „ key “ und „ value “ aufweist.
Enthält die Map keinen solchen Eintrag, gibt die Funktion ` end()` zurück.
Enthält der Map mehrere Elemente mit dem angegebenen ` key`, gibt diese Funktion einen const-Iterator zurück, der auf den zuletzt eingefügten Wert zeigt.
Dies ist eine überladene Funktion.
T &QMultiMap::first()
Gibt eine Referenz auf den ersten Wert in der Multi-Map zurück, d. h. den Wert, der dem kleinsten Schlüssel zugeordnet ist. Diese Funktion setzt voraus, dass die Multi-Map nicht leer ist.
Wenn die Funktion nicht gemeinsam genutzt wird (oder die `const`-Version aufgerufen wird), wird sie in konstanter Zeit ausgeführt.
Siehe auch last(), firstKey() und isEmpty().
const T &QMultiMap::first() const
Dies ist eine überladene Funktion.
const Key &QMultiMap::firstKey() const
Gibt eine Referenz auf den kleinsten Schlüssel in der Multi-Map zurück. Diese Funktion setzt voraus, dass die Multi-Map nicht leer ist.
Die Ausführung erfolgt in konstanter Zeit.
Siehe auch lastKey(), first(), keyBegin() und isEmpty().
QMultiMap<Key, T>::iterator QMultiMap::insert(const Key &key, const T &value)
Fügt einen neuen Eintrag mit dem Schlüssel „ key “ und dem Wert „ value “ ein.
Wenn bereits ein Element mit demselben Schlüssel in der Map vorhanden ist, erstellt diese Funktion einfach ein neues. (Dieses Verhalten unterscheidet sich von ` replace()`, das den Wert eines bestehenden Elements überschreibt.)
QMultiMap erlaubt doppelte Schlüssel und speichert Elemente in aufsteigender Schlüsselreihenfolge. Bei doppelten Schlüsseln werden die Werte in umgekehrter Einfügungsreihenfolge gespeichert (der zuletzt eingefügte Wert steht an erster Stelle).
Gibt einen Iterator zurück, der auf das neue Element verweist.
Siehe auch ` replace()`.
QMultiMap<Key, T>::iterator QMultiMap::insert(QMultiMap<Key, T>::const_iterator pos, const Key &key, const T &value)
Fügt ein neues Element mit dem Schlüssel „ key “ und dem Wert „ value “ ein, wobei der Hinweis „ pos “ angibt, wo die Einfügung erfolgen soll.
Wird constBegin() als Hinweis verwendet, bedeutet dies, dass key kleiner ist als jeder Schlüssel in der Multi-Map, während constEnd() angibt, dass key (streng) größer ist als jeder Schlüssel in der Multi-Map. Andernfalls sollte der Hinweis die Bedingung (pos –1) erfüllen.key() < key <= pos.key(). Ist der Hinweis pos falsch, wird er ignoriert und ein regulärer Einfügevorgang durchgeführt.
Ist der Hinweis korrekt und ist die Multi-Map nicht gemeinsam genutzt, erfolgt der Einfügevorgang in amortisierter konstanter Zeit.
Befindet sich bereits ein Eintrag mit demselben Schlüssel in der Map, erstellt diese Funktion einfach einen neuen.
Beim Erstellen einer Multi-Map aus sortierten Daten ist das Einfügen des größten Schlüssels zuerst mit ` constBegin()` schneller als das Einfügen in sortierter Reihenfolge mit ` constEnd()`, da ` constEnd()` – 1 (was benötigt wird, um zu prüfen, ob der Hinweis gültig ist) logarithmische Zeit benötigt.
Gibt einen Iterator zurück, der auf das neue Element verweist.
Hinweis: Seien Sie vorsichtig mit dem Hinweis. Die Angabe eines Iterators aus einer älteren gemeinsam genutzten Instanz kann zu einem Absturz führen, es besteht jedoch auch das Risiko, dass sowohl die Multi-Map als auch die pos -Multi-Map unbemerkt beschädigt werden.
Dies ist eine überladene Funktion.
bool QMultiMap::isEmpty() const
Gibt „ true “ zurück, wenn die Multi-Map keine Elemente enthält; andernfalls wird „false“ zurückgegeben.
Siehe auch size().
Key QMultiMap::key(const T &value, const Key &defaultKey = Key()) const
Gibt den ersten Schlüssel mit dem Wert „ value “ zurück oder „ defaultKey “, falls die Multi-Map kein Element mit dem Wert „ value “ enthält. Wird kein „ defaultKey “ angegeben, gibt die Funktion einen standardmäßig konstruierten Schlüssel zurück.
Diese Funktion kann langsam sein (lineare Laufzeit), da die interne Datenstruktur von ` QMultiMap` für eine schnelle Suche nach Schlüsseln und nicht nach Werten optimiert ist.
Siehe auch ` value()` und ` keys()`.
QMultiMap<Key, T>::key_iterator QMultiMap::keyBegin() const
Gibt einen konstanten Iterator im STL-Stil zurück, der auf den ersten Schlüssel in der Multi-Map zeigt.
Siehe auch „ keyEnd()“ und „ firstKey()“.
QMultiMap<Key, T>::key_iterator QMultiMap::keyEnd() const
Gibt einen konstanten Iterator im STL-Stil zurück, der auf das imaginäre Element nach dem letzten Schlüssel in der Multi-Map zeigt.
Siehe auch „ keyBegin()“ und „ lastKey()“.
QMultiMap<Key, T>::key_value_iterator QMultiMap::keyValueBegin()
Gibt einen Iterator im STL-Stil zurück, der auf den ersten Eintrag in der MultiMap zeigt.
Siehe auch ` keyValueEnd()`.
QMultiMap<Key, T>::const_key_value_iterator QMultiMap::keyValueBegin() const
Gibt einen konstanten Iterator im STL-Stil zurück, der auf den ersten Eintrag in der Multi-Map zeigt.
Siehe auch ` keyValueEnd()`.
QMultiMap<Key, T>::key_value_iterator QMultiMap::keyValueEnd()
Gibt einen Iterator im STL-Stil zurück, der auf den imaginären Eintrag nach dem letzten Eintrag in der Multi-Map zeigt.
Siehe auch ` keyValueBegin()`.
QMultiMap<Key, T>::const_key_value_iterator QMultiMap::keyValueEnd() const
Gibt einen konstanten Iterator im STL-Stil zurück, der auf den imaginären Eintrag nach dem letzten Eintrag in der Multi-Map zeigt.
Siehe auch ` keyValueBegin()`.
QList<Key> QMultiMap::keys() const
Gibt eine Liste zurück, die alle Schlüssel der Multi-Map in aufsteigender Reihenfolge enthält. Schlüssel, die in der Multi-Map mehrfach vorkommen, tauchen auch in der Liste mehrfach auf.
Es wird garantiert, dass die Reihenfolge mit der von ` values()` übereinstimmt.
Diese Funktion erstellt in linearer Zeit eine neue Liste. Der damit verbundene Zeit- und Speicherbedarf lässt sich vermeiden, indem anstelle von ` keyBegin()` die Funktion ` keyEnd()` verwendet wird.
Siehe auch values() und key().
QList<Key> QMultiMap::keys(const T &value) const
Gibt eine Liste zurück, die alle Schlüssel enthält, die mit dem Wert „ value “ verknüpft sind, in aufsteigender Reihenfolge.
Diese Funktion kann langsam sein (lineare Laufzeit), da die interne Datenstruktur von „ QMultiMap “ für eine schnelle Suche nach Schlüsseln und nicht nach Werten optimiert ist.
Dies ist eine überladene Funktion.
T &QMultiMap::last()
Gibt eine Referenz auf den letzten Wert in der Multi-Map zurück, d. h. den Wert, der dem größten Schlüssel zugeordnet ist. Diese Funktion setzt voraus, dass die Map nicht leer ist.
Wenn die Funktion nicht gemeinsam genutzt wird (oder die „const“-Version aufgerufen wird), wird sie in konstanter Zeit ausgeführt.
Siehe auch first(), lastKey() und isEmpty().
const T &QMultiMap::last() const
Dies ist eine überladene Funktion.
const Key &QMultiMap::lastKey() const
Gibt eine Referenz auf den größten Schlüssel in der Multi-Map zurück. Diese Funktion setzt voraus, dass die Multi-Map nicht leer ist.
Die Ausführung erfolgt in konstanter Zeit.
Siehe auch firstKey(), last(), keyEnd() und isEmpty().
QMultiMap<Key, T>::iterator QMultiMap::lowerBound(const Key &key)
Gibt einen Iterator zurück, der auf das erste Element mit dem Schlüssel „ key “ im Map verweist. Enthält der Map kein Element mit dem Schlüssel „ key “, gibt die Funktion einen Iterator auf das nächstgelegene Element mit einem größeren Schlüssel zurück.
Beispiel:
QMultiMap<int, QString> multimap;
multimap.insert(1, "one");
multimap.insert(5, "five");
multimap.insert(5, "five (2)");
multimap.insert(10, "ten");
multimap.lowerBound(0); // returns iterator to (1, "one")
multimap.lowerBound(1); // returns iterator to (1, "one")
multimap.lowerBound(2); // returns iterator to (5, "five")
multimap.lowerBound(5); // returns iterator to (5, "five")
multimap.lowerBound(6); // returns iterator to (10, "ten")
multimap.lowerBound(10); // returns iterator to (10, "ten")
multimap.lowerBound(999); // returns end()Wenn die Map mehrere Elemente mit dem Schlüssel „ key “ enthält, gibt diese Funktion einen Iterator zurück, der auf den zuletzt eingefügten Wert zeigt. Auf die anderen Werte kann durch Inkrementieren des Iterators zugegriffen werden. Hier ist beispielsweise ein Codeausschnitt, der alle Elemente mit demselben Schlüssel durchläuft:
QMap<QString, int> multimap;
//...
QMap<QString, int>::const_iterator i = multimap.lowerBound("HDR");
QMap<QString, int>::const_iterator upperBound = multimap.upperBound("HDR");
while (i != upperBound) {
cout << i.value() << endl;
++i;
}Siehe auch „ upperBound()“ und „ find()“.
QMultiMap<Key, T>::const_iterator QMultiMap::lowerBound(const Key &key) const
Dies ist eine überladene Funktion.
QMultiMap<Key, T>::size_type QMultiMap::remove(const Key &key)
Entfernt alle Elemente mit dem Schlüssel „ key “ aus der Multi-Map. Gibt die Anzahl der entfernten Elemente zurück.
Siehe auch „ clear()“ und „ take()“.
QMultiMap<Key, T>::size_type QMultiMap::remove(const Key &key, const T &value)
Entfernt alle Einträge mit dem Schlüssel „ key “ und dem Wert „ value “ aus der Multi-Map. Gibt die Anzahl der entfernten Einträge zurück.
Siehe auch clear() und take().
[since 6.1] template <typename Predicate> QMultiMap<Key, T>::size_type QMultiMap::removeIf(Predicate pred)
Entfernt alle Elemente aus der Multi-Map, für die das Prädikat „ pred “ den Wert „true“ zurückgibt.
Die Funktion unterstützt Prädikate, die entweder ein Argument vom Typ „ QMultiMap<Key, T>::iterator “ oder ein Argument vom Typ „ std::pair<const Key &, T &> “ entgegennehmen.
Gibt die Anzahl der entfernten Elemente zurück, falls vorhanden.
Diese Funktion wurde in Qt 6.1 eingeführt.
Siehe auch „ clear()“ und „ take()“.
QMultiMap<Key, T>::iterator QMultiMap::replace(const Key &key, const T &value)
Fügt einen neuen Eintrag mit dem Schlüssel „ key “ und dem Wert „ value “ ein.
Falls bereits ein Eintrag mit dem Schlüssel key vorhanden ist, wird dessen Wert durch value ersetzt.
Wenn mehrere Einträge mit dem Schlüssel „ key “ vorhanden sind, wird der Wert des zuletzt eingefügten Eintrags durch „ value “ ersetzt.
Gibt einen Iterator zurück, der auf das neue/aktualisierte Element verweist.
Siehe auch ` insert()`.
QMultiMap<Key, T>::size_type QMultiMap::size() const
Gibt die Anzahl der (Schlüssel, Wert)-Paare in der Multi-Map zurück.
Siehe auch „ isEmpty()“ und „ count()“.
[noexcept] void QMultiMap::swap(QMultiMap<Key, T> &other)
Ersetzt diese Multi-Map durch „ other “. Dieser Vorgang läuft sehr schnell ab und schlägt niemals fehl.
T QMultiMap::take(const Key &key)
Entfernt das Element mit dem Schlüssel „ key “ aus der Multi-Map und gibt den damit verknüpften Wert zurück.
Wenn der Eintrag in der Multi-Map nicht vorhanden ist, gibt die Funktion einfach einen standardmäßig konstruierten Wert zurück. Wenn es in der Map mehrere Einträge für „ key “ gibt, wird nur der zuletzt eingefügte Eintrag entfernt und zurückgegeben.
Wenn Sie den Rückgabewert nicht verwenden, ist „ remove()“ effizienter.
Siehe auch ` remove()`.
std::multimap<Key, T> QMultiMap::toStdMultiMap() const &
Gibt eine STL-MultiMap zurück, die diesem Link entspricht: QMultiMap.
QList<Key> QMultiMap::uniqueKeys() const
Gibt eine Liste zurück, die alle Schlüssel des Maps in aufsteigender Reihenfolge enthält. Schlüssel, die im Map mehrfach vorkommen, erscheinen in der zurückgegebenen Liste nur einmal.
QMultiMap<Key, T> &QMultiMap::unite(QMultiMap<Key, T> &&other)
Verschiebt alle Elemente aus der Karte „ other “ in diese Karte. Wenn ein Schlüssel in beiden Karten vorkommt, enthält die resultierende Karte diesen Schlüssel mehrfach.
Wenn „ other “ gemeinsam genutzt wird, werden die Elemente stattdessen kopiert.
QMultiMap<Key, T> &QMultiMap::unite(const QMultiMap<Key, T> &other)
Fügt alle Elemente der Map „ other “ in diese Map ein. Wenn ein Schlüssel in beiden Maps vorkommt, wird dieser Schlüssel in der resultierenden Map mehrfach enthalten sein.
QMultiMap<Key, T>::iterator QMultiMap::upperBound(const Key &key)
Gibt einen Iterator zurück, der auf das Element verweist, das unmittelbar auf das letzte Element mit dem Schlüssel „ key “ in der Map folgt. Enthält die Map kein Element mit dem Schlüssel „ key “, gibt die Funktion einen Iterator auf das nächstgelegene Element mit einem größeren Schlüssel zurück.
Beispiel:
QMultiMap<int, QString> multimap;
multimap.insert(1, "one");
multimap.insert(5, "five");
multimap.insert(5, "five (2)");
multimap.insert(10, "ten");
multimap.upperBound(0); // returns iterator to (1, "one")
multimap.upperBound(1); // returns iterator to (5, "five")
multimap.upperBound(2); // returns iterator to (5, "five")
multimap.lowerBound(5); // returns iterator to (5, "five (2)")
multimap.lowerBound(6); // returns iterator to (10, "ten")
multimap.upperBound(10); // returns end()
multimap.upperBound(999); // returns end()Siehe auch lowerBound() und find().
QMultiMap<Key, T>::const_iterator QMultiMap::upperBound(const Key &key) const
Dies ist eine überladene Funktion.
T QMultiMap::value(const Key &key, const T &defaultValue = T()) const
Gibt den Wert zurück, der dem Schlüssel „ key “ zugeordnet ist.
Enthält die Multi-Map keinen Eintrag mit dem Schlüssel „ key “, gibt die Funktion „ defaultValue “ zurück. Ist kein „ defaultValue “ angegeben, gibt die Funktion einen standardmäßig konstruierten Wert zurück. Befinden sich mehrere Einträge für „ key “ in der Multi-Map, wird der Wert des zuletzt eingefügten Eintrags zurückgegeben.
Siehe auch „ key()“, „ values()“ und „ contains()“.
QList<T> QMultiMap::values() const
Gibt eine Liste zurück, die alle Werte des Maps enthält, sortiert nach aufsteigender Reihenfolge ihrer Schlüssel. Ist ein Schlüssel mit mehreren Werten verknüpft, werden alle diese Werte in die Liste aufgenommen, nicht nur der zuletzt eingefügte.
Siehe auch keys() und value().
QList<T> QMultiMap::values(const Key &key) const
Gibt eine Liste zurück, die alle Werte enthält, die dem Schlüssel „ key “ zugeordnet sind, beginnend mit dem zuletzt eingefügten bis hin zum am längsten zurückliegenden.
Siehe auch „ keys()“ und „ value()“.
[implicit] QMultiMap<Key, T> &QMultiMap::operator=(QMultiMap<Key, T> &&other)
Weist „ other “ dieser „ QMultiMap “-Instanz zu.
[implicit] QMultiMap<Key, T> &QMultiMap::operator=(const QMultiMap<Key, T> &other)
Weist dieser Multi-Map „ other “ zu und gibt einen Verweis auf diese Multi-Map zurück.
Verwandte Nicht-Mitglieder
[since 6.1] template <
typename Key,
typename T,
typename Predicate
>
qsizetype erase_if(QMultiMap<Key, T> &map, Predicate pred)
Entfernt alle Elemente aus der Multi-Map „ map “, für die das Prädikat „ pred “ den Wert „true“ zurückgibt.
Die Funktion unterstützt Prädikate, die entweder ein Argument vom Typ „ QMultiMap<Key, T>::iterator “ oder ein Argument vom Typ „ std::pair<const Key &, T &> “ entgegennehmen.
Gibt die Anzahl der entfernten Elemente zurück, sofern vorhanden.
Diese Funktion wurde in Qt 6.1 eingeführt.
bool operator!=(const QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs)
Gibt „ true “ zurück, wenn „ lhs “ nicht gleich „ rhs “ ist; andernfalls wird „ false “ zurückgegeben.
Zwei Multi-Maps gelten als gleich, wenn sie dieselben (Schlüssel, Wert)-Paare in derselben Reihenfolge enthalten (was bei doppelten Schlüsseln von Bedeutung ist).
Diese Funktion setzt voraus, dass die Schlüssel- und Werttypen die Schnittmenge „ operator==() “ implementieren.
Siehe auch ` operator==()`.
template <typename Key, typename T> QMultiMap<Key, T> operator+(const QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs)
Gibt ein Map zurück, das alle Elemente des Maps „ lhs “ sowie alle Elemente von „ rhs “ enthält. Wenn ein Schlüssel in beiden Maps vorkommt, wird dieser Schlüssel im resultierenden Map mehrfach enthalten sein.
Siehe auch operator+=().
template <typename Key, typename T> QMultiMap<Key, T> operator+=(QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs)
Fügt alle Elemente der Map „ rhs “ in die Map „ lhs “ ein und gibt die resultierende Map zurück.
Siehe auch „ insert()“ und „ operator+()“.
[since 6.12] bool operator<(const QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs)
Gibt „ true “ zurück, wenn „ lhs “ lexikografisch kleiner ist als „ rhs “; andernfalls wird „ false “ zurückgegeben.
Dieser Operator ist verfügbar, wenn sowohl der Schlüsseltyp Key als auch der zugeordnete Typ T entweder operator<=>() (im C++20-Modus), die Hilfsmethode compareThreeWay() oder operator<() bereitstellen.
Diese Funktion wurde in Qt 6.12 eingeführt.
template <typename Key, typename T> QDataStream &operator<<(QDataStream &out, const QMultiMap<Key, T> &map)
Schreibt die Multi-Map „ map “ in den Stream „ out “.
Diese Funktion setzt voraus, dass die Schlüssel- und Werttypen die Schnittstelle ` operator<<()` implementieren.
Siehe auch Format der QDataStream-Operatoren.
[since 6.12] bool operator<=(const QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs)
Gibt „ true “ zurück, wenn „ lhs “ lexikografisch kleiner oder gleich „ rhs“ ist; andernfalls wird „ false “ zurückgegeben.
Dieser Operator ist verfügbar, wenn sowohl der Schlüsseltyp ` Key ` als auch der zugeordnete Typ ` T ` entweder ` operator<=>() ` (im C++20-Modus), die Hilfsmethode ` compareThreeWay() ` oder ` operator<()` bereitstellen.
Diese Funktion wurde in Qt 6.12 eingeführt.
[since 6.12] auto operator<=>(const QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs)
Vergleicht den Inhalt von „ lhs “ und „ rhs “ lexikografisch. Gibt das Ergebnis des stärksten anwendbaren Kategorietyps zurück.
Hinweis: Dieser Operator ist nur im C++20-Modus verfügbar, wenn sowohl der Schlüsseltyp „ Key “ als auch der zugeordnete Typ „ T “ die Anforderungen des Konzepts „ std::three_way_comparable “ erfüllen oder „ operator<() “ bereitstellen. In diesem Fall werden die Operatoren „ < “, „ <= “, „ > “ und „ >= “ aus „ operator<=>() “ und „ operator==() “ synthetisiert.
Diese Funktion wurde in Qt 6.12 eingeführt.
bool operator==(const QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs)
Gibt „ true “ zurück, wenn „ lhs “ gleich „ rhs “ ist; andernfalls wird „false“ zurückgegeben.
Zwei Multi-Maps gelten als gleich, wenn sie dieselben (Schlüssel, Wert)-Paare in derselben Reihenfolge enthalten (was bei doppelten Schlüsseln von Bedeutung ist).
Diese Funktion setzt voraus, dass die Schlüssel- und Werttypen die Schnittmenge operator==() implementieren.
Siehe auch ` operator!=()`.
[since 6.12] bool operator>(const QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs)
Gibt „ true “ zurück, wenn „ lhs “ lexikografisch größer ist als „ rhs “; andernfalls wird „ false “ zurückgegeben.
Dieser Operator ist verfügbar, wenn sowohl der Schlüsseltyp ` Key ` als auch der zugeordnete Typ ` T ` entweder ` operator<=>() ` (im C++20-Modus), die Hilfsmethode ` compareThreeWay() ` oder ` operator<()` bereitstellen.
Diese Funktion wurde in Qt 6.12 eingeführt.
[since 6.12] bool operator>=(const QMultiMap<Key, T> &lhs, const QMultiMap<Key, T> &rhs)
Gibt „ true “ zurück, wenn „ lhs “ lexikografisch größer oder gleich „ rhs“ ist; andernfalls wird „ false “ zurückgegeben.
Dieser Operator ist verfügbar, wenn sowohl der Schlüsseltyp ` Key ` als auch der zugeordnete Typ ` T ` entweder ` operator<=>() ` (im C++20-Modus), die Hilfsmethode ` compareThreeWay() ` oder ` operator<()` bereitstellen.
Diese Funktion wurde in Qt 6.12 eingeführt.
template <typename Key, typename T> QDataStream &operator>>(QDataStream &in, QMultiMap<Key, T> &map)
Liest eine Map aus dem Stream „ in “ in „ map “ ein.
Diese Funktion setzt voraus, dass die Schlüssel- und Werttypen die Schnittstelle ` operator>>()` implementieren.
Siehe auch Format der QDataStream-Operatoren.
© 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.