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

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

Issue 2599263002: third_party/protobuf: Update to HEAD (f52e188fe4) (Closed)
Patch Set: Address comments Created 3 years, 12 months 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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 // output stream. 68 // output stream.
69 static bool Print(const Message& message, io::ZeroCopyOutputStream* output); 69 static bool Print(const Message& message, io::ZeroCopyOutputStream* output);
70 70
71 // Print the fields in an UnknownFieldSet. They are printed by tag number 71 // Print the fields in an UnknownFieldSet. They are printed by tag number
72 // only. Embedded messages are heuristically identified by attempting to 72 // only. Embedded messages are heuristically identified by attempting to
73 // parse them. 73 // parse them.
74 static bool PrintUnknownFields(const UnknownFieldSet& unknown_fields, 74 static bool PrintUnknownFields(const UnknownFieldSet& unknown_fields,
75 io::ZeroCopyOutputStream* output); 75 io::ZeroCopyOutputStream* output);
76 76
77 // Like Print(), but outputs directly to a string. 77 // Like Print(), but outputs directly to a string.
78 // Note: output will be cleared before prior to printing, and will
79 // be left empty even if printing fails.
78 static bool PrintToString(const Message& message, string* output); 80 static bool PrintToString(const Message& message, string* output);
79 81
80 // Like PrintUnknownFields(), but outputs directly to a string. 82 // Like PrintUnknownFields(), but outputs directly to a string.
81 static bool PrintUnknownFieldsToString(const UnknownFieldSet& unknown_fields, 83 static bool PrintUnknownFieldsToString(const UnknownFieldSet& unknown_fields,
82 string* output); 84 string* output);
83 85
84 // Outputs a textual representation of the value of the field supplied on 86 // Outputs a textual representation of the value of the field supplied on
85 // the message supplied. For non-repeated fields, an index of -1 must 87 // the message supplied. For non-repeated fields, an index of -1 must
86 // be supplied. Note that this method will print the default value for a 88 // be supplied. Note that this method will print the default value for a
87 // field if it is not set. 89 // field if it is not set.
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 296
295 bool hide_unknown_fields_; 297 bool hide_unknown_fields_;
296 298
297 bool print_message_fields_in_index_order_; 299 bool print_message_fields_in_index_order_;
298 300
299 bool expand_any_; 301 bool expand_any_;
300 302
301 int64 truncate_string_field_longer_than_; 303 int64 truncate_string_field_longer_than_;
302 304
303 google::protobuf::scoped_ptr<const FieldValuePrinter> default_field_value_pr inter_; 305 google::protobuf::scoped_ptr<const FieldValuePrinter> default_field_value_pr inter_;
304 typedef map<const FieldDescriptor*, 306 typedef std::map<const FieldDescriptor*,
305 const FieldValuePrinter*> CustomPrinterMap; 307 const FieldValuePrinter*> CustomPrinterMap;
306 CustomPrinterMap custom_printers_; 308 CustomPrinterMap custom_printers_;
307 }; 309 };
308 310
309 // Parses a text-format protocol message from the given input stream to 311 // Parses a text-format protocol message from the given input stream to
310 // the given message object. This function parses the human-readable format 312 // the given message object. This function parses the human-readable format
311 // written by Print(). Returns true on success. The message is cleared first, 313 // written by Print(). Returns true on success. The message is cleared first,
312 // even if the function fails -- See Merge() to avoid this behavior. 314 // even if the function fails -- See Merge() to avoid this behavior.
313 // 315 //
314 // Example input: "user {\n id: 123 extra { gender: MALE language: 'en' }\n}" 316 // Example input: "user {\n id: 123 extra { gender: MALE language: 'en' }\n}"
315 // 317 //
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 // Allow the text format parser to record information into the tree. 386 // Allow the text format parser to record information into the tree.
385 friend class TextFormat; 387 friend class TextFormat;
386 388
387 // Records the starting location of a single value for a field. 389 // Records the starting location of a single value for a field.
388 void RecordLocation(const FieldDescriptor* field, ParseLocation location); 390 void RecordLocation(const FieldDescriptor* field, ParseLocation location);
389 391
390 // Create and records a nested tree for a nested message field. 392 // Create and records a nested tree for a nested message field.
391 ParseInfoTree* CreateNested(const FieldDescriptor* field); 393 ParseInfoTree* CreateNested(const FieldDescriptor* field);
392 394
393 // Defines the map from the index-th field descriptor to its parse location. 395 // Defines the map from the index-th field descriptor to its parse location.
394 typedef map<const FieldDescriptor*, vector<ParseLocation> > LocationMap; 396 typedef std::map<const FieldDescriptor*,
397 std::vector<ParseLocation> > LocationMap;
395 398
396 // Defines the map from the index-th field descriptor to the nested parse 399 // Defines the map from the index-th field descriptor to the nested parse
397 // info tree. 400 // info tree.
398 typedef map<const FieldDescriptor*, vector<ParseInfoTree*> > NestedMap; 401 typedef std::map<const FieldDescriptor*,
402 std::vector<ParseInfoTree*> > NestedMap;
399 403
400 LocationMap locations_; 404 LocationMap locations_;
401 NestedMap nested_; 405 NestedMap nested_;
402 406
403 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ParseInfoTree); 407 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ParseInfoTree);
404 }; 408 };
405 409
406 // For more control over parsing, use this class. 410 // For more control over parsing, use this class.
407 class LIBPROTOBUF_EXPORT Parser { 411 class LIBPROTOBUF_EXPORT Parser {
408 public: 412 public:
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
508 512
509 inline TextFormat::ParseInfoTree* TextFormat::CreateNested( 513 inline TextFormat::ParseInfoTree* TextFormat::CreateNested(
510 ParseInfoTree* info_tree, const FieldDescriptor* field) { 514 ParseInfoTree* info_tree, const FieldDescriptor* field) {
511 return info_tree->CreateNested(field); 515 return info_tree->CreateNested(field);
512 } 516 }
513 517
514 } // namespace protobuf 518 } // namespace protobuf
515 519
516 } // namespace google 520 } // namespace google
517 #endif // GOOGLE_PROTOBUF_TEXT_FORMAT_H__ 521 #endif // GOOGLE_PROTOBUF_TEXT_FORMAT_H__
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698