| Index: third_party/protobuf/src/google/protobuf/wire_format_lite.h
|
| diff --git a/third_party/protobuf/src/google/protobuf/wire_format_lite.h b/third_party/protobuf/src/google/protobuf/wire_format_lite.h
|
| index 9f922fdde7aa5967c54f54e40e2a1cfb5f4b433e..98d800408e62208680aa17403957fab702d9ccdc 100644
|
| --- a/third_party/protobuf/src/google/protobuf/wire_format_lite.h
|
| +++ b/third_party/protobuf/src/google/protobuf/wire_format_lite.h
|
| @@ -1,6 +1,6 @@
|
| // Protocol Buffers - Google's data interchange format
|
| // Copyright 2008 Google Inc. All rights reserved.
|
| -// https://developers.google.com/protocol-buffers/
|
| +// http://code.google.com/p/protobuf/
|
| //
|
| // Redistribution and use in source and binary forms, with or without
|
| // modification, are permitted provided that the following conditions are
|
| @@ -44,13 +44,12 @@
|
| #include <google/protobuf/stubs/common.h>
|
| #include <google/protobuf/message_lite.h>
|
| #include <google/protobuf/io/coded_stream.h> // for CodedOutputStream::Varint32Size
|
| -#include <google/protobuf/unknown_field_set.h>
|
|
|
| namespace google {
|
|
|
| namespace protobuf {
|
| template <typename T> class RepeatedField; // repeated_field.h
|
| - class UnknownFieldSet; // unknown_field_set.h
|
| + class UnknownFieldSet;
|
| }
|
|
|
| namespace protobuf {
|
| @@ -164,35 +163,21 @@ class LIBPROTOBUF_EXPORT WireFormatLite {
|
|
|
| // Skips a field value with the given tag. The input should start
|
| // positioned immediately after the tag. Skipped values are simply discarded,
|
| - // not recorded anywhere.
|
| - static bool SkipField(io::CodedInputStream* input, uint32 tag);
|
| -
|
| - // Skips a field value with the given tag. The input should start
|
| - // positioned immediately after the tag. If unknown_fields is non-NULL,
|
| - // the contents of the field will be added to it.
|
| - static bool SkipField(io::CodedInputStream* input, uint32 tag,
|
| - UnknownFieldSet* unknown_fields);
|
| -
|
| - // Skips a field value with the given tag. The input should start
|
| - // positioned immediately after the tag. Skipped values are recorded to a
|
| - // CodedOutputStream.
|
| + // not recorded anywhere. See WireFormat::SkipField() for a version that
|
| + // records to an UnknownFieldSet.
|
| static bool SkipField(io::CodedInputStream* input, uint32 tag,
|
| - io::CodedOutputStream* output);
|
| + UnknownFieldSet *unknown_fields);
|
|
|
| // Reads and ignores a message from the input. If unknown_fields is non-NULL,
|
| // the contents will be added to it.
|
| static bool SkipMessage(io::CodedInputStream* input,
|
| UnknownFieldSet* unknown_fields);
|
|
|
| +
|
| // Reads and ignores a message from the input. Skipped values may be stored
|
| // in the UnknownFieldSet if it exists.
|
| static bool SkipMessage(io::CodedInputStream* input);
|
|
|
| - // Reads and ignores a message from the input. Skipped values are recorded
|
| - // to a CodedOutputStream.
|
| - static bool SkipMessage(io::CodedInputStream* input,
|
| - io::CodedOutputStream* output);
|
| -
|
| // This macro does the same thing as WireFormatLite::MakeTag(), but the
|
| // result is usable as a compile-time constant, which makes it usable
|
| // as a switch case or a template input. WireFormatLite::MakeTag() is more
|
| @@ -247,14 +232,6 @@ class LIBPROTOBUF_EXPORT WireFormatLite {
|
| static uint64 ZigZagEncode64(int64 n);
|
| static int64 ZigZagDecode64(uint64 n);
|
|
|
| - // Read a packed enum field. If the is_valid function is not NULL, values for
|
| - // which is_valid(value) returns false are appended to unknown_fields_stream.
|
| - static bool ReadPackedEnumPreserveUnknowns(io::CodedInputStream* input,
|
| - uint32 field_number,
|
| - bool (*is_valid)(int),
|
| - UnknownFieldSet* unknown_fields,
|
| - RepeatedField<int>* values);
|
| -
|
| // Write the contents of an UnknownFieldSet to the output.
|
| static void SerializeUnknownFields(const UnknownFieldSet& unknown_fields,
|
| io::CodedOutputStream* output);
|
| @@ -295,9 +272,9 @@ class LIBPROTOBUF_EXPORT WireFormatLite {
|
| // that file to use these.
|
|
|
| // Avoid ugly line wrapping
|
| -#define input io::CodedInputStream* input_arg
|
| -#define output io::CodedOutputStream* output_arg
|
| -#define field_number int field_number_arg
|
| +#define input io::CodedInputStream* input
|
| +#define output io::CodedOutputStream* output
|
| +#define field_number int field_number
|
| #define INL GOOGLE_ATTRIBUTE_ALWAYS_INLINE
|
|
|
| // Read fields, not including tags. The assumption is that you already
|
| @@ -347,32 +324,14 @@ class LIBPROTOBUF_EXPORT WireFormatLite {
|
| template <typename CType, enum FieldType DeclaredType>
|
| static bool ReadPackedPrimitiveNoInline(input, RepeatedField<CType>* value);
|
|
|
| - // Read a packed enum field. If the is_valid function is not NULL, values for
|
| - // which is_valid(value) returns false are silently dropped.
|
| + // Read a packed enum field. Values for which is_valid() returns false are
|
| + // dropped.
|
| static bool ReadPackedEnumNoInline(input,
|
| bool (*is_valid)(int),
|
| - RepeatedField<int>* values);
|
| -
|
| - // Read a packed enum field. If the is_valid function is not NULL, values for
|
| - // which is_valid(value) returns false are appended to unknown_fields_stream.
|
| - static bool ReadPackedEnumPreserveUnknowns(
|
| - input,
|
| - field_number,
|
| - bool (*is_valid)(int),
|
| - io::CodedOutputStream* unknown_fields_stream,
|
| - RepeatedField<int>* values);
|
| -
|
| - // Read a string. ReadString(..., string* value) requires an existing string.
|
| - static inline bool ReadString(input, string* value);
|
| - // ReadString(..., string** p) is internal-only, and should only be called
|
| - // from generated code. It starts by setting *p to "new string"
|
| - // if *p == &GetEmptyStringAlreadyInited(). It then invokes
|
| - // ReadString(input, *p). This is useful for reducing code size.
|
| - static inline bool ReadString(input, string** p);
|
| - // Analogous to ReadString().
|
| - static bool ReadBytes(input, string* value);
|
| - static bool ReadBytes(input, string** p);
|
| + RepeatedField<int>* value);
|
|
|
| + static bool ReadString(input, string* value);
|
| + static bool ReadBytes (input, string* value);
|
|
|
| static inline bool ReadGroup (field_number, input, MessageLite* value);
|
| static inline bool ReadMessage(input, MessageLite* value);
|
| @@ -386,17 +345,6 @@ class LIBPROTOBUF_EXPORT WireFormatLite {
|
| template<typename MessageType>
|
| static inline bool ReadMessageNoVirtual(input, MessageType* value);
|
|
|
| - // The same, but do not modify input's recursion depth. This is useful
|
| - // when reading a bunch of groups or messages in a loop, because then the
|
| - // recursion depth can be incremented before the loop and decremented after.
|
| - template<typename MessageType>
|
| - static inline bool ReadGroupNoVirtualNoRecursionDepth(field_number, input,
|
| - MessageType* value);
|
| -
|
| - template<typename MessageType>
|
| - static inline bool ReadMessageNoVirtualNoRecursionDepth(input,
|
| - MessageType* value);
|
| -
|
| // Write a tag. The Write*() functions typically include the tag, so
|
| // normally there's no need to call this unless using the Write*NoTag()
|
| // variants.
|
| @@ -436,10 +384,6 @@ class LIBPROTOBUF_EXPORT WireFormatLite {
|
|
|
| static void WriteString(field_number, const string& value, output);
|
| static void WriteBytes (field_number, const string& value, output);
|
| - static void WriteStringMaybeAliased(
|
| - field_number, const string& value, output);
|
| - static void WriteBytesMaybeAliased(
|
| - field_number, const string& value, output);
|
|
|
| static void WriteGroup(
|
| field_number, const MessageLite& value, output);
|
| @@ -590,12 +534,6 @@ class LIBPROTOBUF_EXPORT WireFormatLite {
|
| google::protobuf::io::CodedInputStream* input,
|
| RepeatedField<CType>* value) GOOGLE_ATTRIBUTE_ALWAYS_INLINE;
|
|
|
| - // Like ReadRepeatedFixedSizePrimitive but for packed primitive fields.
|
| - template <typename CType, enum FieldType DeclaredType>
|
| - static inline bool ReadPackedFixedSizePrimitive(
|
| - google::protobuf::io::CodedInputStream* input,
|
| - RepeatedField<CType>* value) GOOGLE_ATTRIBUTE_ALWAYS_INLINE;
|
| -
|
| static const CppType kFieldTypeToCppTypeMap[];
|
| static const WireFormatLite::WireType kWireTypeForFieldType[];
|
|
|
| @@ -620,28 +558,10 @@ class LIBPROTOBUF_EXPORT FieldSkipper {
|
| // saves it as an unknown varint.
|
| void SkipUnknownEnum(int field_number, int value);
|
|
|
| - private:
|
| - UnknownFieldSet* unknown_fields_;
|
| -};
|
| -
|
| -// Subclass of FieldSkipper which saves skipped fields to a CodedOutputStream.
|
| -
|
| -class LIBPROTOBUF_EXPORT CodedOutputStreamFieldSkipper : public FieldSkipper {
|
| - public:
|
| - explicit CodedOutputStreamFieldSkipper(io::CodedOutputStream* unknown_fields)
|
| - : FieldSkipper(nullptr), unknown_fields_(unknown_fields) {}
|
| - virtual ~CodedOutputStreamFieldSkipper() {}
|
| -
|
| - // implements FieldSkipper -----------------------------------------
|
| - virtual bool SkipField(io::CodedInputStream* input, uint32 tag);
|
| - virtual bool SkipMessage(io::CodedInputStream* input);
|
| - virtual void SkipUnknownEnum(int field_number, int value);
|
| -
|
| protected:
|
| - io::CodedOutputStream* unknown_fields_;
|
| + UnknownFieldSet* unknown_fields_;
|
| };
|
|
|
| -
|
| // inline methods ====================================================
|
|
|
| inline WireFormatLite::CppType
|
| @@ -723,7 +643,7 @@ inline double WireFormatLite::DecodeDouble(uint64 value) {
|
|
|
| inline uint32 WireFormatLite::ZigZagEncode32(int32 n) {
|
| // Note: the right-shift must be arithmetic
|
| - return (static_cast<uint32>(n) << 1) ^ (n >> 31);
|
| + return (n << 1) ^ (n >> 31);
|
| }
|
|
|
| inline int32 WireFormatLite::ZigZagDecode32(uint32 n) {
|
| @@ -732,26 +652,13 @@ inline int32 WireFormatLite::ZigZagDecode32(uint32 n) {
|
|
|
| inline uint64 WireFormatLite::ZigZagEncode64(int64 n) {
|
| // Note: the right-shift must be arithmetic
|
| - return (static_cast<uint64>(n) << 1) ^ (n >> 63);
|
| + return (n << 1) ^ (n >> 63);
|
| }
|
|
|
| inline int64 WireFormatLite::ZigZagDecode64(uint64 n) {
|
| return (n >> 1) ^ -static_cast<int64>(n & 1);
|
| }
|
|
|
| -// String is for UTF-8 text only, but, even so, ReadString() can simply
|
| -// call ReadBytes().
|
| -
|
| -inline bool WireFormatLite::ReadString(io::CodedInputStream* input,
|
| - string* value) {
|
| - return ReadBytes(input, value);
|
| -}
|
| -
|
| -inline bool WireFormatLite::ReadString(io::CodedInputStream* input,
|
| - string** p) {
|
| - return ReadBytes(input, p);
|
| -}
|
| -
|
| } // namespace internal
|
| } // namespace protobuf
|
|
|
|
|