我有一个test.proto
中定义的protobuf的示例消息类型message SearchRequest {
required string query = 1;
optional int32 page_number = 2;
optional int32 result_per_page = 3;
}
在.cpp中,我正在尝试做类似的事情:
SearchRequest req;
//some code
IoBuffer buf;
size_t len = req.byteSize();
req.SerializeToArray(buf, len);
但我在.pb.cc文件中看不到SerializeToArray
,我只能找到SerializeWithCachedSizes
。
答案 0 :(得分:0)
大多数序列化和解析方法都是从基类google::protobuf::Message
和google::protobuf::MessageLite
继承而来的。它们都是虚拟方法SerializeWithCachedSizes()
,SerializeWithCachedSizesToArray()
,ByteSize()
和(用于解析)MergePartialFromCodedStream()
的包装器(但您不应该直接使用这些虚方法,除了ByteSize()
)。