diff options
Diffstat (limited to 'src/google/protobuf/map_field.h')
-rw-r--r-- | src/google/protobuf/map_field.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/google/protobuf/map_field.h b/src/google/protobuf/map_field.h index bd478901..6c75a6da 100644 --- a/src/google/protobuf/map_field.h +++ b/src/google/protobuf/map_field.h @@ -217,8 +217,9 @@ class MapField : public TypeDefinedMapFieldBase<Key, T> { // Define message type for internal repeated field. typedef Derived EntryType; - typedef MapEntryLite<Key, T, kKeyFieldType, kValueFieldType, - default_enum_value> EntryLiteType; + typedef MapEntryLite<Derived, Key, T, kKeyFieldType, kValueFieldType, + default_enum_value> + EntryLiteType; // Define abbreviation for parent MapFieldLite typedef MapFieldLite<Derived, Key, T, kKeyFieldType, kValueFieldType, @@ -295,11 +296,13 @@ class MapField : public TypeDefinedMapFieldBase<Key, T> { GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MapField); }; -template <typename MEntry> -struct MapEntryToMapField { - typedef DeconstructMapEntry<typename MEntry::SuperType> T; - typedef MapField<MEntry, typename T::Key, typename T::Value, T::kKeyFieldType, - T::kValueFieldType, T::default_enum_value> +template <typename T, typename Key, typename Value, + WireFormatLite::FieldType kKeyFieldType, + WireFormatLite::FieldType kValueFieldType, int default_enum_value> +struct MapEntryToMapField<MapEntry<T, Key, Value, kKeyFieldType, + kValueFieldType, default_enum_value> > { + typedef MapField<T, Key, Value, kKeyFieldType, kValueFieldType, + default_enum_value> MapFieldType; }; |