Leyendo en Protocol Buffer Basics: C++, no encontró nada que coincida con la situación :; con la siguiente .proto procesado con --cpp_out
,Protobuf: ¿cómo los campos opcionales anidados (personalizados) deben manejarse en C++?
message A {
required int32 foo = 1;
}
message B {
optional A data = 1;
}
se genera ningún
obviamente buscando descriptor de acceso/definidor para establecer campo personalizado opcional (incluida la sección '' tipos anidados, que soy demasiado perezoso para poner aquí):
// accessors -------------------------------------------------------
// optional .A = 1;
inline bool has_a() const;
inline void clear_a();
static const int kAFieldNumber = 1;
inline const ::A& a() const;
inline ::A* mutable_a();
inline ::A* release_a();
Así que, cómo configurar B :: A en alguna instancia A en C++?
archivos de prueba: .proto, generan resultados: .h, .cc y algunos .java
UPD: en Java, los campos anidados se ajustan a través del constructor: ver enlace anterior, por ejemplo (se ven para setData).