QtProtobuf::Any Class
class QtProtobuf::AnyUne classe d'aide pour simplifier le travail avec le type protobuf Any. Plus...
| En-tête : | #include <Any> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS ProtobufWellKnownTypes)target_link_libraries(mytarget PRIVATE Qt6::ProtobufWellKnownTypes) |
| qmake : | QT += protobufwellknowntypes |
| Depuis : | Qt 6.6 |
| Hérite : | QProtobufMessage |
Cette classe est comparable à l'égalité.
Propriétés
Fonctions publiques
| 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) |
Membres publics statiques
| QtProtobuf::Any | fromMessage(QAbstractProtobufSerializer *serializer, const T &message, QAnyStringView typeUrlPrefix) |
Non-membres apparentés
| bool | operator!=(const QtProtobuf::Any &lhs, const QtProtobuf::Any &rhs) |
| bool | operator==(const QtProtobuf::Any &lhs, const QtProtobuf::Any &rhs) |
Description détaillée
La classe Any permet d'effectuer facilement un casting vers et depuis d'autres types en utilisant as() et fromMessage().
C'est le type utilisé dans le code généré par qtprotobufgen lorsqu'un message contient un champ de type google.protobuf.Any.
Documentation sur les propriétés
typeUrl : QString
Cette propriété contient le type d'URL de l'objet Any. L'URL est un indice de ce que sont réellement les données contenues.
Remarque : Qt ne prend pas en charge l'obtention dynamique de recettes potentielles pour la déconstruction des types et utilise simplement l'URL de type pour vérifier que les types transmis en tant que T à as<T>() sont du bon type.
Fonctions d'accès :
| QString | typeUrl() const |
| void | setTypeUrl(const QString &typeUrl) |
Voir également value.
value : QByteArray
Cette propriété contient les octets bruts qui composent la valeur stockée dans l'objet Any.
Consultez typeUrl pour savoir comment interpréter ces octets.
Fonctions d'accès :
Voir également typeUrl.
Documentation sur les fonctions membres
Any::Any()
Construit une instance vide par défaut de Any.
Any::Any(const QtProtobuf::Any &other)
Construit une copie de other.
[noexcept] Any::~Any()
Détruit cette instance de Any
[static] template <typename T> QtProtobuf::Any Any::fromMessage(QAbstractProtobufSerializer *serializer, const T &message, QAnyStringView typeUrlPrefix)
Cette fonction sérialise le message message en tant que valeur de l'instance Any renvoyée. L'instance typeUrl() est construite à partir d'un préfixe, d'une barre oblique et du nom du message obtenu à partir de QProtobufMessage::propertyOrdering en utilisant serializer. Si typeUrlPrefix est fourni, il est utilisé comme préfixe, sinon "type.googleapis.com" est utilisé.
Note : T doit être une classe dérivée de QProtobufMessage avec la macro Q_PROTOBUF_OBJECT ou (pour un message Any imbriqué) être Any lui-même.
void Any::setTypeUrl(const QString &typeUrl)
Définit le type d'URL pour les données contenues dans typeUrl.
Note : Aucune vérification n'est effectuée sur l'entrée pour tester si elle est correcte ou dans un format valide.
Note : Fonction de définition de la propriété typeUrl.
Voir aussi typeUrl() et fromMessage().
void Any::setValue(const QByteArray &value)
Définit les octets bruts de la valeur stockée sur value.
value doit être le résultat de la sérialisation d'un message.
Remarque : fonction de définition de la propriété value.
Voir également value() et fromMessage().
QString Any::typeUrl() const
Renvoie le type d'URL de l'objet Any. L'URL est conçue comme un indice de ce que sont réellement les données contenues.
Note : Qt n'a pas de support pour obtenir dynamiquement des recettes potentielles de déconstruction des types et utilise simplement l'URL de type pour vérifier que les types passés en tant que T à as<T>() sont du bon type.
Note : Fonction Getter pour la propriété typeUrl.
Voir aussi setTypeUrl() et value().
template <typename T> std::optional<T> Any::unpack(QAbstractProtobufSerializer *serializer) const
Cette fonction compare le nom du message de T avec la valeur de typeUrl() avant de désérialiser les données à l'aide de serializer.
Si la vérification ou la désérialisation échoue, elle renvoie std::nullopt.
Remarque : T doit être une classe dérivée de QProtobufMessage avec la macro Q_PROTOBUF_OBJECT ou (pour un message Any imbriqué) être Any lui-même.
QByteArray Any::value() const
Renvoie les octets bruts qui composent la valeur stockée.
Consultez typeUrl() pour savoir comment interpréter ces octets.
Remarque : fonction Getter pour la valeur d'une propriété.
Voir également setValue() et typeUrl().
QtProtobuf::Any &Any::operator=(const QtProtobuf::Any &other)
Copie les données de other dans cette instance.
Non-membres apparentés
[noexcept] bool operator!=(const QtProtobuf::Any &lhs, const QtProtobuf::Any &rhs)
Retourne vrai si les deux instances de Any, lhs et rhs, sont distinctes.
[noexcept] bool operator==(const QtProtobuf::Any &lhs, const QtProtobuf::Any &rhs)
Retourne vrai si les deux instances de Any, lhs et rhs, sont égales.
© 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.