0

我的目标是比较 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() );
4

0 回答 0