Fields.cpp 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. #include "Fields.h"
  2. namespace EmbeddedProto
  3. {
  4. bool serialize(uint32_t field_number, const int32& x, WriteBufferInterface& buffer)
  5. {
  6. return WireFormatter::SerializeVarint(WireFormatter::MakeTag(field_number, WireFormatter::WireType::VARINT), buffer) && serialize(x, buffer);
  7. }
  8. bool serialize(uint32_t field_number, const int64& x, WriteBufferInterface& buffer)
  9. {
  10. return WireFormatter::SerializeVarint(WireFormatter::MakeTag(field_number, WireFormatter::WireType::VARINT), buffer) && serialize(x, buffer);
  11. }
  12. bool serialize(uint32_t field_number, const uint32& x, WriteBufferInterface& buffer)
  13. {
  14. return WireFormatter::SerializeVarint(WireFormatter::MakeTag(field_number, WireFormatter::WireType::VARINT), buffer) && serialize(x, buffer);
  15. }
  16. bool serialize(uint32_t field_number, const uint64& x, WriteBufferInterface& buffer)
  17. {
  18. return WireFormatter::SerializeVarint(WireFormatter::MakeTag(field_number, WireFormatter::WireType::VARINT), buffer) && serialize(x, buffer);
  19. }
  20. bool serialize(uint32_t field_number, const sint32& x, WriteBufferInterface& buffer)
  21. {
  22. return WireFormatter::SerializeVarint(WireFormatter::MakeTag(field_number, WireFormatter::WireType::VARINT), buffer) && serialize(x, buffer);
  23. }
  24. bool serialize(uint32_t field_number, const sint64& x, WriteBufferInterface& buffer)
  25. {
  26. return WireFormatter::SerializeVarint(WireFormatter::MakeTag(field_number, WireFormatter::WireType::VARINT), buffer) && serialize(x, buffer);
  27. }
  28. bool serialize(uint32_t field_number, const boolean& x, WriteBufferInterface& buffer)
  29. {
  30. return WireFormatter::SerializeVarint(WireFormatter::MakeTag(field_number, WireFormatter::WireType::VARINT), buffer) && serialize(x, buffer);
  31. }
  32. bool serialize(uint32_t field_number, const fixed32& x, WriteBufferInterface& buffer)
  33. {
  34. return WireFormatter::SerializeVarint(WireFormatter::MakeTag(field_number, WireFormatter::WireType::FIXED32), buffer) && serialize(x, buffer);
  35. }
  36. bool serialize(uint32_t field_number, const fixed64& x, WriteBufferInterface& buffer)
  37. {
  38. return WireFormatter::SerializeVarint(WireFormatter::MakeTag(field_number, WireFormatter::WireType::FIXED64), buffer) && serialize(x, buffer);
  39. }
  40. bool serialize(uint32_t field_number, const sfixed32& x, WriteBufferInterface& buffer)
  41. {
  42. return WireFormatter::SerializeVarint(WireFormatter::MakeTag(field_number, WireFormatter::WireType::FIXED32), buffer) && serialize(x, buffer);
  43. }
  44. bool serialize(uint32_t field_number, const sfixed64& x, WriteBufferInterface& buffer)
  45. {
  46. return WireFormatter::SerializeVarint(WireFormatter::MakeTag(field_number, WireFormatter::WireType::FIXED64), buffer) && serialize(x, buffer);
  47. }
  48. bool serialize(uint32_t field_number, const floatfixed& x, WriteBufferInterface& buffer)
  49. {
  50. return WireFormatter::SerializeVarint(WireFormatter::MakeTag(field_number, WireFormatter::WireType::FIXED32), buffer) && serialize(x, buffer);
  51. }
  52. bool serialize(uint32_t field_number, const doublefixed& x, WriteBufferInterface& buffer)
  53. {
  54. return WireFormatter::SerializeVarint(WireFormatter::MakeTag(field_number, WireFormatter::WireType::FIXED64), buffer) && serialize(x, buffer);
  55. }
  56. bool serialize(const int32& x, WriteBufferInterface& buffer)
  57. {
  58. return WireFormatter::SerializeVarint(static_cast<uint32_t>(x.get()), buffer);
  59. }
  60. bool serialize(const int64& x, WriteBufferInterface& buffer)
  61. {
  62. return WireFormatter::SerializeVarint(static_cast<uint64_t>(x.get()), buffer);
  63. }
  64. bool serialize(const uint32& x, WriteBufferInterface& buffer)
  65. {
  66. return WireFormatter::SerializeVarint(x.get(), buffer);
  67. }
  68. bool serialize(const uint64& x, WriteBufferInterface& buffer)
  69. {
  70. return WireFormatter::SerializeVarint(x.get(), buffer);
  71. }
  72. bool serialize(const sint32& x, WriteBufferInterface& buffer)
  73. {
  74. return WireFormatter::SerializeVarint(WireFormatter::ZigZagEncode(x.get()), buffer);
  75. }
  76. bool serialize(const sint64& x, WriteBufferInterface& buffer)
  77. {
  78. return WireFormatter::SerializeVarint(WireFormatter::ZigZagEncode(x.get()), buffer);
  79. }
  80. bool serialize(const boolean& x, WriteBufferInterface& buffer)
  81. {
  82. return buffer.push(x.get() ? 0x01 : 0x00);
  83. }
  84. bool serialize(const fixed32& x, WriteBufferInterface& buffer)
  85. {
  86. return WireFormatter::SerialzieFixedNoTag(x.get(), buffer);
  87. }
  88. bool serialize(const fixed64& x, WriteBufferInterface& buffer)
  89. {
  90. return WireFormatter::SerialzieFixedNoTag(x.get(), buffer);
  91. }
  92. bool serialize(const sfixed32& x, WriteBufferInterface& buffer)
  93. {
  94. return WireFormatter::SerialzieSFixedNoTag(x.get(), buffer);
  95. }
  96. bool serialize(const sfixed64& x, WriteBufferInterface& buffer)
  97. {
  98. return WireFormatter::SerialzieSFixedNoTag(x.get(), buffer);
  99. }
  100. bool serialize(const floatfixed& x, WriteBufferInterface& buffer)
  101. {
  102. return WireFormatter::SerialzieFloatNoTag(x.get(), buffer);
  103. }
  104. bool serialize(const doublefixed& x, WriteBufferInterface& buffer)
  105. {
  106. return WireFormatter::SerialzieDoubleNoTag(x.get(), buffer);
  107. }
  108. bool deserialize(ReadBufferInterface& buffer, int32& x)
  109. {
  110. return WireFormatter::DeserializeInt(buffer, x.get());
  111. }
  112. bool deserialize(ReadBufferInterface& buffer, int64& x)
  113. {
  114. return WireFormatter::DeserializeInt(buffer, x.get());
  115. }
  116. bool deserialize(ReadBufferInterface& buffer, uint32& x)
  117. {
  118. return WireFormatter::DeserializeUInt(buffer, x.get());
  119. }
  120. bool deserialize(ReadBufferInterface& buffer, uint64& x)
  121. {
  122. return WireFormatter::DeserializeUInt(buffer, x.get());
  123. }
  124. bool deserialize(ReadBufferInterface& buffer, sint32& x)
  125. {
  126. return WireFormatter::DeserializeSInt(buffer, x.get());
  127. }
  128. bool deserialize(ReadBufferInterface& buffer, sint64& x)
  129. {
  130. return WireFormatter::DeserializeSInt(buffer, x.get());
  131. }
  132. bool deserialize(ReadBufferInterface& buffer, boolean& x)
  133. {
  134. return WireFormatter::DeserializeBool(buffer, x.get());
  135. }
  136. bool deserialize(ReadBufferInterface& buffer, fixed32& x)
  137. {
  138. return WireFormatter::DeserializeFixed(buffer, x.get());
  139. }
  140. bool deserialize(ReadBufferInterface& buffer, fixed64& x)
  141. {
  142. return WireFormatter::DeserializeFixed(buffer, x.get());
  143. }
  144. bool deserialize(ReadBufferInterface& buffer, sfixed32& x)
  145. {
  146. return WireFormatter::DeserializeSFixed(buffer, x.get());
  147. }
  148. bool deserialize(ReadBufferInterface& buffer, sfixed64& x)
  149. {
  150. return WireFormatter::DeserializeSFixed(buffer, x.get());
  151. }
  152. bool deserialize(ReadBufferInterface& buffer, floatfixed& x)
  153. {
  154. return WireFormatter::DeserializeFloat(buffer, x.get());
  155. }
  156. bool deserialize(ReadBufferInterface& buffer, doublefixed& x)
  157. {
  158. return WireFormatter::DeserializeDouble(buffer, x.get());
  159. }
  160. } // End of namespace EmbeddedProto