#include <message_differencer.h>
Classes | |
class | IgnoreCriteria |
class | MapEntryKeyComparator |
class | MapKeyComparator |
class | MultipleFieldsMapKeyComparator |
class | Reporter |
struct | SpecificField |
class | StreamReporter |
Public Types | |
enum | FloatComparison { EXACT, APPROXIMATE } |
enum | MessageFieldComparison { EQUAL, EQUIVALENT } |
enum | RepeatedFieldComparison { AS_LIST, AS_SET, AS_SMART_LIST, AS_SMART_SET } |
enum | Scope { FULL, PARTIAL } |
Static Public Member Functions | |
static bool | ApproximatelyEquals (const Message &message1, const Message &message2) |
static bool | ApproximatelyEquivalent (const Message &message1, const Message &message2) |
static bool | Equals (const Message &message1, const Message &message2) |
static bool | Equivalent (const Message &message1, const Message &message2) |
Private Types | |
typedef std::map< const FieldDescriptor *, const MapKeyComparator * > | FieldKeyComparatorMap |
typedef std::map< const FieldDescriptor *, RepeatedFieldComparison > | FieldMap |
typedef std::set< const FieldDescriptor * > | FieldSet |
Private Member Functions | |
void | CheckRepeatedFieldComparisons (const FieldDescriptor *field, const RepeatedFieldComparison &new_comparison) |
FieldDescriptorArray | CombineFields (const FieldDescriptorArray &fields1, Scope fields1_scope, const FieldDescriptorArray &fields2, Scope fields2_scope) |
bool | Compare (const Message &message1, const Message &message2, std::vector< SpecificField > *parent_fields) |
bool | CompareFieldValue (const Message &message1, const Message &message2, const FieldDescriptor *field, int index1, int index2) |
bool | CompareFieldValueUsingParentFields (const Message &message1, const Message &message2, const FieldDescriptor *field, int index1, int index2, std::vector< SpecificField > *parent_fields) |
bool | CompareRepeatedField (const Message &message1, const Message &message2, const FieldDescriptor *field, std::vector< SpecificField > *parent_fields) |
bool | CompareRequestedFieldsUsingSettings (const Message &message1, const Message &message2, const FieldDescriptorArray &message1_fields, const FieldDescriptorArray &message2_fields, std::vector< SpecificField > *parent_fields) |
bool | CompareUnknownFields (const Message &message1, const Message &message2, const UnknownFieldSet &, const UnknownFieldSet &, std::vector< SpecificField > *parent_fields) |
bool | CompareWithFieldsInternal (const Message &message1, const Message &message2, const FieldDescriptorArray &message1_fields, const FieldDescriptorArray &message2_fields, std::vector< SpecificField > *parent_fields) |
FieldComparator::ComparisonResult | GetFieldComparisonResult (const Message &message1, const Message &message2, const FieldDescriptor *field, int index1, int index2, const FieldContext *field_context) |
const MapKeyComparator * | GetMapKeyComparator (const FieldDescriptor *field) const |
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS (MessageDifferencer) | |
bool | IsIgnored (const Message &message1, const Message &message2, const FieldDescriptor *field, const std::vector< SpecificField > &parent_fields) |
bool | IsMatch (const FieldDescriptor *repeated_field, const MapKeyComparator *key_comparator, const Message *message1, const Message *message2, const std::vector< SpecificField > &parent_fields, Reporter *reporter, int index1, int index2) |
bool | IsTreatedAsSet (const FieldDescriptor *field) |
bool | IsTreatedAsSmartList (const FieldDescriptor *field) |
bool | IsTreatedAsSmartSet (const FieldDescriptor *field) |
bool | IsTreatedAsSubset (const FieldDescriptor *field) |
bool | IsUnknownFieldIgnored (const Message &message1, const Message &message2, const SpecificField &field, const std::vector< SpecificField > &parent_fields) |
bool | MatchRepeatedFieldIndices (const Message &message1, const Message &message2, const FieldDescriptor *repeated_field, const MapKeyComparator *key_comparator, const std::vector< SpecificField > &parent_fields, std::vector< int > *match_list1, std::vector< int > *match_list2) |
FieldDescriptorArray | RetrieveFields (const Message &message, bool base_message) |
void | SetMatchIndicesForSmartListCallback (std::function< void(std::vector< int > *, std::vector< int > *)> callback) |
bool | UnpackAny (const Message &any, std::unique_ptr< Message > *data) |
Static Private Member Functions | |
static bool | CheckPathChanged (const std::vector< SpecificField > &parent_fields) |
static bool | FieldBefore (const FieldDescriptor *field1, const FieldDescriptor *field2) |
Private Attributes | |
DefaultFieldComparator | default_field_comparator_ |
std::unique_ptr< DynamicMessageFactory > | dynamic_message_factory_ |
FieldComparator * | field_comparator_ |
std::vector< IgnoreCriteria * > | ignore_criteria_ |
FieldSet | ignored_fields_ |
MapEntryKeyComparator | map_entry_key_comparator_ |
FieldKeyComparatorMap | map_field_key_comparator_ |
std::function< void(std::vector< int > *, std::vector< int > *)> | match_indices_for_smart_list_callback_ |
MessageFieldComparison | message_field_comparison_ |
std::string * | output_string_ |
std::vector< MapKeyComparator * > | owned_key_comparators_ |
RepeatedFieldComparison | repeated_field_comparison_ |
FieldMap | repeated_field_comparisons_ |
bool | report_ignores_ |
bool | report_matches_ |
bool | report_moves_ |
Reporter * | reporter_ |
Scope | scope_ |
std::vector< const FieldDescriptor * > | tmp_message_fields_ |
Friends | |
class | DefaultFieldComparator |
Definition at line 120 of file message_differencer.h.
|
private |
Definition at line 854 of file message_differencer.h.
|
private |
Definition at line 859 of file message_differencer.h.
|
private |
Definition at line 858 of file message_differencer.h.
Enumerator | |
---|---|
EXACT | |
APPROXIMATE |
Definition at line 367 of file message_differencer.h.
Enumerator | |
---|---|
EQUAL | |
EQUIVALENT |
Definition at line 350 of file message_differencer.h.
Enumerator | |
---|---|
AS_LIST | |
AS_SET | |
AS_SMART_LIST | |
AS_SMART_SET |
Definition at line 373 of file message_differencer.h.
Enumerator | |
---|---|
FULL | |
PARTIAL |
Definition at line 359 of file message_differencer.h.
|
explicit |
Definition at line 265 of file message_differencer.cc.
google::protobuf::util::MessageDifferencer::~MessageDifferencer | ( | ) |
Definition at line 279 of file message_differencer.cc.
void google::protobuf::util::MessageDifferencer::AddIgnoreCriteria | ( | IgnoreCriteria * | ignore_criteria | ) |
Definition at line 436 of file message_differencer.cc.
|
static |
Definition at line 246 of file message_differencer.cc.
|
static |
Definition at line 254 of file message_differencer.cc.
|
staticprivate |
Definition at line 1114 of file message_differencer.cc.
|
private |
Definition at line 313 of file message_differencer.cc.
|
private |
Definition at line 668 of file message_differencer.cc.
bool google::protobuf::util::MessageDifferencer::Compare | ( | const Message & | message1, |
const Message & | message2 | ||
) |
Definition at line 482 of file message_differencer.cc.
|
private |
Definition at line 547 of file message_differencer.cc.
|
private |
Definition at line 1063 of file message_differencer.cc.
|
private |
Definition at line 1071 of file message_differencer.cc.
|
private |
Definition at line 916 of file message_differencer.cc.
|
private |
Definition at line 629 of file message_differencer.cc.
|
private |
Definition at line 1250 of file message_differencer.cc.
bool google::protobuf::util::MessageDifferencer::CompareWithFields | ( | const Message & | message1, |
const Message & | message2, | ||
const std::vector< const FieldDescriptor * > & | message1_fields, | ||
const std::vector< const FieldDescriptor * > & | message2_fields | ||
) |
Definition at line 502 of file message_differencer.cc.
|
private |
Definition at line 705 of file message_differencer.cc.
MessageDifferencer::MapKeyComparator * google::protobuf::util::MessageDifferencer::CreateMultipleFieldsMapKeyComparator | ( | const std::vector< std::vector< const FieldDescriptor * > > & | key_field_paths | ) |
Definition at line 1962 of file message_differencer.cc.
|
static |
Definition at line 231 of file message_differencer.cc.
|
static |
Definition at line 238 of file message_differencer.cc.
|
staticprivate |
Definition at line 466 of file message_differencer.cc.
|
private |
Definition at line 1709 of file message_differencer.cc.
|
private |
Definition at line 1186 of file message_differencer.cc.
|
private |
void google::protobuf::util::MessageDifferencer::IgnoreField | ( | const FieldDescriptor * | field | ) |
Definition at line 440 of file message_differencer.cc.
|
private |
Definition at line 1156 of file message_differencer.cc.
|
private |
Definition at line 873 of file message_differencer.cc.
|
private |
Definition at line 1124 of file message_differencer.cc.
|
private |
Definition at line 1142 of file message_differencer.cc.
|
private |
Definition at line 1133 of file message_differencer.cc.
|
private |
Definition at line 1151 of file message_differencer.cc.
|
private |
Definition at line 1172 of file message_differencer.cc.
|
private |
Definition at line 1575 of file message_differencer.cc.
Definition at line 456 of file message_differencer.cc.
void google::protobuf::util::MessageDifferencer::ReportDifferencesToString | ( | std::string * | output | ) |
Definition at line 449 of file message_differencer.cc.
|
private |
Definition at line 598 of file message_differencer.cc.
MessageDifferencer::Scope google::protobuf::util::MessageDifferencer::scope | ( | ) |
Definition at line 300 of file message_differencer.cc.
void google::protobuf::util::MessageDifferencer::set_field_comparator | ( | FieldComparator * | comparator | ) |
Definition at line 288 of file message_differencer.cc.
void google::protobuf::util::MessageDifferencer::set_float_comparison | ( | FloatComparison | comparison | ) |
Definition at line 302 of file message_differencer.cc.
void google::protobuf::util::MessageDifferencer::set_message_field_comparison | ( | MessageFieldComparison | comparison | ) |
Definition at line 293 of file message_differencer.cc.
void google::protobuf::util::MessageDifferencer::set_repeated_field_comparison | ( | RepeatedFieldComparison | comparison | ) |
Definition at line 308 of file message_differencer.cc.
|
inline |
Definition at line 548 of file message_differencer.h.
|
inline |
Definition at line 537 of file message_differencer.h.
|
inline |
Definition at line 544 of file message_differencer.h.
Definition at line 298 of file message_differencer.cc.
void google::protobuf::util::MessageDifferencer::SetFractionAndMargin | ( | const FieldDescriptor * | field, |
double | fraction, | ||
double | margin | ||
) |
Definition at line 444 of file message_differencer.cc.
|
private |
Definition at line 341 of file message_differencer.cc.
void google::protobuf::util::MessageDifferencer::TreatAsList | ( | const FieldDescriptor * | field | ) |
Definition at line 346 of file message_differencer.cc.
void google::protobuf::util::MessageDifferencer::TreatAsMap | ( | const FieldDescriptor * | field, |
const FieldDescriptor * | key | ||
) |
Definition at line 356 of file message_differencer.cc.
void google::protobuf::util::MessageDifferencer::TreatAsMapUsingKeyComparator | ( | const FieldDescriptor * | field, |
const MapKeyComparator * | key_comparator | ||
) |
Definition at line 424 of file message_differencer.cc.
void google::protobuf::util::MessageDifferencer::TreatAsMapWithMultipleFieldPathsAsKey | ( | const FieldDescriptor * | field, |
const std::vector< std::vector< const FieldDescriptor * > > & | key_field_paths | ||
) |
Definition at line 387 of file message_differencer.cc.
void google::protobuf::util::MessageDifferencer::TreatAsMapWithMultipleFieldsAsKey | ( | const FieldDescriptor * | field, |
const std::vector< const FieldDescriptor * > & | key_fields | ||
) |
Definition at line 375 of file message_differencer.cc.
void google::protobuf::util::MessageDifferencer::TreatAsSet | ( | const FieldDescriptor * | field | ) |
Definition at line 331 of file message_differencer.cc.
void google::protobuf::util::MessageDifferencer::TreatAsSmartList | ( | const FieldDescriptor * | field | ) |
Definition at line 351 of file message_differencer.cc.
void google::protobuf::util::MessageDifferencer::TreatAsSmartSet | ( | const FieldDescriptor * | field | ) |
Definition at line 336 of file message_differencer.cc.
|
private |
Definition at line 1216 of file message_differencer.cc.
|
friend |
Definition at line 683 of file message_differencer.h.
|
private |
Definition at line 862 of file message_differencer.h.
|
private |
Definition at line 894 of file message_differencer.h.
|
private |
Definition at line 863 of file message_differencer.h.
|
private |
Definition at line 878 of file message_differencer.h.
|
private |
Definition at line 882 of file message_differencer.h.
|
private |
Definition at line 877 of file message_differencer.h.
|
private |
Definition at line 876 of file message_differencer.h.
|
private |
Definition at line 892 of file message_differencer.h.
|
private |
Definition at line 864 of file message_differencer.h.
|
private |
Definition at line 888 of file message_differencer.h.
|
private |
Definition at line 875 of file message_differencer.h.
|
private |
Definition at line 866 of file message_differencer.h.
|
private |
Definition at line 868 of file message_differencer.h.
|
private |
Definition at line 886 of file message_differencer.h.
|
private |
Definition at line 884 of file message_differencer.h.
|
private |
Definition at line 885 of file message_differencer.h.
|
private |
Definition at line 861 of file message_differencer.h.
|
private |
Definition at line 865 of file message_differencer.h.
|
private |
Definition at line 880 of file message_differencer.h.