用于protobuf消息比较的C宏

时间:2018-03-19 10:59:04

标签: c++ macros protocol-buffers proto3

我的目标是比较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 个答案:

没有答案