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