QtProtobuf::Any Class
class QtProtobuf::AnyUna clase de ayuda para simplificar el trabajo con el tipo protobuf Any. Más...
| Cabecera: | #include <Any> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS ProtobufWellKnownTypes)target_link_libraries(mytarget PRIVATE Qt6::ProtobufWellKnownTypes) |
| qmake: | QT += protobufwellknowntypes |
| Desde: | Qt 6.6 |
| Hereda: | QProtobufMessage |
Esta clase es igual-comparable.
Propiedades
Funciones públicas
| Any() | |
| Any(const QtProtobuf::Any &other) | |
| ~Any() | |
| void | setTypeUrl(const QString &typeUrl) |
| void | setValue(const QByteArray &value) |
| QString | typeUrl() const |
| std::optional<T> | unpack(QAbstractProtobufSerializer *serializer) const |
| QByteArray | value() const |
| QtProtobuf::Any & | operator=(const QtProtobuf::Any &other) |
Miembros públicos estáticos
| QtProtobuf::Any | fromMessage(QAbstractProtobufSerializer *serializer, const T &message, QAnyStringView typeUrlPrefix) |
No miembros relacionados
| bool | operator!=(const QtProtobuf::Any &lhs, const QtProtobuf::Any &rhs) |
| bool | operator==(const QtProtobuf::Any &lhs, const QtProtobuf::Any &rhs) |
Descripción detallada
La clase Any permite una fácil conversión desde y hacia otros tipos utilizando as() y fromMessage().
Es el tipo utilizado en el código generado por qtprotobufgen cuando un mensaje contiene un campo del tipo google.protobuf.Any.
Documentación de propiedades
typeUrl : QString
Esta propiedad contiene el tipo de URL del objeto Any. La URL está pensada como una pista de lo que realmente son los datos contenidos.
Nota: Qt no tiene soporte para obtener dinámicamente ninguna receta potencial para deconstruir tipos y simplemente utiliza la URL de tipo para verificar que los tipos pasados como T a as<T>() son del tipo correcto.
Funciones de acceso:
| QString | typeUrl() const |
| void | setTypeUrl(const QString &typeUrl) |
Véase también value.
value : QByteArray
Esta propiedad contiene los bytes brutos que componen el valor almacenado en el objeto Any.
Consulte typeUrl para determinar cómo interpretar estos bytes.
Funciones de acceso:
Véase también typeUrl.
Documentación de las funciones miembro
Any::Any()
Construye una instancia vacía por defecto de Any.
Any::Any(const QtProtobuf::Any &other)
Construye una copia de other.
[noexcept] Any::~Any()
Destruye esta instancia de Any
[static] template <typename T> QtProtobuf::Any Any::fromMessage(QAbstractProtobufSerializer *serializer, const T &message, QAnyStringView typeUrlPrefix)
Esta función serializa el message dado como el valor de la instancia Any devuelta. El typeUrl() de esta instancia se construye a partir de un prefijo, una barra oblicua y el nombre del mensaje obtenido de QProtobufMessage::propertyOrdering utilizando serializer. Si se proporciona typeUrlPrefix, se utiliza como prefijo, en caso contrario se utiliza "type.googleapis.com".
Nota: T debe ser una clase derivada de QProtobufMessage con la macro Q_PROTOBUF_OBJECT o (para un mensaje Any anidado) ser el propio Any.
void Any::setTypeUrl(const QString &typeUrl)
Establece el tipo URL para los datos contenidos en typeUrl.
Nota: No se realiza ninguna verificación de la entrada para comprobar si es correcta o tiene un formato válido.
Nota: Función setter para la propiedad typeUrl.
Véase también typeUrl() y fromMessage().
void Any::setValue(const QByteArray &value)
Establece los bytes brutos del valor almacenado en value.
value debe ser la salida de la serialización de un mensaje.
Nota: Función Setter para la propiedad value.
Véase también value() y fromMessage().
QString Any::typeUrl() const
Devuelve la URL de tipo del objeto Any. La URL está pensada como una pista de lo que realmente son los datos contenidos.
Nota: Qt no tiene soporte para obtener dinámicamente ninguna receta potencial para deconstruir tipos y simplemente usa la URL de tipo para verificar que los tipos pasados como T a as<T>() son del tipo correcto.
Nota: Función Getter para la propiedad typeUrl.
Véase también setTypeUrl() y value().
template <typename T> std::optional<T> Any::unpack(QAbstractProtobufSerializer *serializer) const
Esta función compara el nombre del mensaje de T con el valor de typeUrl() antes de deserializar los datos utilizando serializer.
Si la verificación o deserialización falla devolverá std::nullopt.
Nota: T debe ser una clase derivada de QProtobufMessage con la macro Q_PROTOBUF_OBJECT o (para un mensaje Any anidado) ser la propia Any.
QByteArray Any::value() const
Devuelve los bytes brutos que componen el valor almacenado.
Consulte typeUrl() para determinar cómo interpretar estos bytes.
Nota: Función Getter para el valor de la propiedad.
Véase también setValue() y typeUrl().
QtProtobuf::Any &Any::operator=(const QtProtobuf::Any &other)
Copia los datos de other en esta instancia.
Relacionados No miembros
[noexcept] bool operator!=(const QtProtobuf::Any &lhs, const QtProtobuf::Any &rhs)
Devuelve true si las dos instancias de Any, lhs y rhs, son distintas.
[noexcept] bool operator==(const QtProtobuf::Any &lhs, const QtProtobuf::Any &rhs)
Devuelve true si las dos instancias de Any, lhs y rhs, se comparan igual.
© 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.