Sur cette page

QMetaAssociation Class

La classe `QMetaAssociation` permet un accès avec effacement de type aux conteneurs associatifs. En savoir plus...

En-tête : #include <QMetaAssociation>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core
Depuis : Qt 6.0
Hérite de : QMetaContainer

Comparaisons de QMetaAssociation

CatégorieTypes comparables
égalitéQMetaAssociation

Types publics

(since 6.11) class Iterable

Fonctions publiques

QMetaAssociation()
bool canContainsKey() const
bool canCreateConstIteratorAtKey() const
bool canCreateIteratorAtKey() const
bool canGetKeyAtConstIterator() const
bool canGetKeyAtIterator() const
bool canGetMappedAtConstIterator() const
bool canGetMappedAtIterator() const
bool canGetMappedAtKey() const
bool canInsertKey() const
bool canRemoveKey() const
bool canSetMappedAtIterator() const
bool canSetMappedAtKey() const
bool containsKey(const void *container, const void *key) const
void *createConstIteratorAtKey(const void *container, const void *key) const
void *createIteratorAtKey(void *container, const void *key) const
void insertKey(void *container, const void *key) const
void keyAtConstIterator(const void *iterator, void *key) const
void keyAtIterator(const void *iterator, void *key) const
QMetaType keyMetaType() const
void mappedAtConstIterator(const void *iterator, void *mapped) const
void mappedAtIterator(const void *iterator, void *mapped) const
void mappedAtKey(const void *container, const void *key, void *mapped) const
QMetaType mappedMetaType() const
void removeKey(void *container, const void *key) const
void setMappedAtIterator(const void *iterator, const void *mapped) const
void setMappedAtKey(void *container, const void *key, const void *mapped) const

Membres publics statiques

(since 6.0) QMetaAssociation fromContainer()
bool operator!=(const QMetaAssociation &lhs, const QMetaAssociation &rhs)
bool operator==(const QMetaAssociation &lhs, const QMetaAssociation &rhs)

Description détaillée

Cette classe fournit un certain nombre d’opérations de base sur les conteneurs, utilisant void* comme opérandes. De cette manière, vous pouvez manipuler un conteneur générique extrait d’un Variant sans connaître son type.

QMetaAssociation couvre à la fois les conteneurs avec des valeurs mappées, tels que QMap ou QHash, et les conteneurs qui ne contiennent que des clés, tels que QSet.

Les arguments de type `void*` des différentes méthodes sont généralement créés en utilisant un ` QVariant ` du conteneur ou du type de valeur correspondant, puis en appelant ses méthodes ` QVariant::data()` ou ` QVariant::constData()`. Cependant, vous pouvez également passer des pointeurs simples vers des objets du type conteneur ou du type de valeur.

L’invalidation des itérateurs suit les règles définies par les conteneurs sous-jacents et n’est pas spécifiée dans l’API. Par conséquent, pour un conteneur véritablement générique, tous les itérateurs doivent être considérés comme invalides après toute opération d’écriture.

Voir également QMetaContainer, QMetaSequence, QIterable et QIterator.

Documentation des fonctions membres

[constexpr noexcept default] QMetaAssociation::QMetaAssociation()

Construit par défaut une instance de ` QMetaAssociation`.

bool QMetaAssociation::canContainsKey() const

Renvoie « true » si le conteneur permet d'interroger les clés à l'aide de la fonction « containsKey() », sinon renvoie « false ».

bool QMetaAssociation::canCreateConstIteratorAtKey() const

Renvoie ` true ` si un itérateur constant pointant vers une entrée du conteneur peut être créé à l'aide de ` createConstIteratorAtKey()`, sinon renvoie `false`.

bool QMetaAssociation::canCreateIteratorAtKey() const

Renvoie ` true ` si un itérateur pointant vers une entrée du conteneur peut être créé à l'aide de ` createIteratorAtKey()` ; sinon, renvoie `false`.

Voir également createIteratorAtKey().

bool QMetaAssociation::canGetKeyAtConstIterator() const

Renvoie ` true ` si une clé peut être récupérée à partir d’un itérateur `const` à l’aide de ` keyAtConstIterator()`, sinon renvoie ` false`.

Voir également keyAtConstIterator().

bool QMetaAssociation::canGetKeyAtIterator() const

Renvoie ` true ` si une clé peut être récupérée à partir d'un itérateur non-const à l'aide de ` keyAtIterator()`, sinon renvoie ` false`.

Voir également keyAtIterator().

bool QMetaAssociation::canGetMappedAtConstIterator() const

Renvoie ` true ` si une valeur mappée peut être récupérée à partir d'un itérateur constant à l'aide de ` mappedAtConstIterator()`, sinon renvoie ` false`.

Voir également mappedAtConstIterator().

bool QMetaAssociation::canGetMappedAtIterator() const

Renvoie ` true ` si une valeur mappée peut être récupérée à partir d'un itérateur non constant à l'aide de ` mappedAtIterator()`, sinon renvoie ` false`.

Voir également mappedAtIterator().

bool QMetaAssociation::canGetMappedAtKey() const

Renvoie « true » si le conteneur permet d'interroger ses valeurs à l'aide de la fonction « mappedAtKey() », sinon renvoie « false ».

bool QMetaAssociation::canInsertKey() const

Renvoie ` true ` si des clés peuvent être ajoutées au conteneur à l'aide de ` insertKey()` ; sinon, renvoie ` false`.

Voir également insertKey().

bool QMetaAssociation::canRemoveKey() const

Renvoie « true » si les clés peuvent être supprimées du conteneur à l'aide de la fonction « removeKey() », sinon renvoie « false ».

