Расширение Protobuf моими собственными методами

Как мне добавить методы в сообщение Protobuf?

Предположим, у меня есть в моем файле .proto:

package proto;
message Person {
  required string name = 1;
  required int32 id = 2;
  optional string email = 3;    
}

и я хочу добавить метод, скажем, string concatenateNameEmail () к сообщению.

Что я делаю прямо сейчас, я создаю свой собственный класс C ++ следующим образом:

class Person : public proto::Person
{
public:
  Person( proto::Person const & person_ )
  : proto::Person(person_)
  {}

  string concateNateNameEmail()
  {
   ...
  }
};

Таким образом, обратная сторона - мне нужно вызвать конструктор копии proto :: Person. Есть ли более элегантное решение, чем это?

10
задан sivabudh 9 October 2010 в 19:13
поделиться