1 /**
2  * Autogenerated by Thrift for src/module.thrift
3  *
4  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5  *  @generated @nocommit
6  */
7 #pragma once
8 
9 #include "thrift/compiler/test/fixtures/frozen-struct/gen-cpp2/module_types.h"
10 
11 #include <thrift/lib/cpp2/gen/module_types_tcc.h>
12 
13 namespace some { namespace ns {
14 
15 }} // some::ns
16 namespace std {
17 
18 } // std
19 
20 
21 namespace apache {
22 namespace thrift {
23 namespace detail {
24 
25 template <>
26 struct TccStructTraits<::some::ns::ModuleA> {
27   static void translateFieldName(
28       folly::StringPiece _fname,
29       int16_t& fid,
30       apache::thrift::protocol::TType& _ftype) noexcept;
31 };
32 template <>
33 struct TccStructTraits<::some::ns::ModuleB> {
34   static void translateFieldName(
35       folly::StringPiece _fname,
36       int16_t& fid,
37       apache::thrift::protocol::TType& _ftype) noexcept;
38 };
39 
40 } // namespace detail
41 } // namespace thrift
42 } // namespace apache
43 
44 namespace some { namespace ns {
45 
46 template <class Protocol_>
readNoXfer(Protocol_ * iprot)47 void ModuleA::readNoXfer(Protocol_* iprot) {
48   apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
49 
50   _readState.readStructBegin(iprot);
51 
52   using apache::thrift::TProtocolException;
53 
54 
55   if (UNLIKELY(!_readState.advanceToNextField(
56           iprot,
57           0,
58           1,
59           apache::thrift::protocol::T_I32))) {
60     goto _loop;
61   }
62 _readField_i32Field:
63   {
64     ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->__fbthrift_field_i32Field, _readState);
65 
66   }
67  this->__isset.set(0, true);
68 
69   if (UNLIKELY(!_readState.advanceToNextField(
70           iprot,
71           1,
72           2,
73           apache::thrift::protocol::T_STRING))) {
74     goto _loop;
75   }
76 _readField_strField:
77   {
78     ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_strField, _readState);
79 
80   }
81  this->__isset.set(1, true);
82 
83   if (UNLIKELY(!_readState.advanceToNextField(
84           iprot,
85           2,
86           3,
87           apache::thrift::protocol::T_LIST))) {
88     goto _loop;
89   }
90 _readField_listField:
91   {
92     _readState.beforeSubobject(iprot);
93     this->__fbthrift_field_listField = ::std::vector<::std::int16_t>();
94     ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::readWithContext(*iprot, this->__fbthrift_field_listField, _readState);
95     _readState.afterSubobject(iprot);
96 
97   }
98  this->__isset.set(2, true);
99 
100   if (UNLIKELY(!_readState.advanceToNextField(
101           iprot,
102           3,
103           4,
104           apache::thrift::protocol::T_MAP))) {
105     goto _loop;
106   }
107 _readField_mapField:
108   {
109     _readState.beforeSubobject(iprot);
110     this->__fbthrift_field_mapField = ::std::map<::std::string, ::std::int32_t>();
111     ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::integral>, ::std::map<::std::string, ::std::int32_t>>::readWithContext(*iprot, this->__fbthrift_field_mapField, _readState);
112     _readState.afterSubobject(iprot);
113 
114   }
115  this->__isset.set(3, true);
116 
117   if (UNLIKELY(!_readState.advanceToNextField(
118           iprot,
119           4,
120           5,
121           apache::thrift::protocol::T_STRUCT))) {
122     goto _loop;
123   }
124 _readField_inclAField:
125   {
126     _readState.beforeSubobject(iprot);
127     ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::ns::IncludedA>::readWithContext(*iprot, this->__fbthrift_field_inclAField, _readState);
128     _readState.afterSubobject(iprot);
129 
130   }
131  this->__isset.set(4, true);
132 
133   if (UNLIKELY(!_readState.advanceToNextField(
134           iprot,
135           5,
136           6,
137           apache::thrift::protocol::T_STRUCT))) {
138     goto _loop;
139   }
140 _readField_inclBField:
141   {
142     _readState.beforeSubobject(iprot);
143     ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::ns::IncludedB>::readWithContext(*iprot, this->__fbthrift_field_inclBField, _readState);
144     _readState.afterSubobject(iprot);
145 
146   }
147  this->__isset.set(5, true);
148 
149   if (UNLIKELY(!_readState.advanceToNextField(
150           iprot,
151           6,
152           0,
153           apache::thrift::protocol::T_STOP))) {
154     goto _loop;
155   }
156 
157 _end:
158   _readState.readStructEnd(iprot);
159 
160   return;
161 
162 _loop:
163   _readState.afterAdvanceFailure(iprot);
164   if (_readState.atStop()) {
165     goto _end;
166   }
167   if (iprot->kUsesFieldNames()) {
168     _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<ModuleA>>();
169   }
170 
171   switch (_readState.fieldId) {
172     case 1:
173     {
174       if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
175         goto _readField_i32Field;
176       } else {
177         goto _skip;
178       }
179     }
180     case 2:
181     {
182       if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
183         goto _readField_strField;
184       } else {
185         goto _skip;
186       }
187     }
188     case 3:
189     {
190       if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
191         goto _readField_listField;
192       } else {
193         goto _skip;
194       }
195     }
196     case 4:
197     {
198       if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
199         goto _readField_mapField;
200       } else {
201         goto _skip;
202       }
203     }
204     case 5:
205     {
206       if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
207         goto _readField_inclAField;
208       } else {
209         goto _skip;
210       }
211     }
212     case 6:
213     {
214       if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
215         goto _readField_inclBField;
216       } else {
217         goto _skip;
218       }
219     }
220     default:
221     {
222 _skip:
223       _readState.skip(iprot);
224       _readState.readFieldEnd(iprot);
225       _readState.readFieldBeginNoInline(iprot);
226       goto _loop;
227     }
228   }
229 }
230 
231 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const232 uint32_t ModuleA::serializedSize(Protocol_ const* prot_) const {
233   uint32_t xfer = 0;
234   xfer += prot_->serializedStructSize("ModuleA");
235   {
236     xfer += prot_->serializedFieldSize("i32Field", apache::thrift::protocol::T_I32, 1);
237     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_i32Field);
238   }
239   {
240     xfer += prot_->serializedFieldSize("strField", apache::thrift::protocol::T_STRING, 2);
241     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_strField);
242   }
243   {
244     xfer += prot_->serializedFieldSize("listField", apache::thrift::protocol::T_LIST, 3);
245     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_listField);
246   }
247   {
248     xfer += prot_->serializedFieldSize("mapField", apache::thrift::protocol::T_MAP, 4);
249     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::integral>, ::std::map<::std::string, ::std::int32_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_mapField);
250   }
251   {
252     xfer += prot_->serializedFieldSize("inclAField", apache::thrift::protocol::T_STRUCT, 5);
253     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::ns::IncludedA>::serializedSize<false>(*prot_, this->__fbthrift_field_inclAField);
254   }
255   {
256     xfer += prot_->serializedFieldSize("inclBField", apache::thrift::protocol::T_STRUCT, 6);
257     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::ns::IncludedB>::serializedSize<false>(*prot_, this->__fbthrift_field_inclBField);
258   }
259   xfer += prot_->serializedSizeStop();
260   return xfer;
261 }
262 
263 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const264 uint32_t ModuleA::serializedSizeZC(Protocol_ const* prot_) const {
265   uint32_t xfer = 0;
266   xfer += prot_->serializedStructSize("ModuleA");
267   {
268     xfer += prot_->serializedFieldSize("i32Field", apache::thrift::protocol::T_I32, 1);
269     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_i32Field);
270   }
271   {
272     xfer += prot_->serializedFieldSize("strField", apache::thrift::protocol::T_STRING, 2);
273     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_strField);
274   }
275   {
276     xfer += prot_->serializedFieldSize("listField", apache::thrift::protocol::T_LIST, 3);
277     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_listField);
278   }
279   {
280     xfer += prot_->serializedFieldSize("mapField", apache::thrift::protocol::T_MAP, 4);
281     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::integral>, ::std::map<::std::string, ::std::int32_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_mapField);
282   }
283   {
284     xfer += prot_->serializedFieldSize("inclAField", apache::thrift::protocol::T_STRUCT, 5);
285     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::ns::IncludedA>::serializedSize<true>(*prot_, this->__fbthrift_field_inclAField);
286   }
287   {
288     xfer += prot_->serializedFieldSize("inclBField", apache::thrift::protocol::T_STRUCT, 6);
289     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::ns::IncludedB>::serializedSize<true>(*prot_, this->__fbthrift_field_inclBField);
290   }
291   xfer += prot_->serializedSizeStop();
292   return xfer;
293 }
294 
295 template <class Protocol_>
write(Protocol_ * prot_) const296 uint32_t ModuleA::write(Protocol_* prot_) const {
297   uint32_t xfer = 0;
298   xfer += prot_->writeStructBegin("ModuleA");
299   bool previousFieldHasValue = true;
300   {
301     constexpr int16_t kPrevFieldId = 0;
302     xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 1, kPrevFieldId>(*prot_, "i32Field", previousFieldHasValue);
303     previousFieldHasValue = true;
304     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->__fbthrift_field_i32Field);
305     xfer += prot_->writeFieldEnd();
306   }
307   {
308     constexpr int16_t kPrevFieldId = 1;
309     xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 2, kPrevFieldId>(*prot_, "strField", previousFieldHasValue);
310     previousFieldHasValue = true;
311     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_strField);
312     xfer += prot_->writeFieldEnd();
313   }
314   {
315     constexpr int16_t kPrevFieldId = 2;
316     xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 3, kPrevFieldId>(*prot_, "listField", previousFieldHasValue);
317     previousFieldHasValue = true;
318     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::write(*prot_, this->__fbthrift_field_listField);
319     xfer += prot_->writeFieldEnd();
320   }
321   {
322     constexpr int16_t kPrevFieldId = 3;
323     xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 4, kPrevFieldId>(*prot_, "mapField", previousFieldHasValue);
324     previousFieldHasValue = true;
325     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::integral>, ::std::map<::std::string, ::std::int32_t>>::write(*prot_, this->__fbthrift_field_mapField);
326     xfer += prot_->writeFieldEnd();
327   }
328   {
329     constexpr int16_t kPrevFieldId = 4;
330     xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 5, kPrevFieldId>(*prot_, "inclAField", previousFieldHasValue);
331     previousFieldHasValue = true;
332     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::ns::IncludedA>::write(*prot_, this->__fbthrift_field_inclAField);
333     xfer += prot_->writeFieldEnd();
334   }
335   {
336     constexpr int16_t kPrevFieldId = 5;
337     xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 6, kPrevFieldId>(*prot_, "inclBField", previousFieldHasValue);
338     previousFieldHasValue = true;
339     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::ns::IncludedB>::write(*prot_, this->__fbthrift_field_inclBField);
340     xfer += prot_->writeFieldEnd();
341   }
342   xfer += prot_->writeFieldStop();
343   xfer += prot_->writeStructEnd();
344   return xfer;
345 }
346 
347 extern template void ModuleA::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
348 extern template uint32_t ModuleA::write<>(apache::thrift::BinaryProtocolWriter*) const;
349 extern template uint32_t ModuleA::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
350 extern template uint32_t ModuleA::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
351 extern template void ModuleA::readNoXfer<>(apache::thrift::CompactProtocolReader*);
352 extern template uint32_t ModuleA::write<>(apache::thrift::CompactProtocolWriter*) const;
353 extern template uint32_t ModuleA::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
354 extern template uint32_t ModuleA::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
355 
356 }} // some::ns
357 namespace some { namespace ns {
358 
359 template <class Protocol_>
readNoXfer(Protocol_ * iprot)360 void ModuleB::readNoXfer(Protocol_* iprot) {
361   apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
362 
363   _readState.readStructBegin(iprot);
364 
365   using apache::thrift::TProtocolException;
366 
367 
368   if (UNLIKELY(!_readState.advanceToNextField(
369           iprot,
370           0,
371           1,
372           apache::thrift::protocol::T_I32))) {
373     goto _loop;
374   }
375 _readField_i32Field:
376   {
377     ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->__fbthrift_field_i32Field, _readState);
378 
379   }
380  this->__isset.set(0, true);
381 
382   if (UNLIKELY(!_readState.advanceToNextField(
383           iprot,
384           1,
385           2,
386           apache::thrift::protocol::T_I32))) {
387     goto _loop;
388   }
389 _readField_inclEnumB:
390   {
391     ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::ns::EnumB>::readWithContext(*iprot, this->__fbthrift_field_inclEnumB, _readState);
392 
393   }
394  this->__isset.set(1, true);
395 
396   if (UNLIKELY(!_readState.advanceToNextField(
397           iprot,
398           2,
399           0,
400           apache::thrift::protocol::T_STOP))) {
401     goto _loop;
402   }
403 
404 _end:
405   _readState.readStructEnd(iprot);
406 
407   return;
408 
409 _loop:
410   _readState.afterAdvanceFailure(iprot);
411   if (_readState.atStop()) {
412     goto _end;
413   }
414   if (iprot->kUsesFieldNames()) {
415     _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<ModuleB>>();
416   }
417 
418   switch (_readState.fieldId) {
419     case 1:
420     {
421       if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
422         goto _readField_i32Field;
423       } else {
424         goto _skip;
425       }
426     }
427     case 2:
428     {
429       if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
430         goto _readField_inclEnumB;
431       } else {
432         goto _skip;
433       }
434     }
435     default:
436     {
437 _skip:
438       _readState.skip(iprot);
439       _readState.readFieldEnd(iprot);
440       _readState.readFieldBeginNoInline(iprot);
441       goto _loop;
442     }
443   }
444 }
445 
446 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const447 uint32_t ModuleB::serializedSize(Protocol_ const* prot_) const {
448   uint32_t xfer = 0;
449   xfer += prot_->serializedStructSize("ModuleB");
450   {
451     xfer += prot_->serializedFieldSize("i32Field", apache::thrift::protocol::T_I32, 1);
452     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_i32Field);
453   }
454   {
455     xfer += prot_->serializedFieldSize("inclEnumB", apache::thrift::protocol::T_I32, 2);
456     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::ns::EnumB>::serializedSize<false>(*prot_, this->__fbthrift_field_inclEnumB);
457   }
458   xfer += prot_->serializedSizeStop();
459   return xfer;
460 }
461 
462 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const463 uint32_t ModuleB::serializedSizeZC(Protocol_ const* prot_) const {
464   uint32_t xfer = 0;
465   xfer += prot_->serializedStructSize("ModuleB");
466   {
467     xfer += prot_->serializedFieldSize("i32Field", apache::thrift::protocol::T_I32, 1);
468     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_i32Field);
469   }
470   {
471     xfer += prot_->serializedFieldSize("inclEnumB", apache::thrift::protocol::T_I32, 2);
472     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::ns::EnumB>::serializedSize<false>(*prot_, this->__fbthrift_field_inclEnumB);
473   }
474   xfer += prot_->serializedSizeStop();
475   return xfer;
476 }
477 
478 template <class Protocol_>
write(Protocol_ * prot_) const479 uint32_t ModuleB::write(Protocol_* prot_) const {
480   uint32_t xfer = 0;
481   xfer += prot_->writeStructBegin("ModuleB");
482   bool previousFieldHasValue = true;
483   {
484     constexpr int16_t kPrevFieldId = 0;
485     xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 1, kPrevFieldId>(*prot_, "i32Field", previousFieldHasValue);
486     previousFieldHasValue = true;
487     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->__fbthrift_field_i32Field);
488     xfer += prot_->writeFieldEnd();
489   }
490   {
491     constexpr int16_t kPrevFieldId = 1;
492     xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 2, kPrevFieldId>(*prot_, "inclEnumB", previousFieldHasValue);
493     previousFieldHasValue = true;
494     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::ns::EnumB>::write(*prot_, this->__fbthrift_field_inclEnumB);
495     xfer += prot_->writeFieldEnd();
496   }
497   xfer += prot_->writeFieldStop();
498   xfer += prot_->writeStructEnd();
499   return xfer;
500 }
501 
502 extern template void ModuleB::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
503 extern template uint32_t ModuleB::write<>(apache::thrift::BinaryProtocolWriter*) const;
504 extern template uint32_t ModuleB::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
505 extern template uint32_t ModuleB::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
506 extern template void ModuleB::readNoXfer<>(apache::thrift::CompactProtocolReader*);
507 extern template uint32_t ModuleB::write<>(apache::thrift::CompactProtocolWriter*) const;
508 extern template uint32_t ModuleB::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
509 extern template uint32_t ModuleB::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
510 
511 }} // some::ns
512