2012-05-31 31 views
18

Tôi muốn so sánh hai đối tượng google::protobuf::Message tùy ý.Cách đơn giản nhất để so sánh hai đối tượng google :: protobuf :: Message với nhau là gì?

tôi cho rằng đối tượng đều bình đẳng khi

  • giới thiệu của họ chứa các lĩnh vực với số lĩnh vực bình đẳng và các loại lĩnh vực tương ứng.
  • phản ánh của chúng có cùng một tập hợp các trường (và cùng số trường lặp lại) và giá trị trường tương ứng bằng nhau.

Tôi biết, tôi có thể tự viết chức năng so sánh đó, nhưng có thể đã có một số giải pháp đơn giản hoặc được xác định trước?

Ngoài ra, có thể tôi đang thiếu một số vấn đề chính về tính không thể so sánh của các đối tượng như vậy - Tôi muốn biết nếu có.

+0

bản sao có thể có của [Bộ đệm giao thức Google so sánh] (http://stackoverflow.com/questions/3228107/google-protocol-buffers-compare) – Theolodis

Trả lời

8

Từ https://groups.google.com/d/msg/protobuf/5sOExQkB2eQ/ZSBNZI0K54YJ:

Trong C++, bạn có thể serialize hai và so sánh các byte. Hoặc, bạn có thể viết một số mã lặp lại trên các trường thông qua sự phản chiếu và so sánh chúng.

+0

Nếu thư của bạn có trường loại bản đồ. Điều này có thể không hoạt động. – nullas

Các vấn đề liên quan