aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/google/protobuf/map_field.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/google/protobuf/map_field.h')
-rw-r--r--src/google/protobuf/map_field.h17
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;
};