【发布时间】:2017-12-21 19:12:01
【问题描述】:
我想修改protobuf中定义的数据结构,proto是这样的:
message DoubleMap {
map<string, double> double_map = 1
}
message DoubleVector {
map<string, DoubleMap> double_vector = 1
}
message Data {
repeated DoubleVector data = 1
}
我需要对 Data 进行新建、修改和删除,如果数据结构是用 C++ 定义的,那会容易得多。我的问题是我是否需要一个加载器来接受 protobuf 输入并在 C++ 中构建数据结构?还是基于 protobuf 生成的函数构建我自己的辅助函数?
【问题讨论】:
-
protoc编译器根据您的 .proto 定义生成的 C++ 类有什么问题?他们缺少哪些你认为需要的东西? -
“我需要”你希望别人如何告诉你你需要什么?
-
如果给定
Data d,我想访问DoubleMap 中的一个双精度值,例如d.data.double_vector.double_map["key"]。然后,如果我只是在 protoc 生成的代码中使用辅助函数,那么它是超长的。
标签: c++ protocol-buffers protobuf-c