QMetaAssociation Class
La clase QMetaAssociation permite el acceso con borrado de tipo a contenedores asociativos. Más...
| Cabecera: | #include <QMetaAssociation> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| Desde: | Qt 6.0 |
| Hereda: | QMetaContainer |
Esta clase es igual-comparable.
Tipos Públicos
(since 6.11) class | Iterable |
Funciones Públicas
| 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 |
Miembros públicos estáticos
(since 6.0) QMetaAssociation | fromContainer() |
No miembros relacionados
| bool | operator!=(const QMetaAssociation &lhs, const QMetaAssociation &rhs) |
| bool | operator==(const QMetaAssociation &lhs, const QMetaAssociation &rhs) |
Descripción Detallada
La clase proporciona una serie de operaciones primitivas de contenedor, utilizando void* como operandos. De esta forma, se puede manipular un contenedor genérico recuperado de una Variante sin conocer su tipo.
QMetaAssociation cubre tanto contenedores con valores asignados como QMap o QHash, como contenedores que sólo contienen claves como QSet.
Los argumentos void* de los distintos métodos se crean normalmente utilizando un QVariant del tipo de contenedor o valor respectivo, y llamando a sus métodos QVariant::data() o QVariant::constData(). Sin embargo, también se pueden pasar punteros planos a objetos del tipo contenedor o valor.
La invalidación de iteradores sigue las reglas dadas por los contenedores subyacentes y no se expresa en la API. Por lo tanto, para un contenedor verdaderamente genérico, cualquier iterador debería considerarse inválido después de cualquier operación de escritura.
Véase también QMetaContainer, QMetaSequence, QIterable, y QIterator.
Documentación de las funciones miembro
bool QMetaAssociation::canContainsKey() const
Devuelve true si se pueden consultar las claves del contenedor mediante containsKey(), en caso contrario devuelve false.
bool QMetaAssociation::canCreateConstIteratorAtKey() const
Devuelve true si se puede crear un iterador const que apunte a una entrada del contenedor mediante createConstIteratorAtKey(), en caso contrario devuelve false.
bool QMetaAssociation::canCreateIteratorAtKey() const
Devuelve true si se puede crear un iterador que apunte a una entrada del contenedor mediante createIteratorAtKey(), en caso contrario devuelve false.
Véase también createIteratorAtKey().
bool QMetaAssociation::canGetKeyAtConstIterator() const
Devuelve true si se puede recuperar una clave de un iterador const utilizando keyAtConstIterator(), en caso contrario devuelve false.
Véase también keyAtConstIterator().
bool QMetaAssociation::canGetKeyAtIterator() const
Devuelve true si se puede recuperar una clave de un iterador no-const utilizando keyAtIterator(), en caso contrario devuelve false.
Véase también keyAtIterator().
bool QMetaAssociation::canGetMappedAtConstIterator() const
Devuelve true si se puede recuperar un valor mapeado de un iterador const utilizando mappedAtConstIterator(), en caso contrario devuelve false.
Véase también mappedAtConstIterator().
bool QMetaAssociation::canGetMappedAtIterator() const
Devuelve true si se puede recuperar un valor mapeado de un iterador no-const utilizando mappedAtIterator(), en caso contrario devuelve false.
Véase también mappedAtIterator().
bool QMetaAssociation::canGetMappedAtKey() const
Devuelve true si se pueden consultar los valores del contenedor mediante mappedAtKey(), en caso contrario devuelve false.
bool QMetaAssociation::canInsertKey() const
Devuelve true si se pueden añadir claves al contenedor utilizando insertKey(), en caso contrario devuelve false.
Véase también insertKey().
bool QMetaAssociation::canRemoveKey() const
Devuelve true si las claves se pueden eliminar del contenedor utilizando removeKey(), en caso contrario devuelve false.
Véase también removeKey().
bool QMetaAssociation::canSetMappedAtIterator() const
Devuelve true si se puede establecer un valor mapeado mediante un iterador no-const utilizando setMappedAtIterator(), en caso contrario devuelve false.
Véase también setMappedAtIterator().
bool QMetaAssociation::canSetMappedAtKey() const
Devuelve true si los valores asignados pueden modificarse en el contenedor utilizando setMappedAtKey(), en caso contrario devuelve false.
Véase también setMappedAtKey().
bool QMetaAssociation::containsKey(const void *container, const void *key) const
Devuelve true si el container puede ser consultado por claves y contiene el key, en caso contrario devuelve false.
Véase también canContainsKey().
void *QMetaAssociation::createConstIteratorAtKey(const void *container, const void *key) const
Devuelve un iterador const que apunta a la entrada de key en container, si es posible. Si la entrada no existe, crea un iterador const que apunta al final de container. Si no se puede crear ningún iterador const, devuelve nullptr.
El iterador const debe destruirse utilizando destroyConstIterator().
Véase también canCreateConstIteratorAtKey(), constBegin(), constEnd(), y destroyConstIterator().
void *QMetaAssociation::createIteratorAtKey(void *container, const void *key) const
Devuelve un iterador no-const que apunta a la entrada de key en el container, si es posible. Si la entrada no existe, crea un iterador no-const que apunta al final de container. Si no se puede crear un iterador no-const, devuelve nullptr.
El iterador no-const debe ser destruido usando destroyIterator().
Véase también canCreateIteratorAtKey(), begin(), end(), y destroyIterator().
[static constexpr, since 6.0] template <typename T> QMetaAssociation QMetaAssociation::fromContainer()
Devuelve el QMetaAssociation correspondiente al tipo dado como parámetro de plantilla.
Esta función se introdujo en Qt 6.0.
void QMetaAssociation::insertKey(void *container, const void *key) const
Inserta el key en el container si es posible. Si el contenedor tiene valores asignados, se asocia un valor asignado creado por defecto a key.
Véase también canInsertKey().
void QMetaAssociation::keyAtConstIterator(const void *iterator, void *key) const
Recupera la clave apuntada por la const iterator y la almacena en la posición de memoria apuntada por key, si es posible.
Véase también canGetKeyAtConstIterator(), constBegin(), constEnd() y createConstIteratorAtKey().
void QMetaAssociation::keyAtIterator(const void *iterator, void *key) const
Recupera la clave apuntada por el no-const iterator y la almacena en la posición de memoria apuntada por key, si es posible.
Véase también canGetKeyAtIterator(), begin(), end() y createIteratorAtKey().
QMetaType QMetaAssociation::keyMetaType() const
Devuelve el metatipo de las claves del contenedor.
void QMetaAssociation::mappedAtConstIterator(const void *iterator, void *mapped) const
Recupera el valor mapeado apuntado por la const iterator y lo almacena en la posición de memoria apuntada por mapped, si es posible.
Véase también canGetMappedAtConstIterator(), constBegin(), constEnd() y createConstIteratorAtKey().
void QMetaAssociation::mappedAtIterator(const void *iterator, void *mapped) const
Recupera el valor mapeado apuntado por el no-const iterator y lo almacena en la posición de memoria apuntada por mapped, si es posible.
Véase también setMappedAtIterator(), canGetMappedAtIterator(), begin(), end() y createIteratorAtKey().
void QMetaAssociation::mappedAtKey(const void *container, const void *key, void *mapped) const
Recupera el valor mapeado asociado con el key en el container y lo coloca en la ubicación de memoria apuntada por mapped, si eso es posible.
Véase también setMappedAtKey() y canGetMappedAtKey().
QMetaType QMetaAssociation::mappedMetaType() const
Devuelve el metatipo de los valores asignados en el contenedor.
void QMetaAssociation::removeKey(void *container, const void *key) const
Elimina el key y su valor mapeado asociado del container si es posible.
Véase también canRemoveKey().
void QMetaAssociation::setMappedAtIterator(const void *iterator, const void *mapped) const
Escribe el valor mapped en la ubicación del contenedor apuntada por el no-const iterator, si es posible.
Véase también mappedAtIterator(), canSetMappedAtIterator(), begin(), end(), y createIteratorAtKey().
void QMetaAssociation::setMappedAtKey(void *container, const void *key, const void *mapped) const
Sobrescribe el valor asociado a key en container utilizando el valor mapped pasado como argumento si es posible.
Véase también mappedAtKey() y canSetMappedAtKey().
No miembros relacionados
[noexcept] bool operator!=(const QMetaAssociation &lhs, const QMetaAssociation &rhs)
Devuelve true si el QMetaAssociation lhs representa un tipo de contenedor diferente al QMetaAssociation rhs , en caso contrario devuelve false.
[noexcept] bool operator==(const QMetaAssociation &lhs, const QMetaAssociation &rhs)
Devuelve true si el QMetaAssociation lhs representa el mismo tipo de contenedor que el QMetaAssociation rhs , en caso contrario devuelve 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.