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égorie | Types 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() |
Éléments non membres associés
| 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.