Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(66)

Side by Side Diff: third_party/protobuf/src/google/protobuf/map_field.h

Issue 2495533002: third_party/protobuf: Update to HEAD (83d681ee2c) (Closed)
Patch Set: Make chrome settings proto generated file a component Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Protocol Buffers - Google's data interchange format 1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc. All rights reserved. 2 // Copyright 2008 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/ 3 // https://developers.google.com/protocol-buffers/
4 // 4 //
5 // Redistribution and use in source and binary forms, with or without 5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are 6 // modification, are permitted provided that the following conditions are
7 // met: 7 // met:
8 // 8 //
9 // * Redistributions of source code must retain the above copyright 9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer. 10 // notice, this list of conditions and the following disclaimer.
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 namespace google { 47 namespace google {
48 namespace protobuf { 48 namespace protobuf {
49 class DynamicMessage; 49 class DynamicMessage;
50 class MapKey; 50 class MapKey;
51 namespace internal { 51 namespace internal {
52 52
53 class ContendedMapCleanTest; 53 class ContendedMapCleanTest;
54 class GeneratedMessageReflection; 54 class GeneratedMessageReflection;
55 class MapFieldAccessor; 55 class MapFieldAccessor;
56 56
57 // This class provides accesss to map field using reflection, which is the same 57 // This class provides access to map field using reflection, which is the same
58 // as those provided for RepeatedPtrField<Message>. It is used for internal 58 // as those provided for RepeatedPtrField<Message>. It is used for internal
59 // reflection implentation only. Users should never use this directly. 59 // reflection implentation only. Users should never use this directly.
60 class LIBPROTOBUF_EXPORT MapFieldBase { 60 class LIBPROTOBUF_EXPORT MapFieldBase {
61 public: 61 public:
62 MapFieldBase() 62 MapFieldBase()
63 : arena_(NULL), 63 : arena_(NULL),
64 repeated_field_(NULL), 64 repeated_field_(NULL),
65 entry_descriptor_(NULL), 65 entry_descriptor_(NULL),
66 assign_descriptor_callback_(NULL), 66 assign_descriptor_callback_(NULL),
67 state_(STATE_MODIFIED_MAP) {} 67 state_(STATE_MODIFIED_MAP) {}
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 private: 201 private:
202 void InitializeIterator(MapIterator* map_iter) const; 202 void InitializeIterator(MapIterator* map_iter) const;
203 void DeleteIterator(MapIterator* map_iter) const; 203 void DeleteIterator(MapIterator* map_iter) const;
204 void CopyIterator(MapIterator* this_iteratorm, 204 void CopyIterator(MapIterator* this_iteratorm,
205 const MapIterator& that_iterator) const; 205 const MapIterator& that_iterator) const;
206 void IncreaseIterator(MapIterator* map_iter) const; 206 void IncreaseIterator(MapIterator* map_iter) const;
207 207
208 virtual void SetMapIteratorValue(MapIterator* map_iter) const = 0; 208 virtual void SetMapIteratorValue(MapIterator* map_iter) const = 0;
209 }; 209 };
210 210
211 // This class provides accesss to map field using generated api. It is used for 211 // This class provides access to map field using generated api. It is used for
212 // internal generated message implentation only. Users should never use this 212 // internal generated message implentation only. Users should never use this
213 // directly. 213 // directly.
214 template <typename Key, typename T, 214 template <typename Key, typename T,
215 WireFormatLite::FieldType kKeyFieldType, 215 WireFormatLite::FieldType kKeyFieldType,
216 WireFormatLite::FieldType kValueFieldType, 216 WireFormatLite::FieldType kValueFieldType,
217 int default_enum_value = 0> 217 int default_enum_value = 0>
218 class MapField : public TypeDefinedMapFieldBase<Key, T>, 218 class MapField : public TypeDefinedMapFieldBase<Key, T>,
219 public MapFieldLite<Key, T, kKeyFieldType, kValueFieldType, 219 public MapFieldLite<Key, T, kKeyFieldType, kValueFieldType,
220 default_enum_value> { 220 default_enum_value> {
221 // Provide utilities to parse/serialize key/value. Provide utilities to 221 // Provide utilities to parse/serialize key/value. Provide utilities to
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 // MapIterator does not own this object. 388 // MapIterator does not own this object.
389 internal::MapFieldBase* map_; 389 internal::MapFieldBase* map_;
390 MapKey key_; 390 MapKey key_;
391 MapValueRef value_; 391 MapValueRef value_;
392 }; 392 };
393 393
394 } // namespace protobuf 394 } // namespace protobuf
395 395
396 } // namespace google 396 } // namespace google
397 #endif // GOOGLE_PROTOBUF_MAP_FIELD_H__ 397 #endif // GOOGLE_PROTOBUF_MAP_FIELD_H__
OLDNEW
« no previous file with comments | « third_party/protobuf/src/google/protobuf/map_entry_lite.h ('k') | third_party/protobuf/src/google/protobuf/map_field_lite.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698