И это всё МОЁ

Есть протокол 1

package ru.cow.moo;
message Message1 {
string Id = 1;
int32 code = 2;
# очень много полей далее
}

и другой протокол 2, использующий Message1 точно такое же как в протоколе 1

package ru.dog.woof;
message Message1 {
string Id = 1;
int32 code = 2;
# очень много полей далее
}

Прилетело сообщение из первого протокола типа Message1

ru::cow::moo::Message1 cow_mess1;
cow_mess1.set_id("123";);
cow_mess1.set_code(1);
// туча полей

Как можно просто привести сообщение с одинаковыми полями из одного протокола в другой без перебора всех полей?

ru::dog::woof::Message1 gav_mess1;
gav_mess1 = protobuf_cast<ru::dog::woof::Message1>(cow_mess1); // ???








 ,