Макрос C для сравнения протобуф-сообщений

Моя цель — сравнить некоторые поля в сообщениях protobuf. Я пробовал MessageDifferencer, но я не хочу использовать отражение. Я использую protobuf 3.4.0.

Временные переменные хранятся в известных типах protobuf, таких как google.protobuf.Duration и google.protobuf.Timestamp.

Я хотел бы использовать макрос, который принимает два объекта и имя поля:

CHECK_GPS_TIME ( expectedGps, storedGps, gps_time );

Я ожидаю следующий результат:

CHECK ( expectedGps.gps_time().seconds() == storedGps.gps_time().seconds() );

У меня уже есть макрос для простых типов:

#define CHECK_GPS_FIELD(expected, stored, field) CHECK( expected.field() == stored.field() );

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]