Voir également removeKey().

bool QMetaAssociation::canSetMappedAtIterator() const

Renvoie ` true ` si une valeur mappée peut être définie via un itérateur non constant à l'aide de ` setMappedAtIterator()`, sinon renvoie ` false`.

Voir également setMappedAtIterator().

bool QMetaAssociation::canSetMappedAtKey() const

Renvoie ` true ` si les valeurs mappées peuvent être modifiées dans le conteneur à l'aide de ` setMappedAtKey()`, sinon renvoie ` false`.

Voir également setMappedAtKey().

bool QMetaAssociation::containsKey(const void *container, const void *key) const

Renvoie true si l'container permet d'interroger les clés et contient l'key, sinon renvoie false.

Voir également canContainsKey().

void *QMetaAssociation::createConstIteratorAtKey(const void *container, const void *key) const

Renvoie un itérateur const pointant vers l'entrée de ` key ` dans ` container`, si possible. Si l'entrée n'existe pas, crée un itérateur const pointant vers la fin de ` container`. Si aucun itérateur const ne peut être créé, renvoie ` nullptr`.

L'itérateur const doit être détruit à l'aide de la fonction destroyConstIterator().

Voir également canCreateConstIteratorAtKey(), constBegin(), constEnd() et destroyConstIterator().

void *QMetaAssociation::createIteratorAtKey(void *container, const void *key) const

Renvoie un itérateur non constant pointant vers l'entrée de ` key ` dans ` container`, si possible. Si l'entrée n'existe pas, crée un itérateur non constant pointant vers la fin de ` container`. Si aucun itérateur non constant ne peut être créé, renvoie ` nullptr`.

L'itérateur non-const doit être détruit à l'aide de la fonction destroyIterator().

Voir également canCreateIteratorAtKey(), begin(), end() et destroyIterator().

[static constexpr, since 6.0] template <typename T> QMetaAssociation QMetaAssociation::fromContainer()

Renvoie l'QMetaAssociation e correspondant au type fourni en paramètre de modèle.

Cette fonction a été introduite dans Qt 6.0.

void QMetaAssociation::insertKey(void *container, const void *key) const

Insère l'key dans l'container, si possible. Si le conteneur contient des valeurs mappées, une valeur mappée « default-create » est associée à l'key.

Voir également canInsertKey().

void QMetaAssociation::keyAtConstIterator(const void *iterator, void *key) const

Récupère la clé pointée par la constante iterator et la stocke à l'emplacement mémoire pointé par key, si possible.

Voir également canGetKeyAtConstIterator(), constBegin(), constEnd() et createConstIteratorAtKey().

void QMetaAssociation::keyAtIterator(const void *iterator, void *key) const

Récupère la clé pointée par le paramètre non-const iterator et la stocke à l'emplacement mémoire pointé par key, si possible.

Voir également canGetKeyAtIterator(), begin(), end() et createIteratorAtKey().

QMetaType QMetaAssociation::keyMetaType() const

Renvoie le type de métadonnées associé aux clés du conteneur.

void QMetaAssociation::mappedAtConstIterator(const void *iterator, void *mapped) const

Récupère la valeur mappée à laquelle pointe la constante ` iterator ` et la stocke à l'emplacement mémoire indiqué par ` mapped`, si possible.

Voir également canGetMappedAtConstIterator(), constBegin(), constEnd() et createConstIteratorAtKey().

void QMetaAssociation::mappedAtIterator(const void *iterator, void *mapped) const

Récupère la valeur mappée à laquelle pointe le paramètre non-const iterator et la stocke à l'emplacement mémoire pointé par mapped, si possible.

Voir également setMappedAtIterator(), canGetMappedAtIterator(), begin(), end() et createIteratorAtKey().

void QMetaAssociation::mappedAtKey(const void *container, const void *key, void *mapped) const

Récupère la valeur mappée associée à l'key dans l'container et l'enregistre à l'emplacement mémoire pointé par mapped, si cela est possible.

Voir également setMappedAtKey() et canGetMappedAtKey().

QMetaType QMetaAssociation::mappedMetaType() const

Renvoie le type de métadonnées des valeurs mappées dans le conteneur.

void QMetaAssociation::removeKey(void *container, const void *key) const

Supprime, si possible, l'key e et la valeur qui lui est associée de l'container.

Voir également canRemoveKey().

void QMetaAssociation::setMappedAtIterator(const void *iterator, const void *mapped) const

Écrit la valeur de ` mapped ` dans l'emplacement du conteneur pointé par ` iterator` (non-const), si possible.

Voir également mappedAtIterator(), canSetMappedAtIterator(), begin(), end() et createIteratorAtKey().

void QMetaAssociation::setMappedAtKey(void *container, const void *key, const void *mapped) const

Remplace la valeur associée à l'key dans l'container à l'aide de la valeur mapped transmise en argument, si cela est possible.

Voir également mappedAtKey() et canSetMappedAtKey().

Éléments non membres associés

[noexcept] bool operator!=(const QMetaAssociation &lhs, const QMetaAssociation &rhs)

Renvoie « true » si l'objet ` QMetaAssociation ` ( lhs ) correspond à un type de conteneur différent de celui de l'objet ` QMetaAssociation ` ( rhs) ; sinon, renvoie « false ».

[noexcept] bool operator==(const QMetaAssociation &lhs, const QMetaAssociation &rhs)

Renvoie « true » si l'QMetaAssociation lhs correspond au même type de conteneur que l'QMetaAssociation rhs ; sinon, renvoie « false ».

© 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.