Повторные вложенные сообщения в protobuf-c - PullRequest
1 голос
/ 05 марта 2011

Может кто-нибудь дать мне пример упаковки \ распаковки сообщения с повторяющимся под-сообщением в protobuf-c ?

Официальная документация в пусто по этому вопросу.

Ответы [ 2 ]

2 голосов
/ 24 апреля 2011
message B {
  required int64 i = 1;
};

message A {
  repeated B numbers = 1;
};

A a;
a.ParseFromString(<str>)
for (int i = 0; i < a.numbers_size(); ++i) {
  const B& b = a.numbers(i);
  printf("%d\n", b.i());
}
0 голосов
/ 14 мая 2011

Раздел «Чтение сообщения» учебника Google по С ++ содержит соответствующий пример кода: http://code.google.com/apis/protocolbuffers/docs/cpptutorial.html

Кроме того, for_each в STL также работает нормально (синтаксический сахар, более или менее): std ::for_each (a.numbers (). begin (), a.numbers (). end (), [] (const B & b) {std :: cout << bi () << std :: endl;}); </p>

...