GPBCodedOutputStream_PackagePrivate.h 4.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. // Protocol Buffers - Google's data interchange format
  2. // Copyright 2016 Google Inc. All rights reserved.
  3. //
  4. // Use of this source code is governed by a BSD-style
  5. // license that can be found in the LICENSE file or at
  6. // https://developers.google.com/open-source/licenses/bsd
  7. #import <Foundation/Foundation.h>
  8. #import "GPBCodedOutputStream.h"
  9. #import "GPBMessage.h"
  10. NS_ASSUME_NONNULL_BEGIN
  11. CF_EXTERN_C_BEGIN
  12. size_t GPBComputeDoubleSize(int32_t fieldNumber, double value) __attribute__((const));
  13. size_t GPBComputeFloatSize(int32_t fieldNumber, float value) __attribute__((const));
  14. size_t GPBComputeUInt64Size(int32_t fieldNumber, uint64_t value) __attribute__((const));
  15. size_t GPBComputeInt64Size(int32_t fieldNumber, int64_t value) __attribute__((const));
  16. size_t GPBComputeInt32Size(int32_t fieldNumber, int32_t value) __attribute__((const));
  17. size_t GPBComputeFixed64Size(int32_t fieldNumber, uint64_t value) __attribute__((const));
  18. size_t GPBComputeFixed32Size(int32_t fieldNumber, uint32_t value) __attribute__((const));
  19. size_t GPBComputeBoolSize(int32_t fieldNumber, BOOL value) __attribute__((const));
  20. size_t GPBComputeStringSize(int32_t fieldNumber, NSString *value) __attribute__((const));
  21. size_t GPBComputeGroupSize(int32_t fieldNumber, GPBMessage *value) __attribute__((const));
  22. #pragma clang diagnostic push
  23. #pragma clang diagnostic ignored "-Wdeprecated-declarations"
  24. size_t GPBComputeUnknownGroupSize(int32_t fieldNumber, GPBUnknownFieldSet *value)
  25. __attribute__((const));
  26. #pragma clang diagnostic pop
  27. size_t GPBComputeMessageSize(int32_t fieldNumber, GPBMessage *value) __attribute__((const));
  28. size_t GPBComputeBytesSize(int32_t fieldNumber, NSData *value) __attribute__((const));
  29. size_t GPBComputeUInt32Size(int32_t fieldNumber, uint32_t value) __attribute__((const));
  30. size_t GPBComputeSFixed32Size(int32_t fieldNumber, int32_t value) __attribute__((const));
  31. size_t GPBComputeSFixed64Size(int32_t fieldNumber, int64_t value) __attribute__((const));
  32. size_t GPBComputeSInt32Size(int32_t fieldNumber, int32_t value) __attribute__((const));
  33. size_t GPBComputeSInt64Size(int32_t fieldNumber, int64_t value) __attribute__((const));
  34. size_t GPBComputeTagSize(int32_t fieldNumber) __attribute__((const));
  35. size_t GPBComputeWireFormatTagSize(int field_number, GPBDataType dataType) __attribute__((const));
  36. size_t GPBComputeDoubleSizeNoTag(double value) __attribute__((const));
  37. size_t GPBComputeFloatSizeNoTag(float value) __attribute__((const));
  38. size_t GPBComputeUInt64SizeNoTag(uint64_t value) __attribute__((const));
  39. size_t GPBComputeInt64SizeNoTag(int64_t value) __attribute__((const));
  40. size_t GPBComputeInt32SizeNoTag(int32_t value) __attribute__((const));
  41. size_t GPBComputeFixed64SizeNoTag(uint64_t value) __attribute__((const));
  42. size_t GPBComputeFixed32SizeNoTag(uint32_t value) __attribute__((const));
  43. size_t GPBComputeBoolSizeNoTag(BOOL value) __attribute__((const));
  44. size_t GPBComputeStringSizeNoTag(NSString *value) __attribute__((const));
  45. size_t GPBComputeGroupSizeNoTag(GPBMessage *value) __attribute__((const));
  46. #pragma clang diagnostic push
  47. #pragma clang diagnostic ignored "-Wdeprecated-declarations"
  48. size_t GPBComputeUnknownGroupSizeNoTag(GPBUnknownFieldSet *value) __attribute__((const));
  49. #pragma clang diagnostic pop
  50. size_t GPBComputeMessageSizeNoTag(GPBMessage *value) __attribute__((const));
  51. size_t GPBComputeBytesSizeNoTag(NSData *value) __attribute__((const));
  52. size_t GPBComputeUInt32SizeNoTag(int32_t value) __attribute__((const));
  53. size_t GPBComputeEnumSizeNoTag(int32_t value) __attribute__((const));
  54. size_t GPBComputeSFixed32SizeNoTag(int32_t value) __attribute__((const));
  55. size_t GPBComputeSFixed64SizeNoTag(int64_t value) __attribute__((const));
  56. size_t GPBComputeSInt32SizeNoTag(int32_t value) __attribute__((const));
  57. size_t GPBComputeSInt64SizeNoTag(int64_t value) __attribute__((const));
  58. // Note that this will calculate the size of 64 bit values truncated to 32.
  59. size_t GPBComputeSizeTSizeAsInt32NoTag(size_t value) __attribute__((const));
  60. size_t GPBComputeRawVarint32Size(int32_t value) __attribute__((const));
  61. size_t GPBComputeRawVarint64Size(int64_t value) __attribute__((const));
  62. // Note that this will calculate the size of 64 bit values truncated to 32.
  63. size_t GPBComputeRawVarint32SizeForInteger(NSInteger value) __attribute__((const));
  64. // Compute the number of bytes that would be needed to encode a
  65. // MessageSet extension to the stream. For historical reasons,
  66. // the wire format differs from normal fields.
  67. size_t GPBComputeMessageSetExtensionSize(int32_t fieldNumber, GPBMessage *value)
  68. __attribute__((const));
  69. // Compute the number of bytes that would be needed to encode an
  70. // unparsed MessageSet extension field to the stream. For
  71. // historical reasons, the wire format differs from normal fields.
  72. size_t GPBComputeRawMessageSetExtensionSize(int32_t fieldNumber, NSData *value)
  73. __attribute__((const));
  74. size_t GPBComputeEnumSize(int32_t fieldNumber, int32_t value) __attribute__((const));
  75. CF_EXTERN_C_END
  76. NS_ASSUME_NONNULL_END