История изменений
Исправление cvprog, (текущая версия) :
мне нужно всего лишь распарсить принятое сообщение, id которого известно. Я хочу написать один парсер для всех сообщений (он делает одинаковые проверки и затем собирает протобуфный класс из байтиков в строке). Сообщений очень много ... за 100.
С шаблонноей функцией все Ок. Интересно, а без шаблонов это реально??
string mess = ...;
moo::Message1 = Parse(mess, 1);
вот чуть-чуть чего-та не хватает
ЧТОТО Parse(std::string m, int id) {
// ... действия всякие
if (id == 1) {
moo::Message1 res;
res.ParseFromString(m);
res.PrintDebugString();
return res;
}
if (id == 2) {
moo::Message2 res;
res.ParseFromString(m);
res.PrintDebugString();
return res;
}
// ...:w
}
Исходная версия cvprog, :
мне нужно всего лишь распарсить принятое сообщение, id которого известно. Я хочу написать один парсер для всех сообщений (он делает одинаковые проверки и затем собирает протобуфный класс из байтиков в строке)
С шаблонноей функцией все Ок. Интересно, а без шаблонов это реально??
string mess = ...;
moo::Message1 = Parse(mess, 1);
вот чуть-чуть чего-та не хватает
ЧТОТО Parse(std::string m, int id) {
// ... действия всякие
if (id == 1) {
moo::Message1 res;
res.ParseFromString(m);
res.PrintDebugString();
return res;
}
if (id == 2) {
moo::Message2 res;
res.ParseFromString(m);
res.PrintDebugString();
return res;
}
// ...:w
}