protobuf/src/google/protobuf/wire_format_lite.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/wire_format_lite.h>
36 
37 #include <limits>
38 #include <stack>
39 #include <string>
40 #include <vector>
41 
42 #include <google/protobuf/stubs/logging.h>
43 #include <google/protobuf/stubs/common.h>
44 #include <google/protobuf/stubs/stringprintf.h>
45 #include <google/protobuf/io/coded_stream.h>
46 #include <google/protobuf/io/zero_copy_stream.h>
47 #include <google/protobuf/io/zero_copy_stream_impl_lite.h>
48 
49 
50 #include <google/protobuf/port_def.inc>
51 
52 namespace google {
53 namespace protobuf {
54 namespace internal {
55 
56 #if !defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)
57 // Old version of MSVC doesn't like definitions of inline constants, GCC
58 // requires them.
63 
64 #endif
65 
66 // IBM xlC requires prefixing constants with WireFormatLite::
68  io::CodedOutputStream::StaticVarintSize32<
70  io::CodedOutputStream::StaticVarintSize32<
72  io::CodedOutputStream::StaticVarintSize32<
74  io::CodedOutputStream::StaticVarintSize32<
76 
78  WireFormatLite::kFieldTypeToCppTypeMap[MAX_FIELD_TYPE + 1] = {
79  static_cast<CppType>(0), // 0 is reserved for errors
80 
81  CPPTYPE_DOUBLE, // TYPE_DOUBLE
82  CPPTYPE_FLOAT, // TYPE_FLOAT
83  CPPTYPE_INT64, // TYPE_INT64
84  CPPTYPE_UINT64, // TYPE_UINT64
85  CPPTYPE_INT32, // TYPE_INT32
86  CPPTYPE_UINT64, // TYPE_FIXED64
87  CPPTYPE_UINT32, // TYPE_FIXED32
88  CPPTYPE_BOOL, // TYPE_BOOL
89  CPPTYPE_STRING, // TYPE_STRING
90  CPPTYPE_MESSAGE, // TYPE_GROUP
91  CPPTYPE_MESSAGE, // TYPE_MESSAGE
92  CPPTYPE_STRING, // TYPE_BYTES
93  CPPTYPE_UINT32, // TYPE_UINT32
94  CPPTYPE_ENUM, // TYPE_ENUM
95  CPPTYPE_INT32, // TYPE_SFIXED32
96  CPPTYPE_INT64, // TYPE_SFIXED64
97  CPPTYPE_INT32, // TYPE_SINT32
98  CPPTYPE_INT64, // TYPE_SINT64
99 };
100 
102  WireFormatLite::kWireTypeForFieldType[MAX_FIELD_TYPE + 1] = {
103  static_cast<WireFormatLite::WireType>(-1), // invalid
104  WireFormatLite::WIRETYPE_FIXED64, // TYPE_DOUBLE
105  WireFormatLite::WIRETYPE_FIXED32, // TYPE_FLOAT
106  WireFormatLite::WIRETYPE_VARINT, // TYPE_INT64
107  WireFormatLite::WIRETYPE_VARINT, // TYPE_UINT64
108  WireFormatLite::WIRETYPE_VARINT, // TYPE_INT32
109  WireFormatLite::WIRETYPE_FIXED64, // TYPE_FIXED64
110  WireFormatLite::WIRETYPE_FIXED32, // TYPE_FIXED32
111  WireFormatLite::WIRETYPE_VARINT, // TYPE_BOOL
116  WireFormatLite::WIRETYPE_VARINT, // TYPE_UINT32
117  WireFormatLite::WIRETYPE_VARINT, // TYPE_ENUM
118  WireFormatLite::WIRETYPE_FIXED32, // TYPE_SFIXED32
119  WireFormatLite::WIRETYPE_FIXED64, // TYPE_SFIXED64
120  WireFormatLite::WIRETYPE_VARINT, // TYPE_SINT32
121  WireFormatLite::WIRETYPE_VARINT, // TYPE_SINT64
122 };
123 
125  // Field number 0 is illegal.
126  if (WireFormatLite::GetTagFieldNumber(tag) == 0) return false;
129  uint64_t value;
130  if (!input->ReadVarint64(&value)) return false;
131  return true;
132  }
134  uint64_t value;
135  if (!input->ReadLittleEndian64(&value)) return false;
136  return true;
137  }
140  if (!input->ReadVarint32(&length)) return false;
141  if (!input->Skip(length)) return false;
142  return true;
143  }
145  if (!input->IncrementRecursionDepth()) return false;
146  if (!SkipMessage(input)) return false;
147  input->DecrementRecursionDepth();
148  // Check that the ending tag matched the starting tag.
149  if (!input->LastTagWas(
152  return false;
153  }
154  return true;
155  }
157  return false;
158  }
160  uint32_t value;
161  if (!input->ReadLittleEndian32(&value)) return false;
162  return true;
163  }
164  default: {
165  return false;
166  }
167  }
168 }
169 
172  // Field number 0 is illegal.
173  if (WireFormatLite::GetTagFieldNumber(tag) == 0) return false;
176  uint64_t value;
177  if (!input->ReadVarint64(&value)) return false;
178  output->WriteVarint32(tag);
179  output->WriteVarint64(value);
180  return true;
181  }
183  uint64_t value;
184  if (!input->ReadLittleEndian64(&value)) return false;
185  output->WriteVarint32(tag);
186  output->WriteLittleEndian64(value);
187  return true;
188  }
191  if (!input->ReadVarint32(&length)) return false;
192  output->WriteVarint32(tag);
193  output->WriteVarint32(length);
194  // TODO(mkilavuz): Provide API to prevent extra string copying.
196  if (!input->ReadString(&temp, length)) return false;
197  output->WriteString(temp);
198  return true;
199  }
201  output->WriteVarint32(tag);
202  if (!input->IncrementRecursionDepth()) return false;
203  if (!SkipMessage(input, output)) return false;
204  input->DecrementRecursionDepth();
205  // Check that the ending tag matched the starting tag.
206  if (!input->LastTagWas(
209  return false;
210  }
211  return true;
212  }
214  return false;
215  }
217  uint32_t value;
218  if (!input->ReadLittleEndian32(&value)) return false;
219  output->WriteVarint32(tag);
220  output->WriteLittleEndian32(value);
221  return true;
222  }
223  default: {
224  return false;
225  }
226  }
227 }
228 
230  while (true) {
231  uint32_t tag = input->ReadTag();
232  if (tag == 0) {
233  // End of input. This is a valid place to end, so return true.
234  return true;
235  }
236 
238 
239  if (wire_type == WireFormatLite::WIRETYPE_END_GROUP) {
240  // Must be the end of the message.
241  return true;
242  }
243 
244  if (!SkipField(input, tag)) return false;
245  }
246 }
247 
250  while (true) {
251  uint32_t tag = input->ReadTag();
252  if (tag == 0) {
253  // End of input. This is a valid place to end, so return true.
254  return true;
255  }
256 
258 
259  if (wire_type == WireFormatLite::WIRETYPE_END_GROUP) {
260  output->WriteVarint32(tag);
261  // Must be the end of the message.
262  return true;
263  }
264 
265  if (!SkipField(input, tag, output)) return false;
266  }
267 }
268 
271 }
272 
275 }
276 
277 void FieldSkipper::SkipUnknownEnum(int /* field_number */, int /* value */) {
278  // Nothing.
279 }
280 
282  uint32_t tag) {
284 }
285 
288 }
289 
291  int value) {
292  unknown_fields_->WriteVarint32(field_number);
294 }
295 
297  io::CodedInputStream* input, int field_number, bool (*is_valid)(int),
298  io::CodedOutputStream* unknown_fields_stream, RepeatedField<int>* values) {
300  if (!input->ReadVarint32(&length)) return false;
301  io::CodedInputStream::Limit limit = input->PushLimit(length);
302  while (input->BytesUntilLimit() > 0) {
303  int value;
304  if (!ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(input, &value)) {
305  return false;
306  }
307  if (is_valid == nullptr || is_valid(value)) {
308  values->Add(value);
309  } else {
310  uint32_t tag = WireFormatLite::MakeTag(field_number,
312  unknown_fields_stream->WriteVarint32(tag);
313  unknown_fields_stream->WriteVarint32(value);
314  }
315  }
316  input->PopLimit(limit);
317  return true;
318 }
319 
320 #if !defined(PROTOBUF_LITTLE_ENDIAN)
321 
322 namespace {
323 void EncodeFixedSizeValue(float v, uint8_t* dest) {
325 }
326 
327 void EncodeFixedSizeValue(double v, uint8_t* dest) {
329 }
330 
331 void EncodeFixedSizeValue(uint32_t v, uint8_t* dest) {
333 }
334 
335 void EncodeFixedSizeValue(uint64_t v, uint8_t* dest) {
337 }
338 
339 void EncodeFixedSizeValue(int32_t v, uint8_t* dest) {
341 }
342 
343 void EncodeFixedSizeValue(int64_t v, uint8_t* dest) {
345 }
346 
347 void EncodeFixedSizeValue(bool v, uint8_t* dest) {
349 }
350 } // anonymous namespace
351 
352 #endif // !defined(PROTOBUF_LITTLE_ENDIAN)
353 
354 template <typename CType>
355 static void WriteArray(const CType* a, int n, io::CodedOutputStream* output) {
356 #if defined(PROTOBUF_LITTLE_ENDIAN)
357  output->WriteRaw(reinterpret_cast<const char*>(a), n * sizeof(a[0]));
358 #else
359  const int kAtATime = 128;
360  uint8_t buf[sizeof(CType) * kAtATime];
361  for (int i = 0; i < n; i += kAtATime) {
362  int to_do = std::min(kAtATime, n - i);
363  uint8_t* ptr = buf;
364  for (int j = 0; j < to_do; j++) {
365  EncodeFixedSizeValue(a[i + j], ptr);
366  ptr += sizeof(a[0]);
367  }
368  output->WriteRaw(buf, to_do * sizeof(a[0]));
369  }
370 #endif
371 }
372 
373 void WireFormatLite::WriteFloatArray(const float* a, int n,
375  WriteArray<float>(a, n, output);
376 }
377 
378 void WireFormatLite::WriteDoubleArray(const double* a, int n,
380  WriteArray<double>(a, n, output);
381 }
382 
383 void WireFormatLite::WriteFixed32Array(const uint32_t* a, int n,
385  WriteArray<uint32_t>(a, n, output);
386 }
387 
388 void WireFormatLite::WriteFixed64Array(const uint64_t* a, int n,
390  WriteArray<uint64_t>(a, n, output);
391 }
392 
393 void WireFormatLite::WriteSFixed32Array(const int32_t* a, int n,
395  WriteArray<int32_t>(a, n, output);
396 }
397 
398 void WireFormatLite::WriteSFixed64Array(const int64_t* a, int n,
400  WriteArray<int64_t>(a, n, output);
401 }
402 
403 void WireFormatLite::WriteBoolArray(const bool* a, int n,
405  WriteArray<bool>(a, n, output);
406 }
407 
408 void WireFormatLite::WriteInt32(int field_number, int32_t value,
410  WriteTag(field_number, WIRETYPE_VARINT, output);
412 }
413 void WireFormatLite::WriteInt64(int field_number, int64_t value,
415  WriteTag(field_number, WIRETYPE_VARINT, output);
417 }
418 void WireFormatLite::WriteUInt32(int field_number, uint32_t value,
420  WriteTag(field_number, WIRETYPE_VARINT, output);
422 }
423 void WireFormatLite::WriteUInt64(int field_number, uint64_t value,
425  WriteTag(field_number, WIRETYPE_VARINT, output);
427 }
428 void WireFormatLite::WriteSInt32(int field_number, int32_t value,
430  WriteTag(field_number, WIRETYPE_VARINT, output);
432 }
433 void WireFormatLite::WriteSInt64(int field_number, int64_t value,
435  WriteTag(field_number, WIRETYPE_VARINT, output);
437 }
438 void WireFormatLite::WriteFixed32(int field_number, uint32_t value,
440  WriteTag(field_number, WIRETYPE_FIXED32, output);
442 }
443 void WireFormatLite::WriteFixed64(int field_number, uint64_t value,
445  WriteTag(field_number, WIRETYPE_FIXED64, output);
447 }
448 void WireFormatLite::WriteSFixed32(int field_number, int32_t value,
450  WriteTag(field_number, WIRETYPE_FIXED32, output);
452 }
453 void WireFormatLite::WriteSFixed64(int field_number, int64_t value,
455  WriteTag(field_number, WIRETYPE_FIXED64, output);
457 }
458 void WireFormatLite::WriteFloat(int field_number, float value,
460  WriteTag(field_number, WIRETYPE_FIXED32, output);
462 }
463 void WireFormatLite::WriteDouble(int field_number, double value,
465  WriteTag(field_number, WIRETYPE_FIXED64, output);
467 }
468 void WireFormatLite::WriteBool(int field_number, bool value,
470  WriteTag(field_number, WIRETYPE_VARINT, output);
472 }
473 void WireFormatLite::WriteEnum(int field_number, int value,
475  WriteTag(field_number, WIRETYPE_VARINT, output);
477 }
478 
480 
481 void WireFormatLite::WriteString(int field_number, const std::string& value,
483  // String is for UTF-8 text only
484  WriteTag(field_number, WIRETYPE_LENGTH_DELIMITED, output);
486  output->WriteVarint32(value.size());
487  output->WriteString(value);
488 }
489 void WireFormatLite::WriteStringMaybeAliased(int field_number,
490  const std::string& value,
492  // String is for UTF-8 text only
493  WriteTag(field_number, WIRETYPE_LENGTH_DELIMITED, output);
495  output->WriteVarint32(value.size());
496  output->WriteRawMaybeAliased(value.data(), value.size());
497 }
498 void WireFormatLite::WriteBytes(int field_number, const std::string& value,
500  WriteTag(field_number, WIRETYPE_LENGTH_DELIMITED, output);
502  output->WriteVarint32(value.size());
503  output->WriteString(value);
504 }
505 void WireFormatLite::WriteBytesMaybeAliased(int field_number,
506  const std::string& value,
508  WriteTag(field_number, WIRETYPE_LENGTH_DELIMITED, output);
510  output->WriteVarint32(value.size());
511  output->WriteRawMaybeAliased(value.data(), value.size());
512 }
513 
514 
515 void WireFormatLite::WriteGroup(int field_number, const MessageLite& value,
517  WriteTag(field_number, WIRETYPE_START_GROUP, output);
518  value.SerializeWithCachedSizes(output);
519  WriteTag(field_number, WIRETYPE_END_GROUP, output);
520 }
521 
522 void WireFormatLite::WriteMessage(int field_number, const MessageLite& value,
524  WriteTag(field_number, WIRETYPE_LENGTH_DELIMITED, output);
525  const int size = value.GetCachedSize();
526  output->WriteVarint32(size);
527  value.SerializeWithCachedSizes(output);
528 }
529 
531  int /*size*/, const MessageLite& value, io::CodedOutputStream* output) {
532  output->SetCur(value._InternalSerialize(output->Cur(), output->EpsCopy()));
533 }
534 
535 void WireFormatLite::WriteGroupMaybeToArray(int field_number,
536  const MessageLite& value,
538  WriteTag(field_number, WIRETYPE_START_GROUP, output);
539  const int size = value.GetCachedSize();
541  WriteTag(field_number, WIRETYPE_END_GROUP, output);
542 }
543 
544 void WireFormatLite::WriteMessageMaybeToArray(int field_number,
545  const MessageLite& value,
547  WriteTag(field_number, WIRETYPE_LENGTH_DELIMITED, output);
548  const int size = value.GetCachedSize();
549  output->WriteVarint32(size);
551 }
552 
553 PROTOBUF_NDEBUG_INLINE static bool ReadBytesToString(
556  std::string* value) {
558  return input->ReadVarint32(&length) && input->ReadString(value, length);
559 }
560 
562  std::string* value) {
563  return ReadBytesToString(input, value);
564 }
565 
567  if (*p == &GetEmptyStringAlreadyInited()) {
568  *p = new std::string();
569  }
570  return ReadBytesToString(input, *p);
571 }
572 
573 void PrintUTF8ErrorLog(const char* field_name, const char* operation_str,
574  bool emit_stacktrace) {
575  std::string stacktrace;
576  (void)emit_stacktrace; // Parameter is used by Google-internal code.
577  std::string quoted_field_name = "";
578  if (field_name != nullptr) {
579  quoted_field_name = StringPrintf(" '%s'", field_name);
580  }
581  GOOGLE_LOG(ERROR) << "String field" << quoted_field_name << " contains invalid "
582  << "UTF-8 data when " << operation_str << " a protocol "
583  << "buffer. Use the 'bytes' type if you intend to send raw "
584  << "bytes. " << stacktrace;
585 }
586 
587 bool WireFormatLite::VerifyUtf8String(const char* data, int size, Operation op,
588  const char* field_name) {
590  const char* operation_str = nullptr;
591  switch (op) {
592  case PARSE:
593  operation_str = "parsing";
594  break;
595  case SERIALIZE:
596  operation_str = "serializing";
597  break;
598  // no default case: have the compiler warn if a case is not covered.
599  }
600  PrintUTF8ErrorLog(field_name, operation_str, false);
601  return false;
602  }
603  return true;
604 }
605 
606 // this code is deliberately written such that clang makes it into really
607 // efficient SSE code.
608 template <bool ZigZag, bool SignExtended, typename T>
609 static size_t VarintSize(const T* data, const int n) {
610  static_assert(sizeof(T) == 4, "This routine only works for 32 bit integers");
611  // is_unsigned<T> => !ZigZag
612  static_assert(
614  "Cannot ZigZag encode unsigned types");
615  // is_unsigned<T> => !SignExtended
616  static_assert(
618  "Cannot SignExtended unsigned types");
619  static_assert(!(SignExtended && ZigZag),
620  "Cannot SignExtended and ZigZag on the same type");
621  uint32_t sum = n;
622  uint32_t msb_sum = 0;
623  for (int i = 0; i < n; i++) {
624  uint32_t x = data[i];
625  if (ZigZag) {
627  } else if (SignExtended) {
628  msb_sum += x >> 31;
629  }
630  // clang is so smart that it produces optimal SSE sequence unrolling
631  // the loop 8 ints at a time. With a sequence of 4
632  // cmpres = cmpgt x, sizeclass ( -1 or 0)
633  // sum = sum - cmpres
634  if (x > 0x7F) sum++;
635  if (x > 0x3FFF) sum++;
636  if (x > 0x1FFFFF) sum++;
637  if (x > 0xFFFFFFF) sum++;
638  }
639  if (SignExtended) sum += msb_sum * 5;
640  return sum;
641 }
642 
643 template <bool ZigZag, typename T>
644 static size_t VarintSize64(const T* data, const int n) {
645  static_assert(sizeof(T) == 8, "This routine only works for 64 bit integers");
646  // is_unsigned<T> => !ZigZag
647  static_assert(!ZigZag || !std::is_unsigned<T>::value,
648  "Cannot ZigZag encode unsigned types");
649  uint64_t sum = n;
650  for (int i = 0; i < n; i++) {
651  uint64_t x = data[i];
652  if (ZigZag) {
654  }
655  // First step is a binary search, we can't branch in sse so we use the
656  // result of the compare to adjust sum and appropriately. This code is
657  // written to make clang recognize the vectorization.
658  uint64_t tmp = x >= (static_cast<uint64_t>(1) << 35) ? -1 : 0;
659  sum += 5 & tmp;
660  x >>= 35 & tmp;
661  if (x > 0x7F) sum++;
662  if (x > 0x3FFF) sum++;
663  if (x > 0x1FFFFF) sum++;
664  if (x > 0xFFFFFFF) sum++;
665  }
666  return sum;
667 }
668 
669 // GCC does not recognize the vectorization opportunity
670 // and other platforms are untested, in those cases using the optimized
671 // varint size routine for each element is faster.
672 // Hence we enable it only for clang
673 #if defined(__SSE__) && defined(__clang__)
675  return VarintSize<false, true>(value.data(), value.size());
676 }
677 
679  return VarintSize<false, false>(value.data(), value.size());
680 }
681 
683  return VarintSize<true, false>(value.data(), value.size());
684 }
685 
687  // On ILP64, sizeof(int) == 8, which would require a different template.
688  return VarintSize<false, true>(value.data(), value.size());
689 }
690 
691 #else // !(defined(__SSE4_1__) && defined(__clang__))
692 
694  size_t out = 0;
695  const int n = value.size();
696  for (int i = 0; i < n; i++) {
697  out += Int32Size(value.Get(i));
698  }
699  return out;
700 }
701 
703  size_t out = 0;
704  const int n = value.size();
705  for (int i = 0; i < n; i++) {
706  out += UInt32Size(value.Get(i));
707  }
708  return out;
709 }
710 
712  size_t out = 0;
713  const int n = value.size();
714  for (int i = 0; i < n; i++) {
715  out += SInt32Size(value.Get(i));
716  }
717  return out;
718 }
719 
721  size_t out = 0;
722  const int n = value.size();
723  for (int i = 0; i < n; i++) {
724  out += EnumSize(value.Get(i));
725  }
726  return out;
727 }
728 
729 #endif
730 
731 // Micro benchmarks show that the SSE improved loop only starts beating
732 // the normal loop on Haswell platforms and then only for >32 ints. We
733 // disable this for now. Some specialized users might find it worthwhile to
734 // enable this.
735 #define USE_SSE_FOR_64_BIT_INTEGER_ARRAYS 0
736 #if USE_SSE_FOR_64_BIT_INTEGER_ARRAYS
738  return VarintSize64<false>(value.data(), value.size());
739 }
740 
742  return VarintSize64<false>(value.data(), value.size());
743 }
744 
746  return VarintSize64<true>(value.data(), value.size());
747 }
748 
749 #else
750 
752  size_t out = 0;
753  const int n = value.size();
754  for (int i = 0; i < n; i++) {
755  out += Int64Size(value.Get(i));
756  }
757  return out;
758 }
759 
761  size_t out = 0;
762  const int n = value.size();
763  for (int i = 0; i < n; i++) {
764  out += UInt64Size(value.Get(i));
765  }
766  return out;
767 }
768 
770  size_t out = 0;
771  const int n = value.size();
772  for (int i = 0; i < n; i++) {
773  out += SInt64Size(value.Get(i));
774  }
775  return out;
776 }
777 
778 #endif
779 
780 } // namespace internal
781 } // namespace protobuf
782 } // namespace google
783 
784 #include <google/protobuf/port_undef.inc>
ptr
char * ptr
Definition: abseil-cpp/absl/base/internal/low_level_alloc_test.cc:45
google::protobuf.internal::WireFormatLite::EnumSize
static size_t EnumSize(int value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1763
google::protobuf.internal::WireFormatLite::WriteUInt64NoTag
static PROTOBUF_ALWAYS_INLINE void WriteUInt64NoTag(uint64 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1306
fix_build_deps.temp
temp
Definition: fix_build_deps.py:488
gen_build_yaml.out
dictionary out
Definition: src/benchmark/gen_build_yaml.py:24
google::protobuf.internal::WireFormatLite::ReadBytes
static bool ReadBytes(io::CodedInputStream *input, std::string *value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:559
google::protobuf.internal::WireFormatLite::WriteSInt32NoTag
static PROTOBUF_ALWAYS_INLINE void WriteSInt32NoTag(int32 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1310
google::protobuf::value
const Descriptor::ReservedRange value
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:1954
google::protobuf.internal::WireFormatLite::WriteUInt64
static void WriteUInt64(int field_number, uint64 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:422
google::protobuf.internal::VarintSize
static size_t VarintSize(const T *data, const int n)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:606
google::protobuf.internal::WireFormatLite::ReadPackedEnumPreserveUnknowns
static bool ReadPackedEnumPreserveUnknowns(io::CodedInputStream *input, int field_number, bool(*is_valid)(int), io::CodedOutputStream *unknown_fields_stream, RepeatedField< int > *values)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:295
google::protobuf::io::CodedOutputStream::WriteVarint64
void WriteVarint64(uint64 value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/io/coded_stream.h:1643
google::protobuf.internal::WireFormatLite::WriteFloatArray
static void WriteFloatArray(const float *a, int n, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:372
google::protobuf.internal::WireFormatLite::WriteSubMessageMaybeToArray
static void WriteSubMessageMaybeToArray(int size, const MessageLite &value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:527
grpc::testing::sum
double sum(const T &container, F functor)
Definition: test/cpp/qps/stats.h:30
google::protobuf.internal::WireFormatLite::WriteFixed32Array
static void WriteFixed32Array(const uint32 *a, int n, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:382
google::protobuf.internal::WireFormatLite::WriteFixed64Array
static void WriteFixed64Array(const uint64 *a, int n, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:387
google::protobuf.internal::WireFormatLite::WriteDoubleArray
static void WriteDoubleArray(const double *a, int n, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:377
buf
voidpf void * buf
Definition: bloaty/third_party/zlib/contrib/minizip/ioapi.h:136
google::protobuf.internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED
@ WIRETYPE_LENGTH_DELIMITED
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:104
testing::internal::string
::std::string string
Definition: bloaty/third_party/protobuf/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:881
google::protobuf.internal::WireFormatLite::SkipMessage
static bool SkipMessage(io::CodedInputStream *input)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:228
google::protobuf.internal::WireFormatLite::kFieldTypeToCppTypeMap
static const CppType kFieldTypeToCppTypeMap[]
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:729
google::protobuf.internal::WireFormatLite::WriteGroupMaybeToArray
static void WriteGroupMaybeToArray(int field_number, const MessageLite &value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:533
google::protobuf.internal::WireFormatLite::WriteSFixed64NoTagToArray
static PROTOBUF_ALWAYS_INLINE uint8 * WriteSFixed64NoTagToArray(int64 value, uint8 *target)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1419
google::protobuf
Definition: bloaty/third_party/protobuf/benchmarks/util/data_proto2_to_proto3_util.h:12
google::protobuf.internal::WireFormatLite::WriteUInt32
static void WriteUInt32(int field_number, uint32 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:417
a
int a
Definition: abseil-cpp/absl/container/internal/hash_policy_traits_test.cc:88
google::protobuf::RepeatedField< int32_t >
google::protobuf.internal::WireFormatLite::WriteBoolNoTag
static PROTOBUF_ALWAYS_INLINE void WriteBoolNoTag(bool value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1342
uint8_t
unsigned char uint8_t
Definition: stdint-msvc2008.h:78
google::protobuf.internal::WireFormatLite::WriteSFixed64Array
static void WriteSFixed64Array(const int64 *a, int n, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:397
google::protobuf.internal::WireFormatLite::WIRETYPE_FIXED64
@ WIRETYPE_FIXED64
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:103
google::protobuf.internal::WireFormatLite::CppType
CppType
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:134
google::protobuf.internal::WireFormatLite::ZigZagEncode32
static uint32 ZigZagEncode32(int32 n)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:868
google::protobuf.internal::WireFormatLite::WriteDouble
static void WriteDouble(int field_number, double value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:462
T
#define T(upbtypeconst, upbtype, ctype, default_value)
google::protobuf.internal::WireFormatLite::SkipField
static bool SkipField(io::CodedInputStream *input, uint32 tag)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:123
google::protobuf.internal::WireFormatLite::SInt32Size
static size_t SInt32Size(int32 value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1757
google::protobuf.internal::WireFormatLite::MakeTag
constexpr static uint32 MakeTag(int field_number, WireType type)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:783
uint32_t
unsigned int uint32_t
Definition: stdint-msvc2008.h:80
google::protobuf.internal::VarintSize64
static size_t VarintSize64(const T *data, const int n)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:643
google::protobuf.internal::WireFormatLite::WriteEnumNoTag
static PROTOBUF_ALWAYS_INLINE void WriteEnumNoTag(int value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1346
google::protobuf.internal::WireFormatLite::kMessageSetItemEndTag
static const int kMessageSetItemEndTag
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:217
google::protobuf.internal::WireFormatLite::WriteBoolArray
static void WriteBoolArray(const bool *a, int n, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:402
google::protobuf.internal::WireFormatLite::WriteBytes
static void WriteBytes(int field_number, const std::string &value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:495
google::protobuf.internal::WireFormatLite::WriteGroup
static void WriteGroup(int field_number, const MessageLite &value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:512
google::protobuf.internal::WireFormatLite::WriteSFixed32Array
static void WriteSFixed32Array(const int32 *a, int n, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:392
google::protobuf.internal::WireFormatLite::WriteBool
static void WriteBool(int field_number, bool value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:467
google::protobuf.internal::WireFormatLite::WriteBoolNoTagToArray
static PROTOBUF_ALWAYS_INLINE uint8 * WriteBoolNoTagToArray(bool value, uint8 *target)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1434
int64_t
signed __int64 int64_t
Definition: stdint-msvc2008.h:89
tag
static void * tag(intptr_t t)
Definition: bad_client.cc:318
max
int max
Definition: bloaty/third_party/zlib/examples/enough.c:170
gmock_output_test.output
output
Definition: bloaty/third_party/googletest/googlemock/test/gmock_output_test.py:175
google::protobuf.internal::WireFormatLite::WIRETYPE_FIXED32
@ WIRETYPE_FIXED32
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:107
google::protobuf.internal::WireFormatLite::SERIALIZE
@ SERIALIZE
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:324
google::protobuf.internal::GetEmptyStringAlreadyInited
const PROTOBUF_EXPORT std::string & GetEmptyStringAlreadyInited()
Definition: bloaty/third_party/protobuf/src/google/protobuf/message_lite.h:153
setup.v
v
Definition: third_party/bloaty/third_party/capstone/bindings/python/setup.py:42
grpc::protobuf::MessageLite
GRPC_CUSTOM_MESSAGELITE MessageLite
Definition: include/grpcpp/impl/codegen/config_protobuf.h:79
google::protobuf.internal::WireFormatLite::WriteFixed32
static void WriteFixed32(int field_number, uint32 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:437
google::protobuf.internal::WireFormatLite::WriteSInt64NoTag
static PROTOBUF_ALWAYS_INLINE void WriteSInt64NoTag(int64 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1314
google::protobuf.internal::WireFormatLite::PARSE
@ PARSE
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:323
uint64_t
unsigned __int64 uint64_t
Definition: stdint-msvc2008.h:90
google::protobuf.internal::WireFormatLite::WriteString
static void WriteString(int field_number, const std::string &value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:478
google::protobuf.internal::WireFormatLite::WriteInt64NoTag
static PROTOBUF_ALWAYS_INLINE void WriteInt64NoTag(int64 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1298
grpc::protobuf::io::CodedInputStream
GRPC_CUSTOM_CODEDINPUTSTREAM CodedInputStream
Definition: include/grpcpp/impl/codegen/config_protobuf.h:102
google::protobuf::StringPrintf
string StringPrintf(const char *format,...)
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/stringprintf.cc:109
google::protobuf.internal::WireFormatLite::Int64Size
static size_t Int64Size(int64 value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1748
google::protobuf.internal::WireFormatLite::WriteFloatNoTag
static PROTOBUF_ALWAYS_INLINE void WriteFloatNoTag(float value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1334
google::protobuf.internal::WireFormatLite::WriteFixed32NoTagToArray
static PROTOBUF_ALWAYS_INLINE uint8 * WriteFixed32NoTagToArray(uint32 value, uint8 *target)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1406
google::protobuf.internal::ReadBytesToString
static PROTOBUF_ALWAYS_INLINE bool ReadBytesToString(io::CodedInputStream *input, std::string *value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:553
google::protobuf.internal::FieldSkipper::SkipUnknownEnum
virtual void SkipUnknownEnum(int field_number, int value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:276
google::protobuf.internal::WireFormatLite::VerifyUtf8String
static bool VerifyUtf8String(const char *data, int size, Operation op, const char *field_name)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:584
google::protobuf.internal::WireFormatLite::SInt64Size
static size_t SInt64Size(int64 value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1760
x
int x
Definition: bloaty/third_party/googletest/googlemock/test/gmock-matchers_test.cc:3610
google::protobuf.internal::WireFormatLite::kMessageSetItemStartTag
static const int kMessageSetItemStartTag
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:215
data
char data[kBufferLength]
Definition: abseil-cpp/absl/strings/internal/str_format/float_conversion.cc:1006
grpc::protobuf::io::CodedOutputStream
GRPC_CUSTOM_CODEDOUTPUTSTREAM CodedOutputStream
Definition: src/compiler/config.h:55
google::protobuf.internal::WireFormatLite::WIRETYPE_VARINT
@ WIRETYPE_VARINT
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:102
min
#define min(a, b)
Definition: qsort.h:83
google::protobuf.internal::WireFormatLite::WriteInt64
static void WriteInt64(int field_number, int64 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:412
google::protobuf.internal::WireFormatLite::WriteFloat
static void WriteFloat(int field_number, float value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:457
n
int n
Definition: abseil-cpp/absl/container/btree_test.cc:1080
tests.qps.qps_worker.dest
dest
Definition: qps_worker.py:45
google::protobuf::ERROR
static const LogLevel ERROR
Definition: bloaty/third_party/protobuf/src/google/protobuf/testing/googletest.h:70
google::protobuf.internal::WireFormatLite::GetTagFieldNumber
static int GetTagFieldNumber(uint32 tag)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:792
google::protobuf.internal::PrintUTF8ErrorLog
void PrintUTF8ErrorLog(const char *field_name, const char *operation_str, bool emit_stacktrace)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:571
google::protobuf::io::CodedOutputStream
Definition: bloaty/third_party/protobuf/src/google/protobuf/io/coded_stream.h:1044
google::protobuf.internal::kInt32MaxSize
constexpr size_t kInt32MaxSize
Definition: protobuf/src/google/protobuf/wire_format_lite.cc:479
value
const char * value
Definition: hpack_parser_table.cc:165
google::protobuf.internal::WireFormatLite::WriteInt32NoTag
static PROTOBUF_ALWAYS_INLINE void WriteInt32NoTag(int32 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1294
google::protobuf.internal::WireFormatLite::GetTagWireType
static WireType GetTagWireType(uint32 tag)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:788
google::protobuf.internal::WireFormatLite::WriteSInt64
static void WriteSInt64(int field_number, int64 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:432
google::protobuf.internal::WireFormatLite::WriteEnum
static void WriteEnum(int field_number, int value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:472
google::protobuf.internal::WireFormatLite::WriteFixed64NoTag
static PROTOBUF_ALWAYS_INLINE void WriteFixed64NoTag(uint64 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1322
google::protobuf.internal::WireFormatLite::WIRETYPE_START_GROUP
@ WIRETYPE_START_GROUP
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:105
google::protobuf.internal::FieldSkipper::SkipMessage
virtual bool SkipMessage(io::CodedInputStream *input)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:272
google::protobuf.internal::CodedOutputStreamFieldSkipper::SkipMessage
bool SkipMessage(io::CodedInputStream *input) override
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:285
google::protobuf.internal::WireFormatLite::WriteDoubleNoTag
static PROTOBUF_ALWAYS_INLINE void WriteDoubleNoTag(double value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1338
google::protobuf.internal::WireFormatLite::WriteFloatNoTagToArray
static PROTOBUF_ALWAYS_INLINE uint8 * WriteFloatNoTagToArray(float value, uint8 *target)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1424
google::protobuf.internal::WireFormatLite::WriteTag
static PROTOBUF_ALWAYS_INLINE void WriteTag(int field_number, WireType type, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1289
google::protobuf.internal::FieldSkipper::SkipField
virtual bool SkipField(io::CodedInputStream *input, uint32 tag)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:268
google::protobuf.internal::CodedOutputStreamFieldSkipper::SkipField
bool SkipField(io::CodedInputStream *input, uint32 tag) override
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:280
google::protobuf.internal::WireFormatLite::WriteSFixed64
static void WriteSFixed64(int field_number, int64 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:452
google::protobuf.internal::IsStructurallyValidUTF8
PROTOBUF_EXPORT bool IsStructurallyValidUTF8(const char *buf, int len)
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/structurally_valid.cc:556
google::protobuf.internal::WireFormatLite::WriteMessageMaybeToArray
static void WriteMessageMaybeToArray(int field_number, const MessageLite &value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:542
google::protobuf.internal::WireFormatLite::ZigZagEncode64
static uint64 ZigZagEncode64(int64 n)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:879
google::protobuf.internal::WriteArray
static void WriteArray(const CType *a, int n, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:354
google::protobuf.internal::WireFormatLite::kWireTypeForFieldType
static const WireFormatLite::WireType kWireTypeForFieldType[]
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:730
google::protobuf::io::CodedInputStream
Definition: bloaty/third_party/protobuf/src/google/protobuf/io/coded_stream.h:180
values
std::array< int64_t, Size > values
Definition: abseil-cpp/absl/container/btree_benchmark.cc:608
google::protobuf.internal::WireFormatLite::kMessageSetMessageTag
static const int kMessageSetMessageTag
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:221
google::protobuf.internal::WireFormatLite::WireType
WireType
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:101
input
std::string input
Definition: bloaty/third_party/protobuf/src/google/protobuf/io/tokenizer_unittest.cc:197
google::protobuf.internal::WireFormatLite::WriteSFixed64NoTag
static PROTOBUF_ALWAYS_INLINE void WriteSFixed64NoTag(int64 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1330
google::protobuf.internal::WireFormatLite::WriteFixed32NoTag
static PROTOBUF_ALWAYS_INLINE void WriteFixed32NoTag(uint32 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1318
google::protobuf.internal::WireFormatLite::WriteMessage
static void WriteMessage(int field_number, const MessageLite &value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:519
google::protobuf.internal::CodedOutputStreamFieldSkipper::SkipUnknownEnum
void SkipUnknownEnum(int field_number, int value) override
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:289
google::protobuf.internal::WireFormatLite::WriteBytesMaybeAliased
static void WriteBytesMaybeAliased(int field_number, const std::string &value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:502
google::protobuf.internal::WireFormatLite::WriteSInt32
static void WriteSInt32(int field_number, int32 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:427
google::protobuf.internal::WireFormatLite::WIRETYPE_END_GROUP
@ WIRETYPE_END_GROUP
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:106
internal
Definition: benchmark/test/output_test_helper.cc:20
google::protobuf.internal::WireFormatLite::UInt32Size
static size_t UInt32Size(uint32 value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1751
google::protobuf::io::CodedInputStream::Limit
int Limit
Definition: bloaty/third_party/protobuf/src/google/protobuf/io/coded_stream.h:348
google::protobuf.internal::WireFormatLite::WriteFixed64
static void WriteFixed64(int field_number, uint64 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:442
autogen_x86imm.tmp
tmp
Definition: autogen_x86imm.py:12
google::protobuf.internal::WireFormatLite::WriteDoubleNoTagToArray
static PROTOBUF_ALWAYS_INLINE uint8 * WriteDoubleNoTagToArray(double value, uint8 *target)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1429
google::protobuf.internal::WireFormatLite::WriteSFixed32NoTag
static PROTOBUF_ALWAYS_INLINE void WriteSFixed32NoTag(int32 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1326
google::protobuf.internal::WireFormatLite::Int32Size
static size_t Int32Size(int32 value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1745
size
voidpf void uLong size
Definition: bloaty/third_party/zlib/contrib/minizip/ioapi.h:136
google::protobuf.internal::WireFormatLite::WriteSFixed32NoTagToArray
static PROTOBUF_ALWAYS_INLINE uint8 * WriteSFixed32NoTagToArray(int32 value, uint8 *target)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1414
length
std::size_t length
Definition: abseil-cpp/absl/time/internal/test_util.cc:57
int32_t
signed int int32_t
Definition: stdint-msvc2008.h:77
GOOGLE_LOG
#define GOOGLE_LOG(LEVEL)
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/logging.h:146
google::protobuf.internal::WireFormatLite::WriteUInt32NoTag
static PROTOBUF_ALWAYS_INLINE void WriteUInt32NoTag(uint32 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1302
op
static grpc_op * op
Definition: test/core/fling/client.cc:47
google::protobuf.internal::WireFormatLite::WriteFixed64NoTagToArray
static PROTOBUF_ALWAYS_INLINE uint8 * WriteFixed64NoTagToArray(uint64 value, uint8 *target)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1410
google::protobuf.internal::WireFormatLite::WriteSFixed32
static void WriteSFixed32(int field_number, int32 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:447
google::protobuf::io::CodedOutputStream::WriteVarint32
void WriteVarint32(uint32 value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/io/coded_stream.h:1638
google::protobuf.internal::WireFormatLite::kMessageSetItemTagsSize
static const size_t kMessageSetItemTagsSize
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:225
google
Definition: bloaty/third_party/protobuf/benchmarks/util/data_proto2_to_proto3_util.h:11
GOOGLE_CHECK_LE
#define GOOGLE_CHECK_LE(A, B)
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/logging.h:159
google::protobuf.internal::WireFormatLite::WriteInt32
static void WriteInt32(int field_number, int32 value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:407
framework.infrastructure.gcp.api.Operation
Operation
Definition: api.py:60
i
uint64_t i
Definition: abseil-cpp/absl/container/btree_benchmark.cc:230
google::protobuf.internal::WireFormatLite::WriteStringMaybeAliased
static void WriteStringMaybeAliased(int field_number, const std::string &value, io::CodedOutputStream *output)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:486
google::protobuf.internal::WireFormatLite::kMessageSetTypeIdTag
static const int kMessageSetTypeIdTag
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:219
google::protobuf.internal::CodedOutputStreamFieldSkipper::unknown_fields_
io::CodedOutputStream * unknown_fields_
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:773
google::protobuf.internal::WireFormatLite::UInt64Size
static size_t UInt64Size(uint64 value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:1754
RepeatedField
Definition: bloaty/third_party/protobuf/ruby/ext/google/protobuf_c/protobuf.h:403


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