protobuf/src/google/protobuf/unknown_field_set.cc
Go to the documentation of this file.
1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are
7 // met:
8 //
9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer.
11 // * Redistributions in binary form must reproduce the above
12 // copyright notice, this list of conditions and the following disclaimer
13 // in the documentation and/or other materials provided with the
14 // distribution.
15 // * Neither the name of Google Inc. nor the names of its
16 // contributors may be used to endorse or promote products derived from
17 // this software without specific prior written permission.
18 //
19 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 
31 // Author: kenton@google.com (Kenton Varda)
32 // Based on original Protocol Buffers design by
33 // Sanjay Ghemawat, Jeff Dean, and others.
34 
35 #include <google/protobuf/unknown_field_set.h>
36 
37 #include <google/protobuf/stubs/logging.h>
38 #include <google/protobuf/stubs/common.h>
39 #include <google/protobuf/parse_context.h>
40 #include <google/protobuf/io/coded_stream.h>
41 #include <google/protobuf/io/zero_copy_stream.h>
42 #include <google/protobuf/io/zero_copy_stream_impl.h>
43 #include <google/protobuf/extension_set.h>
46 #include <google/protobuf/wire_format.h>
47 #include <google/protobuf/wire_format_lite.h>
48 #include <google/protobuf/stubs/stl_util.h>
49 
50 #include <google/protobuf/port_def.inc>
51 
52 namespace google {
53 namespace protobuf {
54 
57  return *instance;
58 }
59 
61  GOOGLE_DCHECK(!fields_.empty());
62  int n = fields_.size();
63  do {
64  (fields_)[--n].Delete();
65  } while (n > 0);
66  fields_.clear();
67 }
68 
70  int other_field_count = other.field_count();
71  if (other_field_count > 0) {
72  fields_.reserve(fields_.size() + other_field_count);
73  for (int i = 0; i < other_field_count; i++) {
74  fields_.push_back((other.fields_)[i]);
75  fields_.back().DeepCopy((other.fields_)[i]);
76  }
77  }
78 }
79 
81  int other_field_count = other.field_count();
82  if (other_field_count > 0) {
83  fields_.reserve(fields_.size() + other_field_count);
84  for (int i = 0; i < other_field_count; i++) {
85  fields_.push_back((other.fields_)[i]);
86  fields_.back().DeepCopy((other.fields_)[i]);
87  }
88  }
89 }
90 
91 // A specialized MergeFrom for performance when we are merging from an UFS that
92 // is temporary and can be destroyed in the process.
94  if (fields_.empty()) {
95  fields_ = std::move(other->fields_);
96  } else {
97  fields_.insert(fields_.end(),
98  std::make_move_iterator(other->fields_.begin()),
99  std::make_move_iterator(other->fields_.end()));
100  }
101  other->fields_.clear();
102 }
103 
106  metadata->mutable_unknown_fields<UnknownFieldSet>()->MergeFrom(other);
107 }
108 
110  if (fields_.empty()) return 0;
111 
112  size_t total_size = sizeof(fields_) + sizeof(UnknownField) * fields_.size();
113 
114  for (const UnknownField& field : fields_) {
115  switch (field.type()) {
117  total_size += sizeof(*field.data_.length_delimited_.string_value) +
120  break;
122  total_size += field.data_.group_->SpaceUsedLong();
123  break;
124  default:
125  break;
126  }
127  }
128  return total_size;
129 }
130 
131 size_t UnknownFieldSet::SpaceUsedLong() const {
132  return sizeof(*this) + SpaceUsedExcludingSelf();
133 }
134 
137  field.number_ = number;
140  fields_.push_back(field);
141 }
142 
145  field.number_ = number;
148  fields_.push_back(field);
149 }
150 
153  field.number_ = number;
156  fields_.push_back(field);
157 }
158 
161  field.number_ = number;
164  fields_.push_back(field);
166 }
167 
168 
171  field.number_ = number;
174  fields_.push_back(field);
175  return field.data_.group_;
176 }
177 
179  fields_.push_back(field);
180  fields_.back().DeepCopy(field);
181 }
182 
184  // Delete the specified fields.
185  for (int i = 0; i < num; ++i) {
186  (fields_)[i + start].Delete();
187  }
188  // Slide down the remaining fields.
189  for (size_t i = start + num; i < fields_.size(); ++i) {
190  (fields_)[i - num] = (fields_)[i];
191  }
192  // Pop off the # of deleted fields.
193  for (int i = 0; i < num; ++i) {
194  fields_.pop_back();
195  }
196 }
197 
199  size_t left = 0; // The number of fields left after deletion.
200  for (size_t i = 0; i < fields_.size(); ++i) {
201  UnknownField* field = &(fields_)[i];
202  if (field->number() == number) {
203  field->Delete();
204  } else {
205  if (i != left) {
206  (fields_)[left] = (fields_)[i];
207  }
208  ++left;
209  }
210  }
211  fields_.resize(left);
212 }
213 
215  UnknownFieldSet other;
217  input->ConsumedEntireMessage()) {
218  MergeFromAndDestroy(&other);
219  return true;
220  } else {
221  return false;
222  }
223 }
224 
226  Clear();
227  return MergeFromCodedStream(input);
228 }
229 
231  io::CodedInputStream coded_input(input);
232  return (ParseFromCodedStream(&coded_input) &&
233  coded_input.ConsumedEntireMessage());
234 }
235 
236 bool UnknownFieldSet::ParseFromArray(const void* data, int size) {
237  io::ArrayInputStream input(data, size);
239 }
240 
241 void UnknownField::Delete() {
242  switch (type()) {
244  delete data_.length_delimited_.string_value;
245  break;
247  delete data_.group_;
248  break;
249  default:
250  break;
251  }
252 }
253 
254 void UnknownField::DeepCopy(const UnknownField& other) {
255  (void)other; // Parameter is used by Google-internal code.
256  switch (type()) {
258  data_.length_delimited_.string_value =
259  new std::string(*data_.length_delimited_.string_value);
260  break;
263  group->InternalMergeFrom(*data_.group_);
264  data_.group_ = group;
265  break;
266  }
267  default:
268  break;
269  }
270 }
271 
272 
274  uint8_t* target, io::EpsCopyOutputStream* stream) const {
276  const std::string& data = *data_.length_delimited_.string_value;
278  target = stream->WriteRaw(data.data(), data.size(), target);
279  return target;
280 }
281 
282 namespace internal {
283 
284 class UnknownFieldParserHelper {
285  public:
287  : unknown_(unknown) {}
288 
291  }
294  }
295  const char* ParseLengthDelimited(uint32_t num, const char* ptr,
296  ParseContext* ctx) {
298  int size = ReadSize(&ptr);
300  return ctx->ReadString(ptr, size, s);
301  }
302  const char* ParseGroup(uint32_t num, const char* ptr, ParseContext* ctx) {
304  return ctx->ParseGroup(&child, ptr, num * 8 + 3);
305  }
308  }
309 
310  const char* _InternalParse(const char* ptr, ParseContext* ctx) {
311  return WireFormatParser(*this, ptr, ctx);
312  }
313 
314  private:
316 };
317 
318 const char* UnknownGroupParse(UnknownFieldSet* unknown, const char* ptr,
319  ParseContext* ctx) {
320  UnknownFieldParserHelper field_parser(unknown);
321  return WireFormatParser(field_parser, ptr, ctx);
322 }
323 
324 const char* UnknownFieldParse(uint64_t tag, UnknownFieldSet* unknown,
325  const char* ptr, ParseContext* ctx) {
326  UnknownFieldParserHelper field_parser(unknown);
327  return FieldParser(tag, field_parser, ptr, ctx);
328 }
329 
330 } // namespace internal
331 } // namespace protobuf
332 } // namespace google
333 
334 #include <google/protobuf/port_undef.inc>
google::protobuf::UnknownField::type
Type type() const
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:327
ptr
char * ptr
Definition: abseil-cpp/absl/base/internal/low_level_alloc_test.cc:45
google::protobuf::UnknownField::group
const UnknownFieldSet & group() const
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:347
google::protobuf::value
const Descriptor::ReservedRange value
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:1954
google::protobuf::UnknownFieldSet::SpaceUsedExcludingSelf
int SpaceUsedExcludingSelf() const
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:116
google::protobuf.internal::ReadSize
uint32 ReadSize(const char **pp)
Definition: bloaty/third_party/protobuf/src/google/protobuf/parse_context.h:561
ctx
Definition: benchmark-async.c:30
metadata
Definition: cq_verifier.cc:48
google::protobuf.internal::UnknownFieldParserHelper::unknown_
UnknownFieldSet * unknown_
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:340
google::protobuf::UnknownField::fixed32_
uint32 fixed32_
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:280
google::protobuf::UnknownFieldSet::ClearFallback
void ClearFallback()
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:58
grpc::protobuf::io::ZeroCopyInputStream
GRPC_CUSTOM_ZEROCOPYINPUTSTREAM ZeroCopyInputStream
Definition: include/grpcpp/impl/codegen/config_protobuf.h:101
google::protobuf::UnknownField::TYPE_GROUP
@ TYPE_GROUP
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:223
GOOGLE_DCHECK
#define GOOGLE_DCHECK
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/logging.h:194
google::protobuf::UnknownFieldSet::ParseFromZeroCopyStream
bool ParseFromZeroCopyStream(io::ZeroCopyInputStream *input)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:230
UnknownField
Definition: upb/upb/util/compare_test.cc:66
google::protobuf.internal::UnknownFieldParse
const char * UnknownFieldParse(uint32 tag, std::string *unknown, const char *ptr, ParseContext *ctx)
Definition: bloaty/third_party/protobuf/src/google/protobuf/parse_context.cc:606
testing::internal::string
::std::string string
Definition: bloaty/third_party/protobuf/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:881
google::protobuf::UnknownField
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:216
google::protobuf.internal::ParseContext
Definition: bloaty/third_party/protobuf/src/google/protobuf/parse_context.h:336
google::protobuf::UnknownFieldSet::AddField
void AddField(const UnknownField &field)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:178
google::protobuf
Definition: bloaty/third_party/protobuf/benchmarks/util/data_proto2_to_proto3_util.h:12
instance
RefCountedPtr< grpc_tls_certificate_provider > instance
Definition: xds_server_config_fetcher.cc:224
google::protobuf.internal::UnknownFieldParserHelper::ParseLengthDelimited
const char * ParseLengthDelimited(uint32_t num, const char *ptr, ParseContext *ctx)
Definition: protobuf/src/google/protobuf/unknown_field_set.cc:295
google::protobuf::UnknownField::length_delimited_
union LengthDelimited length_delimited_
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:282
google::protobuf::UnknownField::InternalSerializeLengthDelimitedNoTag
uint8 * InternalSerializeLengthDelimitedNoTag(uint8 *target, io::EpsCopyOutputStream *stream) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:272
uint8_t
unsigned char uint8_t
Definition: stdint-msvc2008.h:78
google::protobuf::UnknownFieldSet::Clear
void Clear()
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:296
google::protobuf::python::cmessage::UnknownFieldSet
static PyObject * UnknownFieldSet(CMessage *self)
Definition: bloaty/third_party/protobuf/python/google/protobuf/pyext/message.cc:2512
google::protobuf.internal::OnShutdownDelete
T * OnShutdownDelete(T *p)
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/common.h:185
google::protobuf::UnknownFieldSet::MergeFromAndDestroy
void MergeFromAndDestroy(UnknownFieldSet *other)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:91
uint32_t
unsigned int uint32_t
Definition: stdint-msvc2008.h:80
google::protobuf.internal::UnknownGroupParse
const char * UnknownGroupParse(UnknownFieldSet *unknown, const char *ptr, ParseContext *ctx)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:343
google::protobuf::UnknownFieldSet::InternalMergeFrom
void InternalMergeFrom(const UnknownFieldSet &other)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:67
google::protobuf::UnknownField::TYPE_FIXED32
@ TYPE_FIXED32
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:220
google::protobuf.internal::UnknownFieldParserHelper::_InternalParse
const char * _InternalParse(const char *ptr, ParseContext *ctx)
Definition: protobuf/src/google/protobuf/unknown_field_set.cc:310
start
static uint64_t start
Definition: benchmark-pound.c:74
google::protobuf::UnknownFieldSet::default_instance
static const UnknownFieldSet * default_instance()
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:53
google::protobuf::UnknownField::Delete
void Delete()
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:241
google::protobuf::UnknownFieldSet::AddGroup
UnknownFieldSet * AddGroup(int number)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:169
absl::move
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
Definition: abseil-cpp/absl/utility/utility.h:221
generated_message_tctable_impl.h
google::protobuf::UnknownFieldSet::ParseFromArray
bool ParseFromArray(const void *data, int size)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:236
google::protobuf::UnknownFieldSet::DeleteSubrange
void DeleteSubrange(int start, int num)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:183
tag
static void * tag(intptr_t t)
Definition: bad_client.cc:318
google::protobuf::UnknownFieldSet::UnknownFieldSet
UnknownFieldSet()
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:290
GOOGLE_PROTOBUF_PARSER_ASSERT
#define GOOGLE_PROTOBUF_PARSER_ASSERT(predicate)
Definition: bloaty/third_party/protobuf/src/google/protobuf/parse_context.h:660
uint64_t
unsigned __int64 uint64_t
Definition: stdint-msvc2008.h:90
google::protobuf.internal::StringSpaceUsedExcludingSelfLong
size_t StringSpaceUsedExcludingSelfLong(const std::string &str)
Definition: bloaty/third_party/protobuf/src/google/protobuf/generated_message_util.cc:85
grpc::protobuf::io::CodedInputStream
GRPC_CUSTOM_CODEDINPUTSTREAM CodedInputStream
Definition: include/grpcpp/impl/codegen/config_protobuf.h:102
google::protobuf::UnknownFieldSet::AddVarint
void AddVarint(int number, uint64 value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:135
google::protobuf::UnknownFieldSet::MergeFrom
void MergeFrom(const UnknownFieldSet &other)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:78
google::protobuf.internal::InternalMetadata
Definition: protobuf/src/google/protobuf/metadata_lite.h:62
number
int32_t number
Definition: bloaty/third_party/protobuf/php/ext/google/protobuf/protobuf.h:850
googletest-filter-unittest.child
child
Definition: bloaty/third_party/googletest/googletest/test/googletest-filter-unittest.py:62
google::protobuf::UnknownField::data_
union google::protobuf::UnknownField::@284 data_
data
char data[kBufferLength]
Definition: abseil-cpp/absl/strings/internal/str_format/float_conversion.cc:1006
google::protobuf.internal::UnknownFieldParserHelper::AddFixed32
void AddFixed32(uint32_t num, uint32_t value)
Definition: protobuf/src/google/protobuf/unknown_field_set.cc:306
google::protobuf::UnknownField::TYPE_VARINT
@ TYPE_VARINT
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:219
Delete
void Delete(T *t)
Definition: third_party/boringssl-with-bazel/src/ssl/internal.h:208
n
int n
Definition: abseil-cpp/absl/container/btree_test.cc:1080
google::protobuf.internal::FieldParser
const PROTOBUF_MUST_USE_RESULT char * FieldParser(uint64 tag, T &field_parser, const char *ptr, ParseContext *ctx)
Definition: bloaty/third_party/protobuf/src/google/protobuf/parse_context.h:664
google::protobuf::UnknownField::TYPE_LENGTH_DELIMITED
@ TYPE_LENGTH_DELIMITED
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:222
google::protobuf::UnknownFieldSet::ParseFromCodedStream
bool ParseFromCodedStream(io::CodedInputStream *input)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:225
google::protobuf::UnknownField::LengthDelimited::string_value
std::string * string_value
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:273
google::protobuf.internal::UnknownFieldParserHelper::UnknownFieldParserHelper
UnknownFieldParserHelper(UnknownFieldSet *unknown)
Definition: protobuf/src/google/protobuf/unknown_field_set.cc:286
google::protobuf::UnknownFieldSet::fields_
std::vector< UnknownField > fields_
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:177
google::protobuf::UnknownFieldSet::AddLengthDelimited
void AddLengthDelimited(int number, const std::string &value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:318
generated_message_tctable_decl.h
google::protobuf::UnknownField::TYPE_FIXED64
@ TYPE_FIXED64
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:221
google::protobuf::UnknownField::group_
UnknownFieldSet * group_
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:283
google::protobuf::UnknownFieldSet::field
const UnknownField & field(int index) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:311
field
const FieldDescriptor * field
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/parser_unittest.cc:2692
google::protobuf::UnknownField::varint_
uint64 varint_
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:279
google::protobuf.internal::UnknownFieldParserHelper::ParseGroup
const char * ParseGroup(uint32_t num, const char *ptr, ParseContext *ctx)
Definition: protobuf/src/google/protobuf/unknown_field_set.cc:302
google::protobuf::UnknownFieldSet
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:81
google::protobuf.internal::UnknownFieldParserHelper::AddVarint
void AddVarint(uint32_t num, uint64_t value)
Definition: protobuf/src/google/protobuf/unknown_field_set.cc:289
google::protobuf.internal::UnknownFieldParserHelper
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:311
xds_manager.num
num
Definition: xds_manager.py:56
GOOGLE_DCHECK_EQ
#define GOOGLE_DCHECK_EQ
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/logging.h:196
google::protobuf::UnknownFieldSet::AddFixed32
void AddFixed32(int number, uint32 value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:143
google::protobuf::UnknownFieldSet::AddFixed64
void AddFixed64(int number, uint64 value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:151
input
std::string input
Definition: bloaty/third_party/protobuf/src/google/protobuf/io/tokenizer_unittest.cc:197
google::protobuf.internal::UnknownFieldParserHelper::AddFixed64
void AddFixed64(uint32_t num, uint64_t value)
Definition: protobuf/src/google/protobuf/unknown_field_set.cc:292
google::protobuf::io::CodedOutputStream::WriteVarint32ToArray
static uint8 * WriteVarint32ToArray(uint32 value, uint8 *target)
Definition: bloaty/third_party/protobuf/src/google/protobuf/io/coded_stream.h:1586
google::protobuf::UnknownField::fixed64_
uint64 fixed64_
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:281
internal
Definition: benchmark/test/output_test_helper.cc:20
google::protobuf::UnknownField::DeepCopy
void DeepCopy(const UnknownField &other)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:254
google::protobuf::UnknownField::number
int number() const
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:326
google::protobuf::UnknownField::number_
uint32 number_
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:276
size
voidpf void uLong size
Definition: bloaty/third_party/zlib/contrib/minizip/ioapi.h:136
google::protobuf::UnknownFieldSet::DeleteByNumber
void DeleteByNumber(int number)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:198
google::protobuf.internal::WireFormat::SkipMessage
static bool SkipMessage(io::CodedInputStream *input, UnknownFieldSet *unknown_fields)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format.cc:148
google::protobuf::UnknownFieldSet::MergeToInternalMetadata
static void MergeToInternalMetadata(const UnknownFieldSet &other, internal::InternalMetadata *metadata)
Definition: protobuf/src/google/protobuf/unknown_field_set.cc:104
google::protobuf.internal::WireFormatParser
const PROTOBUF_MUST_USE_RESULT char * WireFormatParser(T &field_parser, const char *ptr, ParseContext *ctx)
Definition: bloaty/third_party/protobuf/src/google/protobuf/parse_context.h:711
setup.target
target
Definition: third_party/bloaty/third_party/protobuf/python/setup.py:179
google::protobuf::UnknownField::SetType
void SetType(Type type)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:382
google::protobuf::UnknownFieldSet::SpaceUsedLong
size_t SpaceUsedLong() const
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:131
google
Definition: bloaty/third_party/protobuf/benchmarks/util/data_proto2_to_proto3_util.h:11
i
uint64_t i
Definition: abseil-cpp/absl/container/btree_benchmark.cc:230
google::protobuf::UnknownFieldSet::MergeFromCodedStream
bool MergeFromCodedStream(io::CodedInputStream *input)
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:214
google::protobuf::UnknownFieldSet::SpaceUsedExcludingSelfLong
size_t SpaceUsedExcludingSelfLong() const
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:108
stream
voidpf stream
Definition: bloaty/third_party/zlib/contrib/minizip/ioapi.h:136


grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:44