c++ - Protobuf类型和变体数组类型

标签 c++ c++17 protocol-buffers

我正在查看proto3文档,但我不清楚是否可以为用例创建规则。在c++中,等效项将具有以下声明:

 using Variant = std::variant<bool, int32_t, uint32_t, int64_t, uint64_t, float, double>;

 using Data = std::vector<std::vector<Variant>>;
是否可以使用protobuf描述“数据”?根据我的理解,它可能应该类似于“重复重复任何”。

最佳答案

您不能重复重复Any。尝试以下代码:

message SubData {
    repeated google.protobuf.Any element = 1;
}

message Data {
    repeated SubData sub_data = 1;
}

关于c++ - Protobuf类型和变体数组类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63792534/

相关文章:

c++ - std::chrono::duration::max() 不适用于线程支持库

python - 有没有办法将 Protocol Buffer 编译成纯 python 代码?

hadoop - 我们如何为 HDFS(Hadoop 分布式文件系统)开发代理

c++ - 将子 QGraphicsItem 约束到场景?

C++ Do - While 循环直到字符串满足特定条件

c++ - 如何在 OpenCV 64FC1 矩阵中设置值

c++ - c-style this 或 shared_from_this 作为函数参数

c++ - C 系统调用 pipe、fork 和 execl

c++ - inline static auto 的 Initializer "sizeof(T)"...是否需要实例化?

protobuf中不同包文件的导入和使用?