25 const proto::AddImuDataRequest &proto) {
27 const auto *dispatchable =
29 CHECK_NOTNULL(dispatchable);
30 return google::protobuf::util::MessageDifferencer::Equals(
32 dispatchable->GetSensorId() == proto.sensor_metadata().sensor_id();
38 const proto::AddFixedFramePoseDataRequest &proto) {
40 const auto *dispatchable =
43 CHECK_NOTNULL(dispatchable);
44 return google::protobuf::util::MessageDifferencer::Equals(
46 proto.fixed_frame_pose_data()) &&
47 dispatchable->GetSensorId() == proto.sensor_metadata().sensor_id();
53 const proto::AddOdometryDataRequest &proto) {
55 const auto *dispatchable =
57 CHECK_NOTNULL(dispatchable);
58 return google::protobuf::util::MessageDifferencer::Equals(
60 dispatchable->GetSensorId() == proto.sensor_metadata().sensor_id();
66 const proto::AddLandmarkDataRequest &proto) {
68 const auto *dispatchable =
70 CHECK_NOTNULL(dispatchable);
71 return google::protobuf::util::MessageDifferencer::Equals(
73 dispatchable->GetSensorId() == proto.sensor_metadata().sensor_id();
79 const proto::AddRangefinderDataRequest &proto) {
81 const auto *dispatchable =
84 CHECK_NOTNULL(dispatchable);
85 return google::protobuf::util::MessageDifferencer::Equals(
87 proto.timed_point_cloud_data()) &&
88 dispatchable->GetSensorId() == proto.sensor_metadata().sensor_id();
93 const google::protobuf::Message *proto) {
94 return [proto](
const google::protobuf::Message &message) {
95 return google::protobuf::util::MessageDifferencer::Equals(*proto, message);
std::function< bool(const google::protobuf::Message &)> ProtoPredicateType
proto::FixedFramePoseData ToProto(const FixedFramePoseData &pose_data)
ProtoPredicateType BuildProtoPredicateEquals(const google::protobuf::Message *proto)
std::function< bool(const sensor::Data &)> DataPredicateType