Sur cette page

QtProtobuf::Any Class

class QtProtobuf::Any

Une 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)
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 :

QByteArray value() const
void setValue(const QByteArray &value)

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.