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/mcpp2-compare/gen-cpp2/module_types.h"
10
11 #include <thrift/lib/cpp2/gen/module_types_tcc.h>
12
13 namespace some { namespace valid { namespace ns {
14
15 }}} // some::valid::ns
16 namespace std {
17
18 } // std
19
20 namespace some { namespace valid { namespace ns {
21
22 }}} // some::valid::ns
23 namespace std {
24
25 } // std
26
27 namespace some { namespace valid { namespace ns {
28
29 }}} // some::valid::ns
30 namespace std {
31
32 } // std
33
34 namespace some { namespace valid { namespace ns {
35
36 }}} // some::valid::ns
37 namespace std {
38
39 } // std
40
41
42 namespace apache {
43 namespace thrift {
44 namespace detail {
45
46 template <>
47 struct TccStructTraits<::some::valid::ns::Empty> {
48 static void translateFieldName(
49 folly::StringPiece _fname,
50 int16_t& fid,
51 apache::thrift::protocol::TType& _ftype) noexcept;
52 };
53 template <>
54 struct TccStructTraits<::some::valid::ns::ASimpleStruct> {
55 static void translateFieldName(
56 folly::StringPiece _fname,
57 int16_t& fid,
58 apache::thrift::protocol::TType& _ftype) noexcept;
59 };
60 template <>
61 struct TccStructTraits<::some::valid::ns::ASimpleStructNoexcept> {
62 static void translateFieldName(
63 folly::StringPiece _fname,
64 int16_t& fid,
65 apache::thrift::protocol::TType& _ftype) noexcept;
66 };
67 template <>
68 struct TccStructTraits<::some::valid::ns::MyStruct> {
69 static void translateFieldName(
70 folly::StringPiece _fname,
71 int16_t& fid,
72 apache::thrift::protocol::TType& _ftype) noexcept;
73 };
74 template <>
75 struct TccStructTraits<::some::valid::ns::SimpleUnion> {
76 static void translateFieldName(
77 folly::StringPiece _fname,
78 int16_t& fid,
79 apache::thrift::protocol::TType& _ftype) noexcept;
80 };
81 template <>
82 struct TccStructTraits<::some::valid::ns::ComplexUnion> {
83 static void translateFieldName(
84 folly::StringPiece _fname,
85 int16_t& fid,
86 apache::thrift::protocol::TType& _ftype) noexcept;
87 };
88 template <>
89 struct TccStructTraits<::some::valid::ns::AnException> {
90 static void translateFieldName(
91 folly::StringPiece _fname,
92 int16_t& fid,
93 apache::thrift::protocol::TType& _ftype) noexcept;
94 };
95 template <>
96 struct TccStructTraits<::some::valid::ns::AnotherException> {
97 static void translateFieldName(
98 folly::StringPiece _fname,
99 int16_t& fid,
100 apache::thrift::protocol::TType& _ftype) noexcept;
101 };
102 template <>
103 struct TccStructTraits<::some::valid::ns::containerStruct> {
104 static void translateFieldName(
105 folly::StringPiece _fname,
106 int16_t& fid,
107 apache::thrift::protocol::TType& _ftype) noexcept;
108 };
109 template <>
110 struct TccStructTraits<::some::valid::ns::MyIncludedStruct> {
111 static void translateFieldName(
112 folly::StringPiece _fname,
113 int16_t& fid,
114 apache::thrift::protocol::TType& _ftype) noexcept;
115 };
116 template <>
117 struct TccStructTraits<::some::valid::ns::AnnotatedStruct> {
118 static void translateFieldName(
119 folly::StringPiece _fname,
120 int16_t& fid,
121 apache::thrift::protocol::TType& _ftype) noexcept;
122 };
123 template <>
124 struct TccStructTraits<::some::valid::ns::ComplexContainerStruct> {
125 static void translateFieldName(
126 folly::StringPiece _fname,
127 int16_t& fid,
128 apache::thrift::protocol::TType& _ftype) noexcept;
129 };
130 template <>
131 struct TccStructTraits<::some::valid::ns::FloatStruct> {
132 static void translateFieldName(
133 folly::StringPiece _fname,
134 int16_t& fid,
135 apache::thrift::protocol::TType& _ftype) noexcept;
136 };
137 template <>
138 struct TccStructTraits<::some::valid::ns::FloatUnion> {
139 static void translateFieldName(
140 folly::StringPiece _fname,
141 int16_t& fid,
142 apache::thrift::protocol::TType& _ftype) noexcept;
143 };
144 template <>
145 struct TccStructTraits<::some::valid::ns::AllRequiredNoExceptMoveCtrStruct> {
146 static void translateFieldName(
147 folly::StringPiece _fname,
148 int16_t& fid,
149 apache::thrift::protocol::TType& _ftype) noexcept;
150 };
151
152 } // namespace detail
153 } // namespace thrift
154 } // namespace apache
155
156 namespace some { namespace valid { namespace ns {
157
158 template <class Protocol_>
readNoXfer(Protocol_ * iprot)159 void Empty::readNoXfer(Protocol_* iprot) {
160 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
161
162 _readState.readStructBegin(iprot);
163
164 using apache::thrift::TProtocolException;
165
166
167 if (UNLIKELY(!_readState.advanceToNextField(
168 iprot,
169 0,
170 0,
171 apache::thrift::protocol::T_STOP))) {
172 goto _loop;
173 }
174
175 _end:
176 _readState.readStructEnd(iprot);
177
178 return;
179
180 _loop:
181 _readState.afterAdvanceFailure(iprot);
182 if (_readState.atStop()) {
183 goto _end;
184 }
185 if (iprot->kUsesFieldNames()) {
186 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<Empty>>();
187 }
188
189 switch (_readState.fieldId) {
190 default:
191 {
192 _readState.skip(iprot);
193 _readState.readFieldEnd(iprot);
194 _readState.readFieldBeginNoInline(iprot);
195 goto _loop;
196 }
197 }
198 }
199
200 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const201 uint32_t Empty::serializedSize(Protocol_ const* prot_) const {
202 uint32_t xfer = 0;
203 xfer += prot_->serializedStructSize("Empty");
204 xfer += prot_->serializedSizeStop();
205 return xfer;
206 }
207
208 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const209 uint32_t Empty::serializedSizeZC(Protocol_ const* prot_) const {
210 uint32_t xfer = 0;
211 xfer += prot_->serializedStructSize("Empty");
212 xfer += prot_->serializedSizeStop();
213 return xfer;
214 }
215
216 template <class Protocol_>
write(Protocol_ * prot_) const217 uint32_t Empty::write(Protocol_* prot_) const {
218 uint32_t xfer = 0;
219 xfer += prot_->writeStructBegin("Empty");
220 xfer += prot_->writeFieldStop();
221 xfer += prot_->writeStructEnd();
222 return xfer;
223 }
224
225 extern template void Empty::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
226 extern template uint32_t Empty::write<>(apache::thrift::BinaryProtocolWriter*) const;
227 extern template uint32_t Empty::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
228 extern template uint32_t Empty::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
229 extern template void Empty::readNoXfer<>(apache::thrift::CompactProtocolReader*);
230 extern template uint32_t Empty::write<>(apache::thrift::CompactProtocolWriter*) const;
231 extern template uint32_t Empty::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
232 extern template uint32_t Empty::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
233 extern template void Empty::readNoXfer<>(apache::thrift::SimpleJSONProtocolReader*);
234 extern template uint32_t Empty::write<>(apache::thrift::SimpleJSONProtocolWriter*) const;
235 extern template uint32_t Empty::serializedSize<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
236 extern template uint32_t Empty::serializedSizeZC<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
237
238 }}} // some::valid::ns
239 namespace some { namespace valid { namespace ns {
240
241 template <class Protocol_>
readNoXfer(Protocol_ * iprot)242 void ASimpleStruct::readNoXfer(Protocol_* iprot) {
243 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
244
245 _readState.readStructBegin(iprot);
246
247 using apache::thrift::TProtocolException;
248
249
250 if (UNLIKELY(!_readState.advanceToNextField(
251 iprot,
252 0,
253 1,
254 apache::thrift::protocol::T_I64))) {
255 goto _loop;
256 }
257 _readField_boolField:
258 {
259 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, this->__fbthrift_field_boolField, _readState);
260
261 }
262 this->__isset.set(0, true);
263
264 if (UNLIKELY(!_readState.advanceToNextField(
265 iprot,
266 1,
267 0,
268 apache::thrift::protocol::T_STOP))) {
269 goto _loop;
270 }
271
272 _end:
273 _readState.readStructEnd(iprot);
274
275 return;
276
277 _loop:
278 _readState.afterAdvanceFailure(iprot);
279 if (_readState.atStop()) {
280 goto _end;
281 }
282 if (iprot->kUsesFieldNames()) {
283 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<ASimpleStruct>>();
284 }
285
286 switch (_readState.fieldId) {
287 case 1:
288 {
289 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
290 goto _readField_boolField;
291 } else {
292 goto _skip;
293 }
294 }
295 default:
296 {
297 _skip:
298 _readState.skip(iprot);
299 _readState.readFieldEnd(iprot);
300 _readState.readFieldBeginNoInline(iprot);
301 goto _loop;
302 }
303 }
304 }
305
306 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const307 uint32_t ASimpleStruct::serializedSize(Protocol_ const* prot_) const {
308 uint32_t xfer = 0;
309 xfer += prot_->serializedStructSize("ASimpleStruct");
310 if (this->__fbthrift_field_boolField != ::std::int64_t()) {
311 xfer += prot_->serializedFieldSize("boolField", apache::thrift::protocol::T_I64, 1);
312 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_boolField);
313 }
314 xfer += prot_->serializedSizeStop();
315 return xfer;
316 }
317
318 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const319 uint32_t ASimpleStruct::serializedSizeZC(Protocol_ const* prot_) const {
320 uint32_t xfer = 0;
321 xfer += prot_->serializedStructSize("ASimpleStruct");
322 if (this->__fbthrift_field_boolField != ::std::int64_t()) {
323 xfer += prot_->serializedFieldSize("boolField", apache::thrift::protocol::T_I64, 1);
324 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_boolField);
325 }
326 xfer += prot_->serializedSizeStop();
327 return xfer;
328 }
329
330 template <class Protocol_>
write(Protocol_ * prot_) const331 uint32_t ASimpleStruct::write(Protocol_* prot_) const {
332 uint32_t xfer = 0;
333 xfer += prot_->writeStructBegin("ASimpleStruct");
334 bool previousFieldHasValue = true;
335 if (this->__fbthrift_field_boolField != ::std::int64_t()) {
336 constexpr int16_t kPrevFieldId = 0;
337 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 1, kPrevFieldId>(*prot_, "boolField", previousFieldHasValue);
338 previousFieldHasValue = true;
339 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, this->__fbthrift_field_boolField);
340 xfer += prot_->writeFieldEnd();
341 } else {
342 previousFieldHasValue = false;
343 }
344 xfer += prot_->writeFieldStop();
345 xfer += prot_->writeStructEnd();
346 return xfer;
347 }
348
349 extern template void ASimpleStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
350 extern template uint32_t ASimpleStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
351 extern template uint32_t ASimpleStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
352 extern template uint32_t ASimpleStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
353 extern template void ASimpleStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
354 extern template uint32_t ASimpleStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
355 extern template uint32_t ASimpleStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
356 extern template uint32_t ASimpleStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
357 extern template void ASimpleStruct::readNoXfer<>(apache::thrift::SimpleJSONProtocolReader*);
358 extern template uint32_t ASimpleStruct::write<>(apache::thrift::SimpleJSONProtocolWriter*) const;
359 extern template uint32_t ASimpleStruct::serializedSize<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
360 extern template uint32_t ASimpleStruct::serializedSizeZC<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
361
362 }}} // some::valid::ns
363 namespace some { namespace valid { namespace ns {
364
365 template <class Protocol_>
readNoXfer(Protocol_ * iprot)366 void ASimpleStructNoexcept::readNoXfer(Protocol_* iprot) {
367 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
368
369 _readState.readStructBegin(iprot);
370
371 using apache::thrift::TProtocolException;
372
373
374 if (UNLIKELY(!_readState.advanceToNextField(
375 iprot,
376 0,
377 1,
378 apache::thrift::protocol::T_I64))) {
379 goto _loop;
380 }
381 _readField_boolField:
382 {
383 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, this->__fbthrift_field_boolField, _readState);
384
385 }
386 this->__isset.set(0, true);
387
388 if (UNLIKELY(!_readState.advanceToNextField(
389 iprot,
390 1,
391 0,
392 apache::thrift::protocol::T_STOP))) {
393 goto _loop;
394 }
395
396 _end:
397 _readState.readStructEnd(iprot);
398
399 return;
400
401 _loop:
402 _readState.afterAdvanceFailure(iprot);
403 if (_readState.atStop()) {
404 goto _end;
405 }
406 if (iprot->kUsesFieldNames()) {
407 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<ASimpleStructNoexcept>>();
408 }
409
410 switch (_readState.fieldId) {
411 case 1:
412 {
413 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
414 goto _readField_boolField;
415 } else {
416 goto _skip;
417 }
418 }
419 default:
420 {
421 _skip:
422 _readState.skip(iprot);
423 _readState.readFieldEnd(iprot);
424 _readState.readFieldBeginNoInline(iprot);
425 goto _loop;
426 }
427 }
428 }
429
430 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const431 uint32_t ASimpleStructNoexcept::serializedSize(Protocol_ const* prot_) const {
432 uint32_t xfer = 0;
433 xfer += prot_->serializedStructSize("ASimpleStructNoexcept");
434 if (this->__fbthrift_field_boolField != ::std::int64_t()) {
435 xfer += prot_->serializedFieldSize("boolField", apache::thrift::protocol::T_I64, 1);
436 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_boolField);
437 }
438 xfer += prot_->serializedSizeStop();
439 return xfer;
440 }
441
442 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const443 uint32_t ASimpleStructNoexcept::serializedSizeZC(Protocol_ const* prot_) const {
444 uint32_t xfer = 0;
445 xfer += prot_->serializedStructSize("ASimpleStructNoexcept");
446 if (this->__fbthrift_field_boolField != ::std::int64_t()) {
447 xfer += prot_->serializedFieldSize("boolField", apache::thrift::protocol::T_I64, 1);
448 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_boolField);
449 }
450 xfer += prot_->serializedSizeStop();
451 return xfer;
452 }
453
454 template <class Protocol_>
write(Protocol_ * prot_) const455 uint32_t ASimpleStructNoexcept::write(Protocol_* prot_) const {
456 uint32_t xfer = 0;
457 xfer += prot_->writeStructBegin("ASimpleStructNoexcept");
458 bool previousFieldHasValue = true;
459 if (this->__fbthrift_field_boolField != ::std::int64_t()) {
460 constexpr int16_t kPrevFieldId = 0;
461 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 1, kPrevFieldId>(*prot_, "boolField", previousFieldHasValue);
462 previousFieldHasValue = true;
463 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, this->__fbthrift_field_boolField);
464 xfer += prot_->writeFieldEnd();
465 } else {
466 previousFieldHasValue = false;
467 }
468 xfer += prot_->writeFieldStop();
469 xfer += prot_->writeStructEnd();
470 return xfer;
471 }
472
473 extern template void ASimpleStructNoexcept::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
474 extern template uint32_t ASimpleStructNoexcept::write<>(apache::thrift::BinaryProtocolWriter*) const;
475 extern template uint32_t ASimpleStructNoexcept::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
476 extern template uint32_t ASimpleStructNoexcept::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
477 extern template void ASimpleStructNoexcept::readNoXfer<>(apache::thrift::CompactProtocolReader*);
478 extern template uint32_t ASimpleStructNoexcept::write<>(apache::thrift::CompactProtocolWriter*) const;
479 extern template uint32_t ASimpleStructNoexcept::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
480 extern template uint32_t ASimpleStructNoexcept::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
481 extern template void ASimpleStructNoexcept::readNoXfer<>(apache::thrift::SimpleJSONProtocolReader*);
482 extern template uint32_t ASimpleStructNoexcept::write<>(apache::thrift::SimpleJSONProtocolWriter*) const;
483 extern template uint32_t ASimpleStructNoexcept::serializedSize<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
484 extern template uint32_t ASimpleStructNoexcept::serializedSizeZC<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
485
486 }}} // some::valid::ns
487 namespace some { namespace valid { namespace ns {
488
489 template <class Protocol_>
readNoXfer(Protocol_ * iprot)490 void MyStruct::readNoXfer(Protocol_* iprot) {
491 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
492
493 _readState.readStructBegin(iprot);
494
495 using apache::thrift::TProtocolException;
496
497
498 if (UNLIKELY(!_readState.advanceToNextField(
499 iprot,
500 0,
501 1,
502 apache::thrift::protocol::T_BOOL))) {
503 goto _loop;
504 }
505 _readField_MyBoolField:
506 {
507 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::readWithContext(*iprot, this->__fbthrift_field_MyBoolField, _readState);
508
509 }
510 this->__isset.set(0, true);
511
512 if (UNLIKELY(!_readState.advanceToNextField(
513 iprot,
514 1,
515 2,
516 apache::thrift::protocol::T_I64))) {
517 goto _loop;
518 }
519 _readField_MyIntField:
520 {
521 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, this->__fbthrift_field_MyIntField, _readState);
522
523 }
524 this->__isset.set(1, true);
525
526 if (UNLIKELY(!_readState.advanceToNextField(
527 iprot,
528 2,
529 3,
530 apache::thrift::protocol::T_STRING))) {
531 goto _loop;
532 }
533 _readField_MyStringField:
534 {
535 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_MyStringField, _readState);
536
537 }
538 this->__isset.set(2, true);
539
540 if (UNLIKELY(!_readState.advanceToNextField(
541 iprot,
542 3,
543 4,
544 apache::thrift::protocol::T_STRING))) {
545 goto _loop;
546 }
547 _readField_MyStringField2:
548 {
549 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_MyStringField2, _readState);
550
551 }
552 this->__isset.set(3, true);
553
554 if (UNLIKELY(!_readState.advanceToNextField(
555 iprot,
556 4,
557 5,
558 apache::thrift::protocol::T_STRING))) {
559 goto _loop;
560 }
561 _readField_MyBinaryField:
562 {
563 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_MyBinaryField, _readState);
564
565 }
566 this->__isset.set(4, true);
567
568 if (UNLIKELY(!_readState.advanceToNextField(
569 iprot,
570 5,
571 6,
572 apache::thrift::protocol::T_STRING))) {
573 goto _loop;
574 }
575 _readField_MyBinaryField2:
576 {
577 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_MyBinaryField2, _readState);
578
579 }
580 this->__isset.set(5, true);
581
582 if (UNLIKELY(!_readState.advanceToNextField(
583 iprot,
584 6,
585 7,
586 apache::thrift::protocol::T_STRING))) {
587 goto _loop;
588 }
589 _readField_MyBinaryField3:
590 {
591 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::readWithContext(*iprot, this->MyBinaryField3, _readState);
592
593 }
594
595 if (UNLIKELY(!_readState.advanceToNextField(
596 iprot,
597 7,
598 8,
599 apache::thrift::protocol::T_LIST))) {
600 goto _loop;
601 }
602 _readField_MyBinaryListField4:
603 {
604 _readState.beforeSubobject(iprot);
605 this->__fbthrift_field_MyBinaryListField4 = ::std::vector<::std::string>();
606 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::binary>, ::std::vector<::std::string>>::readWithContext(*iprot, this->__fbthrift_field_MyBinaryListField4, _readState);
607 _readState.afterSubobject(iprot);
608
609 }
610 this->__isset.set(6, true);
611
612 if (UNLIKELY(!_readState.advanceToNextField(
613 iprot,
614 8,
615 9,
616 apache::thrift::protocol::T_MAP))) {
617 goto _loop;
618 }
619 _readField_MyMapEnumAndInt:
620 {
621 _readState.beforeSubobject(iprot);
622 this->__fbthrift_field_MyMapEnumAndInt = ::std::map<::some::valid::ns::MyEnumA, ::std::string>();
623 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::enumeration, ::apache::thrift::type_class::string>, ::std::map<::some::valid::ns::MyEnumA, ::std::string>>::readWithContext(*iprot, this->__fbthrift_field_MyMapEnumAndInt, _readState);
624 _readState.afterSubobject(iprot);
625
626 }
627 this->__isset.set(7, true);
628
629 if (UNLIKELY(!_readState.advanceToNextField(
630 iprot,
631 9,
632 10,
633 apache::thrift::protocol::T_STRING))) {
634 goto _loop;
635 }
636 _readField_MyCustomField:
637 {
638 ::folly::IOBuf tvalue;
639 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::readWithContext(*iprot, tvalue, _readState);
640 this->__fbthrift_field_MyCustomField = ::apache::thrift::adapt_detail::fromThriftField<CustomProtocolAdapter, 10>(::std::move(tvalue), *this);
641
642 }
643 this->__isset.set(8, true);
644
645 if (UNLIKELY(!_readState.advanceToNextField(
646 iprot,
647 10,
648 11,
649 apache::thrift::protocol::T_STRING))) {
650 goto _loop;
651 }
652 _readField_MyOptCustomField:
653 {
654 ::folly::IOBuf tvalue;
655 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::readWithContext(*iprot, tvalue, _readState);
656 this->__fbthrift_field_MyOptCustomField = ::apache::thrift::adapt_detail::fromThriftField<CustomProtocolAdapter, 11>(::std::move(tvalue), *this);
657
658 }
659 this->__isset.set(9, true);
660
661 if (UNLIKELY(!_readState.advanceToNextField(
662 iprot,
663 11,
664 0,
665 apache::thrift::protocol::T_STOP))) {
666 goto _loop;
667 }
668
669 _end:
670 _readState.readStructEnd(iprot);
671
672 return;
673
674 _loop:
675 _readState.afterAdvanceFailure(iprot);
676 if (_readState.atStop()) {
677 goto _end;
678 }
679 if (iprot->kUsesFieldNames()) {
680 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<MyStruct>>();
681 }
682
683 switch (_readState.fieldId) {
684 case 1:
685 {
686 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BOOL))) {
687 goto _readField_MyBoolField;
688 } else {
689 goto _skip;
690 }
691 }
692 case 2:
693 {
694 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
695 goto _readField_MyIntField;
696 } else {
697 goto _skip;
698 }
699 }
700 case 3:
701 {
702 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
703 goto _readField_MyStringField;
704 } else {
705 goto _skip;
706 }
707 }
708 case 4:
709 {
710 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
711 goto _readField_MyStringField2;
712 } else {
713 goto _skip;
714 }
715 }
716 case 5:
717 {
718 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
719 goto _readField_MyBinaryField;
720 } else {
721 goto _skip;
722 }
723 }
724 case 6:
725 {
726 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
727 goto _readField_MyBinaryField2;
728 } else {
729 goto _skip;
730 }
731 }
732 case 7:
733 {
734 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
735 goto _readField_MyBinaryField3;
736 } else {
737 goto _skip;
738 }
739 }
740 case 8:
741 {
742 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
743 goto _readField_MyBinaryListField4;
744 } else {
745 goto _skip;
746 }
747 }
748 case 9:
749 {
750 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
751 goto _readField_MyMapEnumAndInt;
752 } else {
753 goto _skip;
754 }
755 }
756 case 10:
757 {
758 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
759 goto _readField_MyCustomField;
760 } else {
761 goto _skip;
762 }
763 }
764 case 11:
765 {
766 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
767 goto _readField_MyOptCustomField;
768 } else {
769 goto _skip;
770 }
771 }
772 default:
773 {
774 _skip:
775 _readState.skip(iprot);
776 _readState.readFieldEnd(iprot);
777 _readState.readFieldBeginNoInline(iprot);
778 goto _loop;
779 }
780 }
781 }
782
783 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const784 uint32_t MyStruct::serializedSize(Protocol_ const* prot_) const {
785 uint32_t xfer = 0;
786 xfer += prot_->serializedStructSize("MyStruct");
787 if (this->__fbthrift_field_MyBoolField != bool()) {
788 xfer += prot_->serializedFieldSize("MyBoolField", apache::thrift::protocol::T_BOOL, 1);
789 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->__fbthrift_field_MyBoolField);
790 }
791 if (this->__fbthrift_field_MyIntField != static_cast<::std::int64_t>(12)) {
792 xfer += prot_->serializedFieldSize("MyIntField", apache::thrift::protocol::T_I64, 2);
793 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_MyIntField);
794 }
795 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_MyStringField)) {
796 xfer += prot_->serializedFieldSize("MyStringField", apache::thrift::protocol::T_STRING, 3);
797 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_MyStringField);
798 }
799 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_MyStringField2)) {
800 xfer += prot_->serializedFieldSize("MyStringField2", apache::thrift::protocol::T_STRING, 4);
801 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_MyStringField2);
802 }
803 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_MyBinaryField)) {
804 xfer += prot_->serializedFieldSize("MyBinaryField", apache::thrift::protocol::T_STRING, 5);
805 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_MyBinaryField);
806 }
807 if (this->__isset.get(5)) {
808 xfer += prot_->serializedFieldSize("MyBinaryField2", apache::thrift::protocol::T_STRING, 6);
809 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_MyBinaryField2);
810 }
811 {
812 xfer += prot_->serializedFieldSize("MyBinaryField3", apache::thrift::protocol::T_STRING, 7);
813 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<false>(*prot_, this->MyBinaryField3);
814 }
815 if (!this->__fbthrift_field_MyBinaryListField4.empty()) {
816 xfer += prot_->serializedFieldSize("MyBinaryListField4", apache::thrift::protocol::T_LIST, 8);
817 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::binary>, ::std::vector<::std::string>>::serializedSize<false>(*prot_, this->__fbthrift_field_MyBinaryListField4);
818 }
819 if (!this->__fbthrift_field_MyMapEnumAndInt.empty()) {
820 xfer += prot_->serializedFieldSize("MyMapEnumAndInt", apache::thrift::protocol::T_MAP, 9);
821 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::enumeration, ::apache::thrift::type_class::string>, ::std::map<::some::valid::ns::MyEnumA, ::std::string>>::serializedSize<false>(*prot_, this->__fbthrift_field_MyMapEnumAndInt);
822 }
823 if (!(this->__fbthrift_field_MyCustomField == ::some::valid::ns::CustomProtocolType())) {
824 xfer += prot_->serializedFieldSize("MyCustomField", apache::thrift::protocol::T_STRING, 10);
825 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::serializedSize<false>(*prot_, CustomProtocolAdapter::toThrift(this->__fbthrift_field_MyCustomField));
826 }
827 if (this->__isset.get(9)) {
828 xfer += prot_->serializedFieldSize("MyOptCustomField", apache::thrift::protocol::T_STRING, 11);
829 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::serializedSize<false>(*prot_, CustomProtocolAdapter::toThrift(this->__fbthrift_field_MyOptCustomField));
830 }
831 xfer += prot_->serializedSizeStop();
832 return xfer;
833 }
834
835 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const836 uint32_t MyStruct::serializedSizeZC(Protocol_ const* prot_) const {
837 uint32_t xfer = 0;
838 xfer += prot_->serializedStructSize("MyStruct");
839 if (this->__fbthrift_field_MyBoolField != bool()) {
840 xfer += prot_->serializedFieldSize("MyBoolField", apache::thrift::protocol::T_BOOL, 1);
841 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->__fbthrift_field_MyBoolField);
842 }
843 if (this->__fbthrift_field_MyIntField != static_cast<::std::int64_t>(12)) {
844 xfer += prot_->serializedFieldSize("MyIntField", apache::thrift::protocol::T_I64, 2);
845 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_MyIntField);
846 }
847 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_MyStringField)) {
848 xfer += prot_->serializedFieldSize("MyStringField", apache::thrift::protocol::T_STRING, 3);
849 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_MyStringField);
850 }
851 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_MyStringField2)) {
852 xfer += prot_->serializedFieldSize("MyStringField2", apache::thrift::protocol::T_STRING, 4);
853 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_MyStringField2);
854 }
855 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_MyBinaryField)) {
856 xfer += prot_->serializedFieldSize("MyBinaryField", apache::thrift::protocol::T_STRING, 5);
857 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<true>(*prot_, this->__fbthrift_field_MyBinaryField);
858 }
859 if (this->__isset.get(5)) {
860 xfer += prot_->serializedFieldSize("MyBinaryField2", apache::thrift::protocol::T_STRING, 6);
861 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<true>(*prot_, this->__fbthrift_field_MyBinaryField2);
862 }
863 {
864 xfer += prot_->serializedFieldSize("MyBinaryField3", apache::thrift::protocol::T_STRING, 7);
865 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<true>(*prot_, this->MyBinaryField3);
866 }
867 if (!this->__fbthrift_field_MyBinaryListField4.empty()) {
868 xfer += prot_->serializedFieldSize("MyBinaryListField4", apache::thrift::protocol::T_LIST, 8);
869 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::binary>, ::std::vector<::std::string>>::serializedSize<false>(*prot_, this->__fbthrift_field_MyBinaryListField4);
870 }
871 if (!this->__fbthrift_field_MyMapEnumAndInt.empty()) {
872 xfer += prot_->serializedFieldSize("MyMapEnumAndInt", apache::thrift::protocol::T_MAP, 9);
873 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::enumeration, ::apache::thrift::type_class::string>, ::std::map<::some::valid::ns::MyEnumA, ::std::string>>::serializedSize<false>(*prot_, this->__fbthrift_field_MyMapEnumAndInt);
874 }
875 if (!(this->__fbthrift_field_MyCustomField == ::some::valid::ns::CustomProtocolType())) {
876 xfer += prot_->serializedFieldSize("MyCustomField", apache::thrift::protocol::T_STRING, 10);
877 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::serializedSize<true>(*prot_, CustomProtocolAdapter::toThrift(this->__fbthrift_field_MyCustomField));
878 }
879 if (this->__isset.get(9)) {
880 xfer += prot_->serializedFieldSize("MyOptCustomField", apache::thrift::protocol::T_STRING, 11);
881 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::serializedSize<true>(*prot_, CustomProtocolAdapter::toThrift(this->__fbthrift_field_MyOptCustomField));
882 }
883 xfer += prot_->serializedSizeStop();
884 return xfer;
885 }
886
887 template <class Protocol_>
write(Protocol_ * prot_) const888 uint32_t MyStruct::write(Protocol_* prot_) const {
889 uint32_t xfer = 0;
890 xfer += prot_->writeStructBegin("MyStruct");
891 bool previousFieldHasValue = true;
892 if (this->__fbthrift_field_MyBoolField != bool()) {
893 constexpr int16_t kPrevFieldId = 0;
894 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BOOL, 1, kPrevFieldId>(*prot_, "MyBoolField", previousFieldHasValue);
895 previousFieldHasValue = true;
896 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::write(*prot_, this->__fbthrift_field_MyBoolField);
897 xfer += prot_->writeFieldEnd();
898 } else {
899 previousFieldHasValue = false;
900 }
901 if (this->__fbthrift_field_MyIntField != static_cast<::std::int64_t>(12)) {
902 constexpr int16_t kPrevFieldId = 1;
903 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 2, kPrevFieldId>(*prot_, "MyIntField", previousFieldHasValue);
904 previousFieldHasValue = true;
905 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, this->__fbthrift_field_MyIntField);
906 xfer += prot_->writeFieldEnd();
907 } else {
908 previousFieldHasValue = false;
909 }
910 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_MyStringField)) {
911 constexpr int16_t kPrevFieldId = 2;
912 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 3, kPrevFieldId>(*prot_, "MyStringField", previousFieldHasValue);
913 previousFieldHasValue = true;
914 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_MyStringField);
915 xfer += prot_->writeFieldEnd();
916 } else {
917 previousFieldHasValue = false;
918 }
919 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_MyStringField2)) {
920 constexpr int16_t kPrevFieldId = 3;
921 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 4, kPrevFieldId>(*prot_, "MyStringField2", previousFieldHasValue);
922 previousFieldHasValue = true;
923 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_MyStringField2);
924 xfer += prot_->writeFieldEnd();
925 } else {
926 previousFieldHasValue = false;
927 }
928 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_MyBinaryField)) {
929 constexpr int16_t kPrevFieldId = 4;
930 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 5, kPrevFieldId>(*prot_, "MyBinaryField", previousFieldHasValue);
931 previousFieldHasValue = true;
932 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::write(*prot_, this->__fbthrift_field_MyBinaryField);
933 xfer += prot_->writeFieldEnd();
934 } else {
935 previousFieldHasValue = false;
936 }
937 if (this->__isset.get(5)) {
938 constexpr int16_t kPrevFieldId = 5;
939 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 6, kPrevFieldId>(*prot_, "MyBinaryField2", previousFieldHasValue);
940 previousFieldHasValue = true;
941 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::write(*prot_, this->__fbthrift_field_MyBinaryField2);
942 xfer += prot_->writeFieldEnd();
943 } else {
944 previousFieldHasValue = false;
945 }
946 {
947 constexpr int16_t kPrevFieldId = 6;
948 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 7, kPrevFieldId>(*prot_, "MyBinaryField3", previousFieldHasValue);
949 previousFieldHasValue = true;
950 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::write(*prot_, this->MyBinaryField3);
951 xfer += prot_->writeFieldEnd();
952 }
953 if (!this->__fbthrift_field_MyBinaryListField4.empty()) {
954 constexpr int16_t kPrevFieldId = 7;
955 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 8, kPrevFieldId>(*prot_, "MyBinaryListField4", previousFieldHasValue);
956 previousFieldHasValue = true;
957 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::binary>, ::std::vector<::std::string>>::write(*prot_, this->__fbthrift_field_MyBinaryListField4);
958 xfer += prot_->writeFieldEnd();
959 } else {
960 previousFieldHasValue = false;
961 }
962 if (!this->__fbthrift_field_MyMapEnumAndInt.empty()) {
963 constexpr int16_t kPrevFieldId = 8;
964 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 9, kPrevFieldId>(*prot_, "MyMapEnumAndInt", previousFieldHasValue);
965 previousFieldHasValue = true;
966 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::enumeration, ::apache::thrift::type_class::string>, ::std::map<::some::valid::ns::MyEnumA, ::std::string>>::write(*prot_, this->__fbthrift_field_MyMapEnumAndInt);
967 xfer += prot_->writeFieldEnd();
968 } else {
969 previousFieldHasValue = false;
970 }
971 if (!(this->__fbthrift_field_MyCustomField == ::some::valid::ns::CustomProtocolType())) {
972 constexpr int16_t kPrevFieldId = 9;
973 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 10, kPrevFieldId>(*prot_, "MyCustomField", previousFieldHasValue);
974 previousFieldHasValue = true;
975 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::write(*prot_, CustomProtocolAdapter::toThrift(this->__fbthrift_field_MyCustomField));
976 xfer += prot_->writeFieldEnd();
977 } else {
978 previousFieldHasValue = false;
979 }
980 if (this->__isset.get(9)) {
981 constexpr int16_t kPrevFieldId = 10;
982 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 11, kPrevFieldId>(*prot_, "MyOptCustomField", previousFieldHasValue);
983 previousFieldHasValue = true;
984 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::write(*prot_, CustomProtocolAdapter::toThrift(this->__fbthrift_field_MyOptCustomField));
985 xfer += prot_->writeFieldEnd();
986 } else {
987 previousFieldHasValue = false;
988 }
989 xfer += prot_->writeFieldStop();
990 xfer += prot_->writeStructEnd();
991 return xfer;
992 }
993
994 extern template void MyStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
995 extern template uint32_t MyStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
996 extern template uint32_t MyStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
997 extern template uint32_t MyStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
998 extern template void MyStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
999 extern template uint32_t MyStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
1000 extern template uint32_t MyStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
1001 extern template uint32_t MyStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
1002 extern template void MyStruct::readNoXfer<>(apache::thrift::SimpleJSONProtocolReader*);
1003 extern template uint32_t MyStruct::write<>(apache::thrift::SimpleJSONProtocolWriter*) const;
1004 extern template uint32_t MyStruct::serializedSize<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
1005 extern template uint32_t MyStruct::serializedSizeZC<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
1006
1007 }}} // some::valid::ns
1008 namespace some { namespace valid { namespace ns {
1009
1010 template <class Protocol_>
readNoXfer(Protocol_ * iprot)1011 void SimpleUnion::readNoXfer(Protocol_* iprot) {
1012 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
1013 _readState.fieldId = 0;
1014
1015 _readState.readStructBegin(iprot);
1016
1017 _readState.readFieldBegin(iprot);
1018 if (_readState.atStop()) {
1019 apache::thrift::clear(*this);
1020 } else {
1021 if (iprot->kUsesFieldNames()) {
1022 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<SimpleUnion>>();
1023 }
1024 switch (_readState.fieldId) {
1025 case 7:
1026 {
1027 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64)) {
1028 this->set_intValue();
1029 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, value_.intValue, _readState);
1030
1031 } else {
1032 _readState.skip(iprot);
1033 }
1034 break;
1035 }
1036 case 2:
1037 {
1038 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING)) {
1039 this->set_stringValue();
1040 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, value_.stringValue, _readState);
1041
1042 } else {
1043 _readState.skip(iprot);
1044 }
1045 break;
1046 }
1047 default:
1048 {
1049 _readState.skip(iprot);
1050 break;
1051 }
1052 }
1053 _readState.readFieldEnd(iprot);
1054 _readState.readFieldBegin(iprot);
1055 if (UNLIKELY(!_readState.atStop())) {
1056 using apache::thrift::protocol::TProtocolException;
1057 TProtocolException::throwUnionMissingStop();
1058 }
1059 }
1060 _readState.readStructEnd(iprot);
1061 }
1062 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const1063 uint32_t SimpleUnion::serializedSize(Protocol_ const* prot_) const {
1064 uint32_t xfer = 0;
1065 xfer += prot_->serializedStructSize("SimpleUnion");
1066 switch(this->getType()) {
1067 case SimpleUnion::Type::intValue:
1068 {
1069 xfer += prot_->serializedFieldSize("intValue", apache::thrift::protocol::T_I64, 7);
1070 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, value_.intValue);
1071 break;
1072 }
1073 case SimpleUnion::Type::stringValue:
1074 {
1075 xfer += prot_->serializedFieldSize("stringValue", apache::thrift::protocol::T_STRING, 2);
1076 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, value_.stringValue);
1077 break;
1078 }
1079 case SimpleUnion::Type::__EMPTY__:;
1080 }
1081 xfer += prot_->serializedSizeStop();
1082 return xfer;
1083 }
1084
1085 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const1086 uint32_t SimpleUnion::serializedSizeZC(Protocol_ const* prot_) const {
1087 uint32_t xfer = 0;
1088 xfer += prot_->serializedStructSize("SimpleUnion");
1089 switch(this->getType()) {
1090 case SimpleUnion::Type::intValue:
1091 {
1092 xfer += prot_->serializedFieldSize("intValue", apache::thrift::protocol::T_I64, 7);
1093 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, value_.intValue);
1094 break;
1095 }
1096 case SimpleUnion::Type::stringValue:
1097 {
1098 xfer += prot_->serializedFieldSize("stringValue", apache::thrift::protocol::T_STRING, 2);
1099 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, value_.stringValue);
1100 break;
1101 }
1102 case SimpleUnion::Type::__EMPTY__:;
1103 }
1104 xfer += prot_->serializedSizeStop();
1105 return xfer;
1106 }
1107
1108 template <class Protocol_>
write(Protocol_ * prot_) const1109 uint32_t SimpleUnion::write(Protocol_* prot_) const {
1110 uint32_t xfer = 0;
1111 xfer += prot_->writeStructBegin("SimpleUnion");
1112 switch(this->getType()) {
1113 case SimpleUnion::Type::intValue:
1114 {
1115 constexpr int16_t kPrevFieldId = 0;
1116 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 7, kPrevFieldId>(*prot_, "intValue", false);
1117 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, value_.intValue);
1118 xfer += prot_->writeFieldEnd();
1119 break;
1120 }
1121 case SimpleUnion::Type::stringValue:
1122 {
1123 constexpr int16_t kPrevFieldId = 7;
1124 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 2, kPrevFieldId>(*prot_, "stringValue", false);
1125 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, value_.stringValue);
1126 xfer += prot_->writeFieldEnd();
1127 break;
1128 }
1129 case SimpleUnion::Type::__EMPTY__:;
1130 }
1131 xfer += prot_->writeFieldStop();
1132 xfer += prot_->writeStructEnd();
1133 return xfer;
1134 }
1135
1136 extern template void SimpleUnion::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
1137 extern template uint32_t SimpleUnion::write<>(apache::thrift::BinaryProtocolWriter*) const;
1138 extern template uint32_t SimpleUnion::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
1139 extern template uint32_t SimpleUnion::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
1140 extern template void SimpleUnion::readNoXfer<>(apache::thrift::CompactProtocolReader*);
1141 extern template uint32_t SimpleUnion::write<>(apache::thrift::CompactProtocolWriter*) const;
1142 extern template uint32_t SimpleUnion::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
1143 extern template uint32_t SimpleUnion::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
1144 extern template void SimpleUnion::readNoXfer<>(apache::thrift::SimpleJSONProtocolReader*);
1145 extern template uint32_t SimpleUnion::write<>(apache::thrift::SimpleJSONProtocolWriter*) const;
1146 extern template uint32_t SimpleUnion::serializedSize<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
1147 extern template uint32_t SimpleUnion::serializedSizeZC<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
1148
1149 }}} // some::valid::ns
1150 namespace some { namespace valid { namespace ns {
1151
1152 template <class Protocol_>
readNoXfer(Protocol_ * iprot)1153 void ComplexUnion::readNoXfer(Protocol_* iprot) {
1154 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
1155 _readState.fieldId = 0;
1156
1157 _readState.readStructBegin(iprot);
1158
1159 _readState.readFieldBegin(iprot);
1160 if (_readState.atStop()) {
1161 apache::thrift::clear(*this);
1162 } else {
1163 if (iprot->kUsesFieldNames()) {
1164 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<ComplexUnion>>();
1165 }
1166 switch (_readState.fieldId) {
1167 case 1:
1168 {
1169 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64)) {
1170 this->set_intValue();
1171 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, value_.intValue, _readState);
1172
1173 } else {
1174 _readState.skip(iprot);
1175 }
1176 break;
1177 }
1178 case 201:
1179 {
1180 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64)) {
1181 this->set_opt_intValue();
1182 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, value_.opt_intValue, _readState);
1183
1184 } else {
1185 _readState.skip(iprot);
1186 }
1187 break;
1188 }
1189 case 3:
1190 {
1191 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING)) {
1192 this->set_stringValue();
1193 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, value_.stringValue, _readState);
1194
1195 } else {
1196 _readState.skip(iprot);
1197 }
1198 break;
1199 }
1200 case 203:
1201 {
1202 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING)) {
1203 this->set_opt_stringValue();
1204 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, value_.opt_stringValue, _readState);
1205
1206 } else {
1207 _readState.skip(iprot);
1208 }
1209 break;
1210 }
1211 case 4:
1212 {
1213 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I16)) {
1214 this->set_intValue2();
1215 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::readWithContext(*iprot, value_.intValue2, _readState);
1216
1217 } else {
1218 _readState.skip(iprot);
1219 }
1220 break;
1221 }
1222 case 6:
1223 {
1224 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32)) {
1225 this->set_intValue3();
1226 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, value_.intValue3, _readState);
1227
1228 } else {
1229 _readState.skip(iprot);
1230 }
1231 break;
1232 }
1233 case 7:
1234 {
1235 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_DOUBLE)) {
1236 this->set_doubelValue();
1237 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::readWithContext(*iprot, value_.doubelValue, _readState);
1238
1239 } else {
1240 _readState.skip(iprot);
1241 }
1242 break;
1243 }
1244 case 8:
1245 {
1246 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BOOL)) {
1247 this->set_boolValue();
1248 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::readWithContext(*iprot, value_.boolValue, _readState);
1249
1250 } else {
1251 _readState.skip(iprot);
1252 }
1253 break;
1254 }
1255 case 9:
1256 {
1257 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST)) {
1258 this->set_union_list();
1259 _readState.beforeSubobject(iprot);
1260 value_.union_list = ::std::vector<::std::int32_t>();
1261 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int32_t>>::readWithContext(*iprot, value_.union_list, _readState);
1262 _readState.afterSubobject(iprot);
1263
1264 } else {
1265 _readState.skip(iprot);
1266 }
1267 break;
1268 }
1269 case 10:
1270 {
1271 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET)) {
1272 this->set_union_set();
1273 _readState.beforeSubobject(iprot);
1274 value_.union_set = ::std::set<::std::int64_t>();
1275 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int64_t>>::readWithContext(*iprot, value_.union_set, _readState);
1276 _readState.afterSubobject(iprot);
1277
1278 } else {
1279 _readState.skip(iprot);
1280 }
1281 break;
1282 }
1283 case 11:
1284 {
1285 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP)) {
1286 this->set_union_map();
1287 _readState.beforeSubobject(iprot);
1288 value_.union_map = ::std::map<::std::string, ::std::int32_t>();
1289 ::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, value_.union_map, _readState);
1290 _readState.afterSubobject(iprot);
1291
1292 } else {
1293 _readState.skip(iprot);
1294 }
1295 break;
1296 }
1297 case 211:
1298 {
1299 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP)) {
1300 this->set_opt_union_map();
1301 _readState.beforeSubobject(iprot);
1302 value_.opt_union_map = ::std::map<::std::string, ::std::int32_t>();
1303 ::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, value_.opt_union_map, _readState);
1304 _readState.afterSubobject(iprot);
1305
1306 } else {
1307 _readState.skip(iprot);
1308 }
1309 break;
1310 }
1311 case 12:
1312 {
1313 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32)) {
1314 this->set_enum_field();
1315 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::readWithContext(*iprot, value_.enum_field, _readState);
1316
1317 } else {
1318 _readState.skip(iprot);
1319 }
1320 break;
1321 }
1322 case 13:
1323 {
1324 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST)) {
1325 this->set_enum_container();
1326 _readState.beforeSubobject(iprot);
1327 value_.enum_container = ::std::vector<::some::valid::ns::MyEnumA>();
1328 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::enumeration>, ::std::vector<::some::valid::ns::MyEnumA>>::readWithContext(*iprot, value_.enum_container, _readState);
1329 _readState.afterSubobject(iprot);
1330
1331 } else {
1332 _readState.skip(iprot);
1333 }
1334 break;
1335 }
1336 case 14:
1337 {
1338 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT)) {
1339 this->set_a_struct();
1340 _readState.beforeSubobject(iprot);
1341 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::readWithContext(*iprot, value_.a_struct, _readState);
1342 _readState.afterSubobject(iprot);
1343
1344 } else {
1345 _readState.skip(iprot);
1346 }
1347 break;
1348 }
1349 case 15:
1350 {
1351 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET)) {
1352 this->set_a_set_struct();
1353 _readState.beforeSubobject(iprot);
1354 value_.a_set_struct = ::std::set<::some::valid::ns::MyStruct>();
1355 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::structure>, ::std::set<::some::valid::ns::MyStruct>>::readWithContext(*iprot, value_.a_set_struct, _readState);
1356 _readState.afterSubobject(iprot);
1357
1358 } else {
1359 _readState.skip(iprot);
1360 }
1361 break;
1362 }
1363 case 16:
1364 {
1365 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT)) {
1366 this->set_a_union();
1367 _readState.beforeSubobject(iprot);
1368 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::SimpleUnion>::readWithContext(*iprot, value_.a_union, _readState);
1369 _readState.afterSubobject(iprot);
1370
1371 } else {
1372 _readState.skip(iprot);
1373 }
1374 break;
1375 }
1376 case 216:
1377 {
1378 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT)) {
1379 this->set_opt_a_union();
1380 _readState.beforeSubobject(iprot);
1381 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::SimpleUnion>::readWithContext(*iprot, value_.opt_a_union, _readState);
1382 _readState.afterSubobject(iprot);
1383
1384 } else {
1385 _readState.skip(iprot);
1386 }
1387 break;
1388 }
1389 case 17:
1390 {
1391 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST)) {
1392 this->set_a_union_list();
1393 _readState.beforeSubobject(iprot);
1394 value_.a_union_list = ::std::vector<::some::valid::ns::SimpleUnion>();
1395 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::variant>, ::std::vector<::some::valid::ns::SimpleUnion>>::readWithContext(*iprot, value_.a_union_list, _readState);
1396 _readState.afterSubobject(iprot);
1397
1398 } else {
1399 _readState.skip(iprot);
1400 }
1401 break;
1402 }
1403 case 18:
1404 {
1405 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET)) {
1406 this->set_a_union_typedef();
1407 _readState.beforeSubobject(iprot);
1408 value_.a_union_typedef = ::some::valid::ns::unionTypeDef();
1409 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>, ::some::valid::ns::unionTypeDef>::readWithContext(*iprot, value_.a_union_typedef, _readState);
1410 _readState.afterSubobject(iprot);
1411
1412 } else {
1413 _readState.skip(iprot);
1414 }
1415 break;
1416 }
1417 case 19:
1418 {
1419 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST)) {
1420 this->set_a_union_typedef_list();
1421 _readState.beforeSubobject(iprot);
1422 value_.a_union_typedef_list = ::std::vector<::some::valid::ns::unionTypeDef>();
1423 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>>, ::std::vector<::some::valid::ns::unionTypeDef>>::readWithContext(*iprot, value_.a_union_typedef_list, _readState);
1424 _readState.afterSubobject(iprot);
1425
1426 } else {
1427 _readState.skip(iprot);
1428 }
1429 break;
1430 }
1431 case 20:
1432 {
1433 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING)) {
1434 this->set_MyBinaryField();
1435 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::readWithContext(*iprot, value_.MyBinaryField, _readState);
1436
1437 } else {
1438 _readState.skip(iprot);
1439 }
1440 break;
1441 }
1442 case 21:
1443 {
1444 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING)) {
1445 this->set_MyBinaryField2();
1446 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::readWithContext(*iprot, value_.MyBinaryField2, _readState);
1447
1448 } else {
1449 _readState.skip(iprot);
1450 }
1451 break;
1452 }
1453 case 23:
1454 {
1455 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST)) {
1456 this->set_MyBinaryListField4();
1457 _readState.beforeSubobject(iprot);
1458 value_.MyBinaryListField4 = ::std::vector<::std::string>();
1459 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::binary>, ::std::vector<::std::string>>::readWithContext(*iprot, value_.MyBinaryListField4, _readState);
1460 _readState.afterSubobject(iprot);
1461
1462 } else {
1463 _readState.skip(iprot);
1464 }
1465 break;
1466 }
1467 case 24:
1468 {
1469 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT)) {
1470 this->set_ref_field();
1471 _readState.beforeSubobject(iprot);
1472 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::unique_ptr<::some::valid::ns::MyStruct>>();
1473 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::readWithContext(*iprot, *ptr, _readState);
1474 value_.ref_field = std::move(ptr);
1475 _readState.afterSubobject(iprot);
1476
1477 } else {
1478 _readState.skip(iprot);
1479 }
1480 break;
1481 }
1482 case 25:
1483 {
1484 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT)) {
1485 this->set_ref_field2();
1486 _readState.beforeSubobject(iprot);
1487 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::shared_ptr<const ::some::valid::ns::MyStruct>>();
1488 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::readWithContext(*iprot, *ptr, _readState);
1489 value_.ref_field2 = std::move(ptr);
1490 _readState.afterSubobject(iprot);
1491
1492 } else {
1493 _readState.skip(iprot);
1494 }
1495 break;
1496 }
1497 case 26:
1498 {
1499 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT)) {
1500 this->set_excp_field();
1501 _readState.beforeSubobject(iprot);
1502 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::AnException>::readWithContext(*iprot, value_.excp_field, _readState);
1503 _readState.afterSubobject(iprot);
1504
1505 } else {
1506 _readState.skip(iprot);
1507 }
1508 break;
1509 }
1510 case 27:
1511 {
1512 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING)) {
1513 this->set_MyCustomField();
1514 ::folly::IOBuf tvalue;
1515 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::readWithContext(*iprot, tvalue, _readState);
1516 value_.MyCustomField = ::apache::thrift::adapt_detail::fromThriftField<CustomProtocolAdapter, 27>(::std::move(tvalue), *this);
1517
1518 } else {
1519 _readState.skip(iprot);
1520 }
1521 break;
1522 }
1523 default:
1524 {
1525 _readState.skip(iprot);
1526 break;
1527 }
1528 }
1529 _readState.readFieldEnd(iprot);
1530 _readState.readFieldBegin(iprot);
1531 if (UNLIKELY(!_readState.atStop())) {
1532 using apache::thrift::protocol::TProtocolException;
1533 TProtocolException::throwUnionMissingStop();
1534 }
1535 }
1536 _readState.readStructEnd(iprot);
1537 }
1538 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const1539 uint32_t ComplexUnion::serializedSize(Protocol_ const* prot_) const {
1540 uint32_t xfer = 0;
1541 xfer += prot_->serializedStructSize("ComplexUnion");
1542 switch(this->getType()) {
1543 case ComplexUnion::Type::intValue:
1544 {
1545 xfer += prot_->serializedFieldSize("intValue", apache::thrift::protocol::T_I64, 1);
1546 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, value_.intValue);
1547 break;
1548 }
1549 case ComplexUnion::Type::opt_intValue:
1550 {
1551 xfer += prot_->serializedFieldSize("opt_intValue", apache::thrift::protocol::T_I64, 201);
1552 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, value_.opt_intValue);
1553 break;
1554 }
1555 case ComplexUnion::Type::stringValue:
1556 {
1557 xfer += prot_->serializedFieldSize("stringValue", apache::thrift::protocol::T_STRING, 3);
1558 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, value_.stringValue);
1559 break;
1560 }
1561 case ComplexUnion::Type::opt_stringValue:
1562 {
1563 xfer += prot_->serializedFieldSize("opt_stringValue", apache::thrift::protocol::T_STRING, 203);
1564 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, value_.opt_stringValue);
1565 break;
1566 }
1567 case ComplexUnion::Type::intValue2:
1568 {
1569 xfer += prot_->serializedFieldSize("intValue2", apache::thrift::protocol::T_I16, 4);
1570 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, value_.intValue2);
1571 break;
1572 }
1573 case ComplexUnion::Type::intValue3:
1574 {
1575 xfer += prot_->serializedFieldSize("intValue3", apache::thrift::protocol::T_I32, 6);
1576 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, value_.intValue3);
1577 break;
1578 }
1579 case ComplexUnion::Type::doubelValue:
1580 {
1581 xfer += prot_->serializedFieldSize("doubelValue", apache::thrift::protocol::T_DOUBLE, 7);
1582 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::serializedSize<false>(*prot_, value_.doubelValue);
1583 break;
1584 }
1585 case ComplexUnion::Type::boolValue:
1586 {
1587 xfer += prot_->serializedFieldSize("boolValue", apache::thrift::protocol::T_BOOL, 8);
1588 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, value_.boolValue);
1589 break;
1590 }
1591 case ComplexUnion::Type::union_list:
1592 {
1593 xfer += prot_->serializedFieldSize("union_list", apache::thrift::protocol::T_LIST, 9);
1594 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int32_t>>::serializedSize<false>(*prot_, value_.union_list);
1595 break;
1596 }
1597 case ComplexUnion::Type::union_set:
1598 {
1599 xfer += prot_->serializedFieldSize("union_set", apache::thrift::protocol::T_SET, 10);
1600 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int64_t>>::serializedSize<false>(*prot_, value_.union_set);
1601 break;
1602 }
1603 case ComplexUnion::Type::union_map:
1604 {
1605 xfer += prot_->serializedFieldSize("union_map", apache::thrift::protocol::T_MAP, 11);
1606 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_, value_.union_map);
1607 break;
1608 }
1609 case ComplexUnion::Type::opt_union_map:
1610 {
1611 xfer += prot_->serializedFieldSize("opt_union_map", apache::thrift::protocol::T_MAP, 211);
1612 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_, value_.opt_union_map);
1613 break;
1614 }
1615 case ComplexUnion::Type::enum_field:
1616 {
1617 xfer += prot_->serializedFieldSize("enum_field", apache::thrift::protocol::T_I32, 12);
1618 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::serializedSize<false>(*prot_, value_.enum_field);
1619 break;
1620 }
1621 case ComplexUnion::Type::enum_container:
1622 {
1623 xfer += prot_->serializedFieldSize("enum_container", apache::thrift::protocol::T_LIST, 13);
1624 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::enumeration>, ::std::vector<::some::valid::ns::MyEnumA>>::serializedSize<false>(*prot_, value_.enum_container);
1625 break;
1626 }
1627 case ComplexUnion::Type::a_struct:
1628 {
1629 xfer += prot_->serializedFieldSize("a_struct", apache::thrift::protocol::T_STRUCT, 14);
1630 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::serializedSize<false>(*prot_, value_.a_struct);
1631 break;
1632 }
1633 case ComplexUnion::Type::a_set_struct:
1634 {
1635 xfer += prot_->serializedFieldSize("a_set_struct", apache::thrift::protocol::T_SET, 15);
1636 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::structure>, ::std::set<::some::valid::ns::MyStruct>>::serializedSize<false>(*prot_, value_.a_set_struct);
1637 break;
1638 }
1639 case ComplexUnion::Type::a_union:
1640 {
1641 xfer += prot_->serializedFieldSize("a_union", apache::thrift::protocol::T_STRUCT, 16);
1642 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::SimpleUnion>::serializedSize<false>(*prot_, value_.a_union);
1643 break;
1644 }
1645 case ComplexUnion::Type::opt_a_union:
1646 {
1647 xfer += prot_->serializedFieldSize("opt_a_union", apache::thrift::protocol::T_STRUCT, 216);
1648 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::SimpleUnion>::serializedSize<false>(*prot_, value_.opt_a_union);
1649 break;
1650 }
1651 case ComplexUnion::Type::a_union_list:
1652 {
1653 xfer += prot_->serializedFieldSize("a_union_list", apache::thrift::protocol::T_LIST, 17);
1654 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::variant>, ::std::vector<::some::valid::ns::SimpleUnion>>::serializedSize<false>(*prot_, value_.a_union_list);
1655 break;
1656 }
1657 case ComplexUnion::Type::a_union_typedef:
1658 {
1659 xfer += prot_->serializedFieldSize("a_union_typedef", apache::thrift::protocol::T_SET, 18);
1660 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>, ::some::valid::ns::unionTypeDef>::serializedSize<false>(*prot_, value_.a_union_typedef);
1661 break;
1662 }
1663 case ComplexUnion::Type::a_union_typedef_list:
1664 {
1665 xfer += prot_->serializedFieldSize("a_union_typedef_list", apache::thrift::protocol::T_LIST, 19);
1666 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>>, ::std::vector<::some::valid::ns::unionTypeDef>>::serializedSize<false>(*prot_, value_.a_union_typedef_list);
1667 break;
1668 }
1669 case ComplexUnion::Type::MyBinaryField:
1670 {
1671 xfer += prot_->serializedFieldSize("MyBinaryField", apache::thrift::protocol::T_STRING, 20);
1672 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<false>(*prot_, value_.MyBinaryField);
1673 break;
1674 }
1675 case ComplexUnion::Type::MyBinaryField2:
1676 {
1677 xfer += prot_->serializedFieldSize("MyBinaryField2", apache::thrift::protocol::T_STRING, 21);
1678 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<false>(*prot_, value_.MyBinaryField2);
1679 break;
1680 }
1681 case ComplexUnion::Type::MyBinaryListField4:
1682 {
1683 xfer += prot_->serializedFieldSize("MyBinaryListField4", apache::thrift::protocol::T_LIST, 23);
1684 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::binary>, ::std::vector<::std::string>>::serializedSize<false>(*prot_, value_.MyBinaryListField4);
1685 break;
1686 }
1687 case ComplexUnion::Type::ref_field:
1688 {
1689 xfer += prot_->serializedFieldSize("ref_field", apache::thrift::protocol::T_STRUCT, 24);
1690 if (value_.ref_field) {
1691 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::serializedSize<false>(*prot_, *value_.ref_field);
1692 } else {
1693 xfer += prot_->serializedStructSize("MyStruct");
1694 xfer += prot_->serializedSizeStop();
1695 }
1696 break;
1697 }
1698 case ComplexUnion::Type::ref_field2:
1699 {
1700 xfer += prot_->serializedFieldSize("ref_field2", apache::thrift::protocol::T_STRUCT, 25);
1701 if (value_.ref_field2) {
1702 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::serializedSize<false>(*prot_, *value_.ref_field2);
1703 } else {
1704 xfer += prot_->serializedStructSize("MyStruct");
1705 xfer += prot_->serializedSizeStop();
1706 }
1707 break;
1708 }
1709 case ComplexUnion::Type::excp_field:
1710 {
1711 xfer += prot_->serializedFieldSize("excp_field", apache::thrift::protocol::T_STRUCT, 26);
1712 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::AnException>::serializedSize<false>(*prot_, value_.excp_field);
1713 break;
1714 }
1715 case ComplexUnion::Type::MyCustomField:
1716 {
1717 xfer += prot_->serializedFieldSize("MyCustomField", apache::thrift::protocol::T_STRING, 27);
1718 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::serializedSize<false>(*prot_, CustomProtocolAdapter::toThrift(value_.MyCustomField));
1719 break;
1720 }
1721 case ComplexUnion::Type::__EMPTY__:;
1722 }
1723 xfer += prot_->serializedSizeStop();
1724 return xfer;
1725 }
1726
1727 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const1728 uint32_t ComplexUnion::serializedSizeZC(Protocol_ const* prot_) const {
1729 uint32_t xfer = 0;
1730 xfer += prot_->serializedStructSize("ComplexUnion");
1731 switch(this->getType()) {
1732 case ComplexUnion::Type::intValue:
1733 {
1734 xfer += prot_->serializedFieldSize("intValue", apache::thrift::protocol::T_I64, 1);
1735 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, value_.intValue);
1736 break;
1737 }
1738 case ComplexUnion::Type::opt_intValue:
1739 {
1740 xfer += prot_->serializedFieldSize("opt_intValue", apache::thrift::protocol::T_I64, 201);
1741 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, value_.opt_intValue);
1742 break;
1743 }
1744 case ComplexUnion::Type::stringValue:
1745 {
1746 xfer += prot_->serializedFieldSize("stringValue", apache::thrift::protocol::T_STRING, 3);
1747 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, value_.stringValue);
1748 break;
1749 }
1750 case ComplexUnion::Type::opt_stringValue:
1751 {
1752 xfer += prot_->serializedFieldSize("opt_stringValue", apache::thrift::protocol::T_STRING, 203);
1753 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, value_.opt_stringValue);
1754 break;
1755 }
1756 case ComplexUnion::Type::intValue2:
1757 {
1758 xfer += prot_->serializedFieldSize("intValue2", apache::thrift::protocol::T_I16, 4);
1759 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, value_.intValue2);
1760 break;
1761 }
1762 case ComplexUnion::Type::intValue3:
1763 {
1764 xfer += prot_->serializedFieldSize("intValue3", apache::thrift::protocol::T_I32, 6);
1765 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, value_.intValue3);
1766 break;
1767 }
1768 case ComplexUnion::Type::doubelValue:
1769 {
1770 xfer += prot_->serializedFieldSize("doubelValue", apache::thrift::protocol::T_DOUBLE, 7);
1771 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::serializedSize<false>(*prot_, value_.doubelValue);
1772 break;
1773 }
1774 case ComplexUnion::Type::boolValue:
1775 {
1776 xfer += prot_->serializedFieldSize("boolValue", apache::thrift::protocol::T_BOOL, 8);
1777 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, value_.boolValue);
1778 break;
1779 }
1780 case ComplexUnion::Type::union_list:
1781 {
1782 xfer += prot_->serializedFieldSize("union_list", apache::thrift::protocol::T_LIST, 9);
1783 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int32_t>>::serializedSize<false>(*prot_, value_.union_list);
1784 break;
1785 }
1786 case ComplexUnion::Type::union_set:
1787 {
1788 xfer += prot_->serializedFieldSize("union_set", apache::thrift::protocol::T_SET, 10);
1789 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int64_t>>::serializedSize<false>(*prot_, value_.union_set);
1790 break;
1791 }
1792 case ComplexUnion::Type::union_map:
1793 {
1794 xfer += prot_->serializedFieldSize("union_map", apache::thrift::protocol::T_MAP, 11);
1795 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_, value_.union_map);
1796 break;
1797 }
1798 case ComplexUnion::Type::opt_union_map:
1799 {
1800 xfer += prot_->serializedFieldSize("opt_union_map", apache::thrift::protocol::T_MAP, 211);
1801 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_, value_.opt_union_map);
1802 break;
1803 }
1804 case ComplexUnion::Type::enum_field:
1805 {
1806 xfer += prot_->serializedFieldSize("enum_field", apache::thrift::protocol::T_I32, 12);
1807 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::serializedSize<false>(*prot_, value_.enum_field);
1808 break;
1809 }
1810 case ComplexUnion::Type::enum_container:
1811 {
1812 xfer += prot_->serializedFieldSize("enum_container", apache::thrift::protocol::T_LIST, 13);
1813 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::enumeration>, ::std::vector<::some::valid::ns::MyEnumA>>::serializedSize<false>(*prot_, value_.enum_container);
1814 break;
1815 }
1816 case ComplexUnion::Type::a_struct:
1817 {
1818 xfer += prot_->serializedFieldSize("a_struct", apache::thrift::protocol::T_STRUCT, 14);
1819 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::serializedSize<true>(*prot_, value_.a_struct);
1820 break;
1821 }
1822 case ComplexUnion::Type::a_set_struct:
1823 {
1824 xfer += prot_->serializedFieldSize("a_set_struct", apache::thrift::protocol::T_SET, 15);
1825 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::structure>, ::std::set<::some::valid::ns::MyStruct>>::serializedSize<false>(*prot_, value_.a_set_struct);
1826 break;
1827 }
1828 case ComplexUnion::Type::a_union:
1829 {
1830 xfer += prot_->serializedFieldSize("a_union", apache::thrift::protocol::T_STRUCT, 16);
1831 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::SimpleUnion>::serializedSize<true>(*prot_, value_.a_union);
1832 break;
1833 }
1834 case ComplexUnion::Type::opt_a_union:
1835 {
1836 xfer += prot_->serializedFieldSize("opt_a_union", apache::thrift::protocol::T_STRUCT, 216);
1837 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::SimpleUnion>::serializedSize<true>(*prot_, value_.opt_a_union);
1838 break;
1839 }
1840 case ComplexUnion::Type::a_union_list:
1841 {
1842 xfer += prot_->serializedFieldSize("a_union_list", apache::thrift::protocol::T_LIST, 17);
1843 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::variant>, ::std::vector<::some::valid::ns::SimpleUnion>>::serializedSize<false>(*prot_, value_.a_union_list);
1844 break;
1845 }
1846 case ComplexUnion::Type::a_union_typedef:
1847 {
1848 xfer += prot_->serializedFieldSize("a_union_typedef", apache::thrift::protocol::T_SET, 18);
1849 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>, ::some::valid::ns::unionTypeDef>::serializedSize<false>(*prot_, value_.a_union_typedef);
1850 break;
1851 }
1852 case ComplexUnion::Type::a_union_typedef_list:
1853 {
1854 xfer += prot_->serializedFieldSize("a_union_typedef_list", apache::thrift::protocol::T_LIST, 19);
1855 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>>, ::std::vector<::some::valid::ns::unionTypeDef>>::serializedSize<false>(*prot_, value_.a_union_typedef_list);
1856 break;
1857 }
1858 case ComplexUnion::Type::MyBinaryField:
1859 {
1860 xfer += prot_->serializedFieldSize("MyBinaryField", apache::thrift::protocol::T_STRING, 20);
1861 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<true>(*prot_, value_.MyBinaryField);
1862 break;
1863 }
1864 case ComplexUnion::Type::MyBinaryField2:
1865 {
1866 xfer += prot_->serializedFieldSize("MyBinaryField2", apache::thrift::protocol::T_STRING, 21);
1867 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<true>(*prot_, value_.MyBinaryField2);
1868 break;
1869 }
1870 case ComplexUnion::Type::MyBinaryListField4:
1871 {
1872 xfer += prot_->serializedFieldSize("MyBinaryListField4", apache::thrift::protocol::T_LIST, 23);
1873 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::binary>, ::std::vector<::std::string>>::serializedSize<false>(*prot_, value_.MyBinaryListField4);
1874 break;
1875 }
1876 case ComplexUnion::Type::ref_field:
1877 {
1878 xfer += prot_->serializedFieldSize("ref_field", apache::thrift::protocol::T_STRUCT, 24);
1879 if (value_.ref_field) {
1880 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::serializedSize<true>(*prot_, *value_.ref_field);
1881 } else {
1882 xfer += prot_->serializedStructSize("MyStruct");
1883 xfer += prot_->serializedSizeStop();
1884 }
1885 break;
1886 }
1887 case ComplexUnion::Type::ref_field2:
1888 {
1889 xfer += prot_->serializedFieldSize("ref_field2", apache::thrift::protocol::T_STRUCT, 25);
1890 if (value_.ref_field2) {
1891 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::serializedSize<true>(*prot_, *value_.ref_field2);
1892 } else {
1893 xfer += prot_->serializedStructSize("MyStruct");
1894 xfer += prot_->serializedSizeStop();
1895 }
1896 break;
1897 }
1898 case ComplexUnion::Type::excp_field:
1899 {
1900 xfer += prot_->serializedFieldSize("excp_field", apache::thrift::protocol::T_STRUCT, 26);
1901 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::AnException>::serializedSize<true>(*prot_, value_.excp_field);
1902 break;
1903 }
1904 case ComplexUnion::Type::MyCustomField:
1905 {
1906 xfer += prot_->serializedFieldSize("MyCustomField", apache::thrift::protocol::T_STRING, 27);
1907 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::serializedSize<true>(*prot_, CustomProtocolAdapter::toThrift(value_.MyCustomField));
1908 break;
1909 }
1910 case ComplexUnion::Type::__EMPTY__:;
1911 }
1912 xfer += prot_->serializedSizeStop();
1913 return xfer;
1914 }
1915
1916 template <class Protocol_>
write(Protocol_ * prot_) const1917 uint32_t ComplexUnion::write(Protocol_* prot_) const {
1918 uint32_t xfer = 0;
1919 xfer += prot_->writeStructBegin("ComplexUnion");
1920 switch(this->getType()) {
1921 case ComplexUnion::Type::intValue:
1922 {
1923 constexpr int16_t kPrevFieldId = 0;
1924 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 1, kPrevFieldId>(*prot_, "intValue", false);
1925 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, value_.intValue);
1926 xfer += prot_->writeFieldEnd();
1927 break;
1928 }
1929 case ComplexUnion::Type::opt_intValue:
1930 {
1931 constexpr int16_t kPrevFieldId = 1;
1932 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 201, kPrevFieldId>(*prot_, "opt_intValue", false);
1933 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, value_.opt_intValue);
1934 xfer += prot_->writeFieldEnd();
1935 break;
1936 }
1937 case ComplexUnion::Type::stringValue:
1938 {
1939 constexpr int16_t kPrevFieldId = 201;
1940 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 3, kPrevFieldId>(*prot_, "stringValue", false);
1941 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, value_.stringValue);
1942 xfer += prot_->writeFieldEnd();
1943 break;
1944 }
1945 case ComplexUnion::Type::opt_stringValue:
1946 {
1947 constexpr int16_t kPrevFieldId = 3;
1948 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 203, kPrevFieldId>(*prot_, "opt_stringValue", false);
1949 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, value_.opt_stringValue);
1950 xfer += prot_->writeFieldEnd();
1951 break;
1952 }
1953 case ComplexUnion::Type::intValue2:
1954 {
1955 constexpr int16_t kPrevFieldId = 203;
1956 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I16, 4, kPrevFieldId>(*prot_, "intValue2", false);
1957 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::write(*prot_, value_.intValue2);
1958 xfer += prot_->writeFieldEnd();
1959 break;
1960 }
1961 case ComplexUnion::Type::intValue3:
1962 {
1963 constexpr int16_t kPrevFieldId = 4;
1964 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 6, kPrevFieldId>(*prot_, "intValue3", false);
1965 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, value_.intValue3);
1966 xfer += prot_->writeFieldEnd();
1967 break;
1968 }
1969 case ComplexUnion::Type::doubelValue:
1970 {
1971 constexpr int16_t kPrevFieldId = 6;
1972 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_DOUBLE, 7, kPrevFieldId>(*prot_, "doubelValue", false);
1973 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::write(*prot_, value_.doubelValue);
1974 xfer += prot_->writeFieldEnd();
1975 break;
1976 }
1977 case ComplexUnion::Type::boolValue:
1978 {
1979 constexpr int16_t kPrevFieldId = 7;
1980 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BOOL, 8, kPrevFieldId>(*prot_, "boolValue", false);
1981 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::write(*prot_, value_.boolValue);
1982 xfer += prot_->writeFieldEnd();
1983 break;
1984 }
1985 case ComplexUnion::Type::union_list:
1986 {
1987 constexpr int16_t kPrevFieldId = 8;
1988 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 9, kPrevFieldId>(*prot_, "union_list", false);
1989 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int32_t>>::write(*prot_, value_.union_list);
1990 xfer += prot_->writeFieldEnd();
1991 break;
1992 }
1993 case ComplexUnion::Type::union_set:
1994 {
1995 constexpr int16_t kPrevFieldId = 9;
1996 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 10, kPrevFieldId>(*prot_, "union_set", false);
1997 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int64_t>>::write(*prot_, value_.union_set);
1998 xfer += prot_->writeFieldEnd();
1999 break;
2000 }
2001 case ComplexUnion::Type::union_map:
2002 {
2003 constexpr int16_t kPrevFieldId = 10;
2004 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 11, kPrevFieldId>(*prot_, "union_map", false);
2005 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_, value_.union_map);
2006 xfer += prot_->writeFieldEnd();
2007 break;
2008 }
2009 case ComplexUnion::Type::opt_union_map:
2010 {
2011 constexpr int16_t kPrevFieldId = 11;
2012 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 211, kPrevFieldId>(*prot_, "opt_union_map", false);
2013 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_, value_.opt_union_map);
2014 xfer += prot_->writeFieldEnd();
2015 break;
2016 }
2017 case ComplexUnion::Type::enum_field:
2018 {
2019 constexpr int16_t kPrevFieldId = 211;
2020 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 12, kPrevFieldId>(*prot_, "enum_field", false);
2021 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::write(*prot_, value_.enum_field);
2022 xfer += prot_->writeFieldEnd();
2023 break;
2024 }
2025 case ComplexUnion::Type::enum_container:
2026 {
2027 constexpr int16_t kPrevFieldId = 12;
2028 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 13, kPrevFieldId>(*prot_, "enum_container", false);
2029 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::enumeration>, ::std::vector<::some::valid::ns::MyEnumA>>::write(*prot_, value_.enum_container);
2030 xfer += prot_->writeFieldEnd();
2031 break;
2032 }
2033 case ComplexUnion::Type::a_struct:
2034 {
2035 constexpr int16_t kPrevFieldId = 13;
2036 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 14, kPrevFieldId>(*prot_, "a_struct", false);
2037 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::write(*prot_, value_.a_struct);
2038 xfer += prot_->writeFieldEnd();
2039 break;
2040 }
2041 case ComplexUnion::Type::a_set_struct:
2042 {
2043 constexpr int16_t kPrevFieldId = 14;
2044 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 15, kPrevFieldId>(*prot_, "a_set_struct", false);
2045 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::structure>, ::std::set<::some::valid::ns::MyStruct>>::write(*prot_, value_.a_set_struct);
2046 xfer += prot_->writeFieldEnd();
2047 break;
2048 }
2049 case ComplexUnion::Type::a_union:
2050 {
2051 constexpr int16_t kPrevFieldId = 15;
2052 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 16, kPrevFieldId>(*prot_, "a_union", false);
2053 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::SimpleUnion>::write(*prot_, value_.a_union);
2054 xfer += prot_->writeFieldEnd();
2055 break;
2056 }
2057 case ComplexUnion::Type::opt_a_union:
2058 {
2059 constexpr int16_t kPrevFieldId = 16;
2060 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 216, kPrevFieldId>(*prot_, "opt_a_union", false);
2061 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::SimpleUnion>::write(*prot_, value_.opt_a_union);
2062 xfer += prot_->writeFieldEnd();
2063 break;
2064 }
2065 case ComplexUnion::Type::a_union_list:
2066 {
2067 constexpr int16_t kPrevFieldId = 216;
2068 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 17, kPrevFieldId>(*prot_, "a_union_list", false);
2069 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::variant>, ::std::vector<::some::valid::ns::SimpleUnion>>::write(*prot_, value_.a_union_list);
2070 xfer += prot_->writeFieldEnd();
2071 break;
2072 }
2073 case ComplexUnion::Type::a_union_typedef:
2074 {
2075 constexpr int16_t kPrevFieldId = 17;
2076 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 18, kPrevFieldId>(*prot_, "a_union_typedef", false);
2077 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>, ::some::valid::ns::unionTypeDef>::write(*prot_, value_.a_union_typedef);
2078 xfer += prot_->writeFieldEnd();
2079 break;
2080 }
2081 case ComplexUnion::Type::a_union_typedef_list:
2082 {
2083 constexpr int16_t kPrevFieldId = 18;
2084 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 19, kPrevFieldId>(*prot_, "a_union_typedef_list", false);
2085 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>>, ::std::vector<::some::valid::ns::unionTypeDef>>::write(*prot_, value_.a_union_typedef_list);
2086 xfer += prot_->writeFieldEnd();
2087 break;
2088 }
2089 case ComplexUnion::Type::MyBinaryField:
2090 {
2091 constexpr int16_t kPrevFieldId = 19;
2092 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 20, kPrevFieldId>(*prot_, "MyBinaryField", false);
2093 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::write(*prot_, value_.MyBinaryField);
2094 xfer += prot_->writeFieldEnd();
2095 break;
2096 }
2097 case ComplexUnion::Type::MyBinaryField2:
2098 {
2099 constexpr int16_t kPrevFieldId = 20;
2100 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 21, kPrevFieldId>(*prot_, "MyBinaryField2", false);
2101 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::write(*prot_, value_.MyBinaryField2);
2102 xfer += prot_->writeFieldEnd();
2103 break;
2104 }
2105 case ComplexUnion::Type::MyBinaryListField4:
2106 {
2107 constexpr int16_t kPrevFieldId = 21;
2108 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 23, kPrevFieldId>(*prot_, "MyBinaryListField4", false);
2109 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::binary>, ::std::vector<::std::string>>::write(*prot_, value_.MyBinaryListField4);
2110 xfer += prot_->writeFieldEnd();
2111 break;
2112 }
2113 case ComplexUnion::Type::ref_field:
2114 {
2115 constexpr int16_t kPrevFieldId = 23;
2116 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 24, kPrevFieldId>(*prot_, "ref_field", false);
2117 if (value_.ref_field) {
2118 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::write(*prot_, *value_.ref_field);
2119 } else {
2120 xfer += prot_->writeStructBegin("MyStruct");
2121 xfer += prot_->writeStructEnd();
2122 xfer += prot_->writeFieldStop();
2123 }
2124 xfer += prot_->writeFieldEnd();
2125 break;
2126 }
2127 case ComplexUnion::Type::ref_field2:
2128 {
2129 constexpr int16_t kPrevFieldId = 24;
2130 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 25, kPrevFieldId>(*prot_, "ref_field2", false);
2131 if (value_.ref_field2) {
2132 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::write(*prot_, *value_.ref_field2);
2133 } else {
2134 xfer += prot_->writeStructBegin("MyStruct");
2135 xfer += prot_->writeStructEnd();
2136 xfer += prot_->writeFieldStop();
2137 }
2138 xfer += prot_->writeFieldEnd();
2139 break;
2140 }
2141 case ComplexUnion::Type::excp_field:
2142 {
2143 constexpr int16_t kPrevFieldId = 25;
2144 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 26, kPrevFieldId>(*prot_, "excp_field", false);
2145 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::AnException>::write(*prot_, value_.excp_field);
2146 xfer += prot_->writeFieldEnd();
2147 break;
2148 }
2149 case ComplexUnion::Type::MyCustomField:
2150 {
2151 constexpr int16_t kPrevFieldId = 26;
2152 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 27, kPrevFieldId>(*prot_, "MyCustomField", false);
2153 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::write(*prot_, CustomProtocolAdapter::toThrift(value_.MyCustomField));
2154 xfer += prot_->writeFieldEnd();
2155 break;
2156 }
2157 case ComplexUnion::Type::__EMPTY__:;
2158 }
2159 xfer += prot_->writeFieldStop();
2160 xfer += prot_->writeStructEnd();
2161 return xfer;
2162 }
2163
2164 extern template void ComplexUnion::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
2165 extern template uint32_t ComplexUnion::write<>(apache::thrift::BinaryProtocolWriter*) const;
2166 extern template uint32_t ComplexUnion::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
2167 extern template uint32_t ComplexUnion::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
2168 extern template void ComplexUnion::readNoXfer<>(apache::thrift::CompactProtocolReader*);
2169 extern template uint32_t ComplexUnion::write<>(apache::thrift::CompactProtocolWriter*) const;
2170 extern template uint32_t ComplexUnion::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
2171 extern template uint32_t ComplexUnion::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
2172 extern template void ComplexUnion::readNoXfer<>(apache::thrift::SimpleJSONProtocolReader*);
2173 extern template uint32_t ComplexUnion::write<>(apache::thrift::SimpleJSONProtocolWriter*) const;
2174 extern template uint32_t ComplexUnion::serializedSize<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
2175 extern template uint32_t ComplexUnion::serializedSizeZC<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
2176
2177 }}} // some::valid::ns
2178 namespace some { namespace valid { namespace ns {
2179
2180 template <class Protocol_>
readNoXfer(Protocol_ * iprot)2181 void AnException::readNoXfer(Protocol_* iprot) {
2182 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
2183
2184 _readState.readStructBegin(iprot);
2185
2186 using apache::thrift::TProtocolException;
2187
2188
2189 if (UNLIKELY(!_readState.advanceToNextField(
2190 iprot,
2191 0,
2192 1,
2193 apache::thrift::protocol::T_I32))) {
2194 goto _loop;
2195 }
2196 _readField_code:
2197 {
2198 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->code, _readState);
2199
2200 }
2201 this->__isset.set(0, true);
2202
2203 if (UNLIKELY(!_readState.advanceToNextField(
2204 iprot,
2205 1,
2206 101,
2207 apache::thrift::protocol::T_I32))) {
2208 goto _loop;
2209 }
2210 _readField_req_code:
2211 {
2212 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->req_code, _readState);
2213
2214 }
2215
2216 if (UNLIKELY(!_readState.advanceToNextField(
2217 iprot,
2218 101,
2219 2,
2220 apache::thrift::protocol::T_STRING))) {
2221 goto _loop;
2222 }
2223 _readField_message2:
2224 {
2225 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->message2, _readState);
2226
2227 }
2228 this->__isset.set(1, true);
2229
2230 if (UNLIKELY(!_readState.advanceToNextField(
2231 iprot,
2232 2,
2233 102,
2234 apache::thrift::protocol::T_STRING))) {
2235 goto _loop;
2236 }
2237 _readField_req_message:
2238 {
2239 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->req_message, _readState);
2240
2241 }
2242
2243 if (UNLIKELY(!_readState.advanceToNextField(
2244 iprot,
2245 102,
2246 3,
2247 apache::thrift::protocol::T_LIST))) {
2248 goto _loop;
2249 }
2250 _readField_exception_list:
2251 {
2252 _readState.beforeSubobject(iprot);
2253 this->exception_list = ::std::vector<::std::int32_t>();
2254 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int32_t>>::readWithContext(*iprot, this->exception_list, _readState);
2255 _readState.afterSubobject(iprot);
2256
2257 }
2258 this->__isset.set(2, true);
2259
2260 if (UNLIKELY(!_readState.advanceToNextField(
2261 iprot,
2262 3,
2263 4,
2264 apache::thrift::protocol::T_SET))) {
2265 goto _loop;
2266 }
2267 _readField_exception_set:
2268 {
2269 _readState.beforeSubobject(iprot);
2270 this->exception_set = ::std::set<::std::int64_t>();
2271 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int64_t>>::readWithContext(*iprot, this->exception_set, _readState);
2272 _readState.afterSubobject(iprot);
2273
2274 }
2275 this->__isset.set(3, true);
2276
2277 if (UNLIKELY(!_readState.advanceToNextField(
2278 iprot,
2279 4,
2280 5,
2281 apache::thrift::protocol::T_MAP))) {
2282 goto _loop;
2283 }
2284 _readField_exception_map:
2285 {
2286 _readState.beforeSubobject(iprot);
2287 this->exception_map = ::std::map<::std::string, ::std::int32_t>();
2288 ::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->exception_map, _readState);
2289 _readState.afterSubobject(iprot);
2290
2291 }
2292 this->__isset.set(4, true);
2293
2294 if (UNLIKELY(!_readState.advanceToNextField(
2295 iprot,
2296 5,
2297 105,
2298 apache::thrift::protocol::T_MAP))) {
2299 goto _loop;
2300 }
2301 _readField_req_exception_map:
2302 {
2303 _readState.beforeSubobject(iprot);
2304 this->req_exception_map = ::std::map<::std::string, ::std::int32_t>();
2305 ::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->req_exception_map, _readState);
2306 _readState.afterSubobject(iprot);
2307
2308 }
2309
2310 if (UNLIKELY(!_readState.advanceToNextField(
2311 iprot,
2312 105,
2313 6,
2314 apache::thrift::protocol::T_I32))) {
2315 goto _loop;
2316 }
2317 _readField_enum_field:
2318 {
2319 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::readWithContext(*iprot, this->enum_field, _readState);
2320
2321 }
2322 this->__isset.set(5, true);
2323
2324 if (UNLIKELY(!_readState.advanceToNextField(
2325 iprot,
2326 6,
2327 7,
2328 apache::thrift::protocol::T_LIST))) {
2329 goto _loop;
2330 }
2331 _readField_enum_container:
2332 {
2333 _readState.beforeSubobject(iprot);
2334 this->enum_container = ::std::vector<::some::valid::ns::MyEnumA>();
2335 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::enumeration>, ::std::vector<::some::valid::ns::MyEnumA>>::readWithContext(*iprot, this->enum_container, _readState);
2336 _readState.afterSubobject(iprot);
2337
2338 }
2339 this->__isset.set(6, true);
2340
2341 if (UNLIKELY(!_readState.advanceToNextField(
2342 iprot,
2343 7,
2344 8,
2345 apache::thrift::protocol::T_STRUCT))) {
2346 goto _loop;
2347 }
2348 _readField_a_struct:
2349 {
2350 _readState.beforeSubobject(iprot);
2351 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::readWithContext(*iprot, this->a_struct, _readState);
2352 _readState.afterSubobject(iprot);
2353
2354 }
2355 this->__isset.set(7, true);
2356
2357 if (UNLIKELY(!_readState.advanceToNextField(
2358 iprot,
2359 8,
2360 9,
2361 apache::thrift::protocol::T_SET))) {
2362 goto _loop;
2363 }
2364 _readField_a_set_struct:
2365 {
2366 _readState.beforeSubobject(iprot);
2367 this->a_set_struct = ::std::set<::some::valid::ns::MyStruct>();
2368 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::structure>, ::std::set<::some::valid::ns::MyStruct>>::readWithContext(*iprot, this->a_set_struct, _readState);
2369 _readState.afterSubobject(iprot);
2370
2371 }
2372 this->__isset.set(8, true);
2373
2374 if (UNLIKELY(!_readState.advanceToNextField(
2375 iprot,
2376 9,
2377 10,
2378 apache::thrift::protocol::T_LIST))) {
2379 goto _loop;
2380 }
2381 _readField_a_union_list:
2382 {
2383 _readState.beforeSubobject(iprot);
2384 this->a_union_list = ::std::vector<::some::valid::ns::SimpleUnion>();
2385 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::variant>, ::std::vector<::some::valid::ns::SimpleUnion>>::readWithContext(*iprot, this->a_union_list, _readState);
2386 _readState.afterSubobject(iprot);
2387
2388 }
2389 this->__isset.set(9, true);
2390
2391 if (UNLIKELY(!_readState.advanceToNextField(
2392 iprot,
2393 10,
2394 11,
2395 apache::thrift::protocol::T_SET))) {
2396 goto _loop;
2397 }
2398 _readField_union_typedef:
2399 {
2400 _readState.beforeSubobject(iprot);
2401 this->union_typedef = ::some::valid::ns::unionTypeDef();
2402 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>, ::some::valid::ns::unionTypeDef>::readWithContext(*iprot, this->union_typedef, _readState);
2403 _readState.afterSubobject(iprot);
2404
2405 }
2406 this->__isset.set(10, true);
2407
2408 if (UNLIKELY(!_readState.advanceToNextField(
2409 iprot,
2410 11,
2411 19,
2412 apache::thrift::protocol::T_LIST))) {
2413 goto _loop;
2414 }
2415 _readField_a_union_typedef_list:
2416 {
2417 _readState.beforeSubobject(iprot);
2418 this->a_union_typedef_list = ::std::vector<::some::valid::ns::unionTypeDef>();
2419 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>>, ::std::vector<::some::valid::ns::unionTypeDef>>::readWithContext(*iprot, this->a_union_typedef_list, _readState);
2420 _readState.afterSubobject(iprot);
2421
2422 }
2423 this->__isset.set(11, true);
2424
2425 if (UNLIKELY(!_readState.advanceToNextField(
2426 iprot,
2427 19,
2428 20,
2429 apache::thrift::protocol::T_STRING))) {
2430 goto _loop;
2431 }
2432 _readField_MyCustomField:
2433 {
2434 ::folly::IOBuf tvalue;
2435 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::readWithContext(*iprot, tvalue, _readState);
2436 this->MyCustomField = ::apache::thrift::adapt_detail::fromThriftField<CustomProtocolAdapter, 20>(::std::move(tvalue), *this);
2437
2438 }
2439 this->__isset.set(12, true);
2440
2441 if (UNLIKELY(!_readState.advanceToNextField(
2442 iprot,
2443 20,
2444 21,
2445 apache::thrift::protocol::T_STRING))) {
2446 goto _loop;
2447 }
2448 _readField_MyOptCustomField:
2449 {
2450 ::folly::IOBuf tvalue;
2451 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::readWithContext(*iprot, tvalue, _readState);
2452 this->MyOptCustomField = ::apache::thrift::adapt_detail::fromThriftField<CustomProtocolAdapter, 21>(::std::move(tvalue), *this);
2453
2454 }
2455 this->__isset.set(13, true);
2456
2457 if (UNLIKELY(!_readState.advanceToNextField(
2458 iprot,
2459 21,
2460 0,
2461 apache::thrift::protocol::T_STOP))) {
2462 goto _loop;
2463 }
2464
2465 _end:
2466 _readState.readStructEnd(iprot);
2467
2468 return;
2469
2470 _loop:
2471 _readState.afterAdvanceFailure(iprot);
2472 if (_readState.atStop()) {
2473 goto _end;
2474 }
2475 if (iprot->kUsesFieldNames()) {
2476 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<AnException>>();
2477 }
2478
2479 switch (_readState.fieldId) {
2480 case 1:
2481 {
2482 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
2483 goto _readField_code;
2484 } else {
2485 goto _skip;
2486 }
2487 }
2488 case 101:
2489 {
2490 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
2491 goto _readField_req_code;
2492 } else {
2493 goto _skip;
2494 }
2495 }
2496 case 2:
2497 {
2498 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
2499 goto _readField_message2;
2500 } else {
2501 goto _skip;
2502 }
2503 }
2504 case 102:
2505 {
2506 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
2507 goto _readField_req_message;
2508 } else {
2509 goto _skip;
2510 }
2511 }
2512 case 3:
2513 {
2514 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
2515 goto _readField_exception_list;
2516 } else {
2517 goto _skip;
2518 }
2519 }
2520 case 4:
2521 {
2522 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
2523 goto _readField_exception_set;
2524 } else {
2525 goto _skip;
2526 }
2527 }
2528 case 5:
2529 {
2530 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
2531 goto _readField_exception_map;
2532 } else {
2533 goto _skip;
2534 }
2535 }
2536 case 105:
2537 {
2538 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
2539 goto _readField_req_exception_map;
2540 } else {
2541 goto _skip;
2542 }
2543 }
2544 case 6:
2545 {
2546 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
2547 goto _readField_enum_field;
2548 } else {
2549 goto _skip;
2550 }
2551 }
2552 case 7:
2553 {
2554 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
2555 goto _readField_enum_container;
2556 } else {
2557 goto _skip;
2558 }
2559 }
2560 case 8:
2561 {
2562 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
2563 goto _readField_a_struct;
2564 } else {
2565 goto _skip;
2566 }
2567 }
2568 case 9:
2569 {
2570 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
2571 goto _readField_a_set_struct;
2572 } else {
2573 goto _skip;
2574 }
2575 }
2576 case 10:
2577 {
2578 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
2579 goto _readField_a_union_list;
2580 } else {
2581 goto _skip;
2582 }
2583 }
2584 case 11:
2585 {
2586 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
2587 goto _readField_union_typedef;
2588 } else {
2589 goto _skip;
2590 }
2591 }
2592 case 19:
2593 {
2594 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
2595 goto _readField_a_union_typedef_list;
2596 } else {
2597 goto _skip;
2598 }
2599 }
2600 case 20:
2601 {
2602 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
2603 goto _readField_MyCustomField;
2604 } else {
2605 goto _skip;
2606 }
2607 }
2608 case 21:
2609 {
2610 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
2611 goto _readField_MyOptCustomField;
2612 } else {
2613 goto _skip;
2614 }
2615 }
2616 default:
2617 {
2618 _skip:
2619 _readState.skip(iprot);
2620 _readState.readFieldEnd(iprot);
2621 _readState.readFieldBeginNoInline(iprot);
2622 goto _loop;
2623 }
2624 }
2625 }
2626
2627 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const2628 uint32_t AnException::serializedSize(Protocol_ const* prot_) const {
2629 uint32_t xfer = 0;
2630 xfer += prot_->serializedStructSize("AnException");
2631 if (this->code != ::std::int32_t()) {
2632 xfer += prot_->serializedFieldSize("code", apache::thrift::protocol::T_I32, 1);
2633 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->code);
2634 }
2635 {
2636 xfer += prot_->serializedFieldSize("req_code", apache::thrift::protocol::T_I32, 101);
2637 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->req_code);
2638 }
2639 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->message2)) {
2640 xfer += prot_->serializedFieldSize("message2", apache::thrift::protocol::T_STRING, 2);
2641 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->message2);
2642 }
2643 {
2644 xfer += prot_->serializedFieldSize("req_message", apache::thrift::protocol::T_STRING, 102);
2645 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->req_message);
2646 }
2647 if (!this->exception_list.empty()) {
2648 xfer += prot_->serializedFieldSize("exception_list", apache::thrift::protocol::T_LIST, 3);
2649 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int32_t>>::serializedSize<false>(*prot_, this->exception_list);
2650 }
2651 if (!this->exception_set.empty()) {
2652 xfer += prot_->serializedFieldSize("exception_set", apache::thrift::protocol::T_SET, 4);
2653 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int64_t>>::serializedSize<false>(*prot_, this->exception_set);
2654 }
2655 if (!this->exception_map.empty()) {
2656 xfer += prot_->serializedFieldSize("exception_map", apache::thrift::protocol::T_MAP, 5);
2657 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->exception_map);
2658 }
2659 {
2660 xfer += prot_->serializedFieldSize("req_exception_map", apache::thrift::protocol::T_MAP, 105);
2661 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->req_exception_map);
2662 }
2663 if (this->enum_field != ::some::valid::ns::MyEnumA()) {
2664 xfer += prot_->serializedFieldSize("enum_field", apache::thrift::protocol::T_I32, 6);
2665 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::serializedSize<false>(*prot_, this->enum_field);
2666 }
2667 if (!this->enum_container.empty()) {
2668 xfer += prot_->serializedFieldSize("enum_container", apache::thrift::protocol::T_LIST, 7);
2669 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::enumeration>, ::std::vector<::some::valid::ns::MyEnumA>>::serializedSize<false>(*prot_, this->enum_container);
2670 }
2671 {
2672 xfer += prot_->serializedFieldSize("a_struct", apache::thrift::protocol::T_STRUCT, 8);
2673 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::serializedSize<false>(*prot_, this->a_struct);
2674 }
2675 if (!this->a_set_struct.empty()) {
2676 xfer += prot_->serializedFieldSize("a_set_struct", apache::thrift::protocol::T_SET, 9);
2677 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::structure>, ::std::set<::some::valid::ns::MyStruct>>::serializedSize<false>(*prot_, this->a_set_struct);
2678 }
2679 if (!this->a_union_list.empty()) {
2680 xfer += prot_->serializedFieldSize("a_union_list", apache::thrift::protocol::T_LIST, 10);
2681 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::variant>, ::std::vector<::some::valid::ns::SimpleUnion>>::serializedSize<false>(*prot_, this->a_union_list);
2682 }
2683 if (!this->union_typedef.empty()) {
2684 xfer += prot_->serializedFieldSize("union_typedef", apache::thrift::protocol::T_SET, 11);
2685 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>, ::some::valid::ns::unionTypeDef>::serializedSize<false>(*prot_, this->union_typedef);
2686 }
2687 if (!this->a_union_typedef_list.empty()) {
2688 xfer += prot_->serializedFieldSize("a_union_typedef_list", apache::thrift::protocol::T_LIST, 19);
2689 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>>, ::std::vector<::some::valid::ns::unionTypeDef>>::serializedSize<false>(*prot_, this->a_union_typedef_list);
2690 }
2691 if (!(this->MyCustomField == ::some::valid::ns::CustomProtocolType())) {
2692 xfer += prot_->serializedFieldSize("MyCustomField", apache::thrift::protocol::T_STRING, 20);
2693 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::serializedSize<false>(*prot_, CustomProtocolAdapter::toThrift(this->MyCustomField));
2694 }
2695 if (this->__isset.get(13)) {
2696 xfer += prot_->serializedFieldSize("MyOptCustomField", apache::thrift::protocol::T_STRING, 21);
2697 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::serializedSize<false>(*prot_, CustomProtocolAdapter::toThrift(this->MyOptCustomField));
2698 }
2699 xfer += prot_->serializedSizeStop();
2700 return xfer;
2701 }
2702
2703 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const2704 uint32_t AnException::serializedSizeZC(Protocol_ const* prot_) const {
2705 uint32_t xfer = 0;
2706 xfer += prot_->serializedStructSize("AnException");
2707 if (this->code != ::std::int32_t()) {
2708 xfer += prot_->serializedFieldSize("code", apache::thrift::protocol::T_I32, 1);
2709 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->code);
2710 }
2711 {
2712 xfer += prot_->serializedFieldSize("req_code", apache::thrift::protocol::T_I32, 101);
2713 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->req_code);
2714 }
2715 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->message2)) {
2716 xfer += prot_->serializedFieldSize("message2", apache::thrift::protocol::T_STRING, 2);
2717 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->message2);
2718 }
2719 {
2720 xfer += prot_->serializedFieldSize("req_message", apache::thrift::protocol::T_STRING, 102);
2721 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->req_message);
2722 }
2723 if (!this->exception_list.empty()) {
2724 xfer += prot_->serializedFieldSize("exception_list", apache::thrift::protocol::T_LIST, 3);
2725 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int32_t>>::serializedSize<false>(*prot_, this->exception_list);
2726 }
2727 if (!this->exception_set.empty()) {
2728 xfer += prot_->serializedFieldSize("exception_set", apache::thrift::protocol::T_SET, 4);
2729 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int64_t>>::serializedSize<false>(*prot_, this->exception_set);
2730 }
2731 if (!this->exception_map.empty()) {
2732 xfer += prot_->serializedFieldSize("exception_map", apache::thrift::protocol::T_MAP, 5);
2733 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->exception_map);
2734 }
2735 {
2736 xfer += prot_->serializedFieldSize("req_exception_map", apache::thrift::protocol::T_MAP, 105);
2737 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->req_exception_map);
2738 }
2739 if (this->enum_field != ::some::valid::ns::MyEnumA()) {
2740 xfer += prot_->serializedFieldSize("enum_field", apache::thrift::protocol::T_I32, 6);
2741 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::serializedSize<false>(*prot_, this->enum_field);
2742 }
2743 if (!this->enum_container.empty()) {
2744 xfer += prot_->serializedFieldSize("enum_container", apache::thrift::protocol::T_LIST, 7);
2745 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::enumeration>, ::std::vector<::some::valid::ns::MyEnumA>>::serializedSize<false>(*prot_, this->enum_container);
2746 }
2747 {
2748 xfer += prot_->serializedFieldSize("a_struct", apache::thrift::protocol::T_STRUCT, 8);
2749 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::serializedSize<true>(*prot_, this->a_struct);
2750 }
2751 if (!this->a_set_struct.empty()) {
2752 xfer += prot_->serializedFieldSize("a_set_struct", apache::thrift::protocol::T_SET, 9);
2753 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::structure>, ::std::set<::some::valid::ns::MyStruct>>::serializedSize<false>(*prot_, this->a_set_struct);
2754 }
2755 if (!this->a_union_list.empty()) {
2756 xfer += prot_->serializedFieldSize("a_union_list", apache::thrift::protocol::T_LIST, 10);
2757 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::variant>, ::std::vector<::some::valid::ns::SimpleUnion>>::serializedSize<false>(*prot_, this->a_union_list);
2758 }
2759 if (!this->union_typedef.empty()) {
2760 xfer += prot_->serializedFieldSize("union_typedef", apache::thrift::protocol::T_SET, 11);
2761 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>, ::some::valid::ns::unionTypeDef>::serializedSize<false>(*prot_, this->union_typedef);
2762 }
2763 if (!this->a_union_typedef_list.empty()) {
2764 xfer += prot_->serializedFieldSize("a_union_typedef_list", apache::thrift::protocol::T_LIST, 19);
2765 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>>, ::std::vector<::some::valid::ns::unionTypeDef>>::serializedSize<false>(*prot_, this->a_union_typedef_list);
2766 }
2767 if (!(this->MyCustomField == ::some::valid::ns::CustomProtocolType())) {
2768 xfer += prot_->serializedFieldSize("MyCustomField", apache::thrift::protocol::T_STRING, 20);
2769 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::serializedSize<true>(*prot_, CustomProtocolAdapter::toThrift(this->MyCustomField));
2770 }
2771 if (this->__isset.get(13)) {
2772 xfer += prot_->serializedFieldSize("MyOptCustomField", apache::thrift::protocol::T_STRING, 21);
2773 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::serializedSize<true>(*prot_, CustomProtocolAdapter::toThrift(this->MyOptCustomField));
2774 }
2775 xfer += prot_->serializedSizeStop();
2776 return xfer;
2777 }
2778
2779 template <class Protocol_>
write(Protocol_ * prot_) const2780 uint32_t AnException::write(Protocol_* prot_) const {
2781 uint32_t xfer = 0;
2782 xfer += prot_->writeStructBegin("AnException");
2783 bool previousFieldHasValue = true;
2784 if (this->code != ::std::int32_t()) {
2785 constexpr int16_t kPrevFieldId = 0;
2786 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 1, kPrevFieldId>(*prot_, "code", previousFieldHasValue);
2787 previousFieldHasValue = true;
2788 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->code);
2789 xfer += prot_->writeFieldEnd();
2790 } else {
2791 previousFieldHasValue = false;
2792 }
2793 {
2794 constexpr int16_t kPrevFieldId = 1;
2795 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 101, kPrevFieldId>(*prot_, "req_code", previousFieldHasValue);
2796 previousFieldHasValue = true;
2797 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->req_code);
2798 xfer += prot_->writeFieldEnd();
2799 }
2800 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->message2)) {
2801 constexpr int16_t kPrevFieldId = 101;
2802 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 2, kPrevFieldId>(*prot_, "message2", previousFieldHasValue);
2803 previousFieldHasValue = true;
2804 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->message2);
2805 xfer += prot_->writeFieldEnd();
2806 } else {
2807 previousFieldHasValue = false;
2808 }
2809 {
2810 constexpr int16_t kPrevFieldId = 2;
2811 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 102, kPrevFieldId>(*prot_, "req_message", previousFieldHasValue);
2812 previousFieldHasValue = true;
2813 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->req_message);
2814 xfer += prot_->writeFieldEnd();
2815 }
2816 if (!this->exception_list.empty()) {
2817 constexpr int16_t kPrevFieldId = 102;
2818 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 3, kPrevFieldId>(*prot_, "exception_list", previousFieldHasValue);
2819 previousFieldHasValue = true;
2820 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int32_t>>::write(*prot_, this->exception_list);
2821 xfer += prot_->writeFieldEnd();
2822 } else {
2823 previousFieldHasValue = false;
2824 }
2825 if (!this->exception_set.empty()) {
2826 constexpr int16_t kPrevFieldId = 3;
2827 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 4, kPrevFieldId>(*prot_, "exception_set", previousFieldHasValue);
2828 previousFieldHasValue = true;
2829 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int64_t>>::write(*prot_, this->exception_set);
2830 xfer += prot_->writeFieldEnd();
2831 } else {
2832 previousFieldHasValue = false;
2833 }
2834 if (!this->exception_map.empty()) {
2835 constexpr int16_t kPrevFieldId = 4;
2836 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 5, kPrevFieldId>(*prot_, "exception_map", previousFieldHasValue);
2837 previousFieldHasValue = true;
2838 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->exception_map);
2839 xfer += prot_->writeFieldEnd();
2840 } else {
2841 previousFieldHasValue = false;
2842 }
2843 {
2844 constexpr int16_t kPrevFieldId = 5;
2845 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 105, kPrevFieldId>(*prot_, "req_exception_map", previousFieldHasValue);
2846 previousFieldHasValue = true;
2847 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->req_exception_map);
2848 xfer += prot_->writeFieldEnd();
2849 }
2850 if (this->enum_field != ::some::valid::ns::MyEnumA()) {
2851 constexpr int16_t kPrevFieldId = 105;
2852 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 6, kPrevFieldId>(*prot_, "enum_field", previousFieldHasValue);
2853 previousFieldHasValue = true;
2854 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::write(*prot_, this->enum_field);
2855 xfer += prot_->writeFieldEnd();
2856 } else {
2857 previousFieldHasValue = false;
2858 }
2859 if (!this->enum_container.empty()) {
2860 constexpr int16_t kPrevFieldId = 6;
2861 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 7, kPrevFieldId>(*prot_, "enum_container", previousFieldHasValue);
2862 previousFieldHasValue = true;
2863 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::enumeration>, ::std::vector<::some::valid::ns::MyEnumA>>::write(*prot_, this->enum_container);
2864 xfer += prot_->writeFieldEnd();
2865 } else {
2866 previousFieldHasValue = false;
2867 }
2868 {
2869 constexpr int16_t kPrevFieldId = 7;
2870 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 8, kPrevFieldId>(*prot_, "a_struct", previousFieldHasValue);
2871 previousFieldHasValue = true;
2872 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::write(*prot_, this->a_struct);
2873 xfer += prot_->writeFieldEnd();
2874 }
2875 if (!this->a_set_struct.empty()) {
2876 constexpr int16_t kPrevFieldId = 8;
2877 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 9, kPrevFieldId>(*prot_, "a_set_struct", previousFieldHasValue);
2878 previousFieldHasValue = true;
2879 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::structure>, ::std::set<::some::valid::ns::MyStruct>>::write(*prot_, this->a_set_struct);
2880 xfer += prot_->writeFieldEnd();
2881 } else {
2882 previousFieldHasValue = false;
2883 }
2884 if (!this->a_union_list.empty()) {
2885 constexpr int16_t kPrevFieldId = 9;
2886 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 10, kPrevFieldId>(*prot_, "a_union_list", previousFieldHasValue);
2887 previousFieldHasValue = true;
2888 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::variant>, ::std::vector<::some::valid::ns::SimpleUnion>>::write(*prot_, this->a_union_list);
2889 xfer += prot_->writeFieldEnd();
2890 } else {
2891 previousFieldHasValue = false;
2892 }
2893 if (!this->union_typedef.empty()) {
2894 constexpr int16_t kPrevFieldId = 10;
2895 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 11, kPrevFieldId>(*prot_, "union_typedef", previousFieldHasValue);
2896 previousFieldHasValue = true;
2897 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>, ::some::valid::ns::unionTypeDef>::write(*prot_, this->union_typedef);
2898 xfer += prot_->writeFieldEnd();
2899 } else {
2900 previousFieldHasValue = false;
2901 }
2902 if (!this->a_union_typedef_list.empty()) {
2903 constexpr int16_t kPrevFieldId = 11;
2904 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 19, kPrevFieldId>(*prot_, "a_union_typedef_list", previousFieldHasValue);
2905 previousFieldHasValue = true;
2906 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>>, ::std::vector<::some::valid::ns::unionTypeDef>>::write(*prot_, this->a_union_typedef_list);
2907 xfer += prot_->writeFieldEnd();
2908 } else {
2909 previousFieldHasValue = false;
2910 }
2911 if (!(this->MyCustomField == ::some::valid::ns::CustomProtocolType())) {
2912 constexpr int16_t kPrevFieldId = 19;
2913 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 20, kPrevFieldId>(*prot_, "MyCustomField", previousFieldHasValue);
2914 previousFieldHasValue = true;
2915 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::write(*prot_, CustomProtocolAdapter::toThrift(this->MyCustomField));
2916 xfer += prot_->writeFieldEnd();
2917 } else {
2918 previousFieldHasValue = false;
2919 }
2920 if (this->__isset.get(13)) {
2921 constexpr int16_t kPrevFieldId = 20;
2922 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 21, kPrevFieldId>(*prot_, "MyOptCustomField", previousFieldHasValue);
2923 previousFieldHasValue = true;
2924 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::folly::IOBuf>::write(*prot_, CustomProtocolAdapter::toThrift(this->MyOptCustomField));
2925 xfer += prot_->writeFieldEnd();
2926 } else {
2927 previousFieldHasValue = false;
2928 }
2929 xfer += prot_->writeFieldStop();
2930 xfer += prot_->writeStructEnd();
2931 return xfer;
2932 }
2933
2934 extern template void AnException::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
2935 extern template uint32_t AnException::write<>(apache::thrift::BinaryProtocolWriter*) const;
2936 extern template uint32_t AnException::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
2937 extern template uint32_t AnException::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
2938 extern template void AnException::readNoXfer<>(apache::thrift::CompactProtocolReader*);
2939 extern template uint32_t AnException::write<>(apache::thrift::CompactProtocolWriter*) const;
2940 extern template uint32_t AnException::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
2941 extern template uint32_t AnException::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
2942 extern template void AnException::readNoXfer<>(apache::thrift::SimpleJSONProtocolReader*);
2943 extern template uint32_t AnException::write<>(apache::thrift::SimpleJSONProtocolWriter*) const;
2944 extern template uint32_t AnException::serializedSize<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
2945 extern template uint32_t AnException::serializedSizeZC<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
2946
2947 }}} // some::valid::ns
2948 namespace some { namespace valid { namespace ns {
2949
2950 template <class Protocol_>
readNoXfer(Protocol_ * iprot)2951 void AnotherException::readNoXfer(Protocol_* iprot) {
2952 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
2953
2954 _readState.readStructBegin(iprot);
2955
2956 using apache::thrift::TProtocolException;
2957
2958
2959 if (UNLIKELY(!_readState.advanceToNextField(
2960 iprot,
2961 0,
2962 1,
2963 apache::thrift::protocol::T_I32))) {
2964 goto _loop;
2965 }
2966 _readField_code:
2967 {
2968 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->code, _readState);
2969
2970 }
2971 this->__isset.set(0, true);
2972
2973 if (UNLIKELY(!_readState.advanceToNextField(
2974 iprot,
2975 1,
2976 101,
2977 apache::thrift::protocol::T_I32))) {
2978 goto _loop;
2979 }
2980 _readField_req_code:
2981 {
2982 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->req_code, _readState);
2983
2984 }
2985
2986 if (UNLIKELY(!_readState.advanceToNextField(
2987 iprot,
2988 101,
2989 2,
2990 apache::thrift::protocol::T_STRING))) {
2991 goto _loop;
2992 }
2993 _readField_message:
2994 {
2995 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->message, _readState);
2996
2997 }
2998 this->__isset.set(1, true);
2999
3000 if (UNLIKELY(!_readState.advanceToNextField(
3001 iprot,
3002 2,
3003 0,
3004 apache::thrift::protocol::T_STOP))) {
3005 goto _loop;
3006 }
3007
3008 _end:
3009 _readState.readStructEnd(iprot);
3010
3011 return;
3012
3013 _loop:
3014 _readState.afterAdvanceFailure(iprot);
3015 if (_readState.atStop()) {
3016 goto _end;
3017 }
3018 if (iprot->kUsesFieldNames()) {
3019 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<AnotherException>>();
3020 }
3021
3022 switch (_readState.fieldId) {
3023 case 1:
3024 {
3025 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
3026 goto _readField_code;
3027 } else {
3028 goto _skip;
3029 }
3030 }
3031 case 101:
3032 {
3033 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
3034 goto _readField_req_code;
3035 } else {
3036 goto _skip;
3037 }
3038 }
3039 case 2:
3040 {
3041 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
3042 goto _readField_message;
3043 } else {
3044 goto _skip;
3045 }
3046 }
3047 default:
3048 {
3049 _skip:
3050 _readState.skip(iprot);
3051 _readState.readFieldEnd(iprot);
3052 _readState.readFieldBeginNoInline(iprot);
3053 goto _loop;
3054 }
3055 }
3056 }
3057
3058 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const3059 uint32_t AnotherException::serializedSize(Protocol_ const* prot_) const {
3060 uint32_t xfer = 0;
3061 xfer += prot_->serializedStructSize("AnotherException");
3062 if (this->code != ::std::int32_t()) {
3063 xfer += prot_->serializedFieldSize("code", apache::thrift::protocol::T_I32, 1);
3064 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->code);
3065 }
3066 {
3067 xfer += prot_->serializedFieldSize("req_code", apache::thrift::protocol::T_I32, 101);
3068 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->req_code);
3069 }
3070 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->message)) {
3071 xfer += prot_->serializedFieldSize("message", apache::thrift::protocol::T_STRING, 2);
3072 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->message);
3073 }
3074 xfer += prot_->serializedSizeStop();
3075 return xfer;
3076 }
3077
3078 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const3079 uint32_t AnotherException::serializedSizeZC(Protocol_ const* prot_) const {
3080 uint32_t xfer = 0;
3081 xfer += prot_->serializedStructSize("AnotherException");
3082 if (this->code != ::std::int32_t()) {
3083 xfer += prot_->serializedFieldSize("code", apache::thrift::protocol::T_I32, 1);
3084 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->code);
3085 }
3086 {
3087 xfer += prot_->serializedFieldSize("req_code", apache::thrift::protocol::T_I32, 101);
3088 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->req_code);
3089 }
3090 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->message)) {
3091 xfer += prot_->serializedFieldSize("message", apache::thrift::protocol::T_STRING, 2);
3092 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->message);
3093 }
3094 xfer += prot_->serializedSizeStop();
3095 return xfer;
3096 }
3097
3098 template <class Protocol_>
write(Protocol_ * prot_) const3099 uint32_t AnotherException::write(Protocol_* prot_) const {
3100 uint32_t xfer = 0;
3101 xfer += prot_->writeStructBegin("AnotherException");
3102 bool previousFieldHasValue = true;
3103 if (this->code != ::std::int32_t()) {
3104 constexpr int16_t kPrevFieldId = 0;
3105 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 1, kPrevFieldId>(*prot_, "code", previousFieldHasValue);
3106 previousFieldHasValue = true;
3107 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->code);
3108 xfer += prot_->writeFieldEnd();
3109 } else {
3110 previousFieldHasValue = false;
3111 }
3112 {
3113 constexpr int16_t kPrevFieldId = 1;
3114 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 101, kPrevFieldId>(*prot_, "req_code", previousFieldHasValue);
3115 previousFieldHasValue = true;
3116 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->req_code);
3117 xfer += prot_->writeFieldEnd();
3118 }
3119 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->message)) {
3120 constexpr int16_t kPrevFieldId = 101;
3121 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 2, kPrevFieldId>(*prot_, "message", previousFieldHasValue);
3122 previousFieldHasValue = true;
3123 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->message);
3124 xfer += prot_->writeFieldEnd();
3125 } else {
3126 previousFieldHasValue = false;
3127 }
3128 xfer += prot_->writeFieldStop();
3129 xfer += prot_->writeStructEnd();
3130 return xfer;
3131 }
3132
3133 extern template void AnotherException::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
3134 extern template uint32_t AnotherException::write<>(apache::thrift::BinaryProtocolWriter*) const;
3135 extern template uint32_t AnotherException::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
3136 extern template uint32_t AnotherException::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
3137 extern template void AnotherException::readNoXfer<>(apache::thrift::CompactProtocolReader*);
3138 extern template uint32_t AnotherException::write<>(apache::thrift::CompactProtocolWriter*) const;
3139 extern template uint32_t AnotherException::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
3140 extern template uint32_t AnotherException::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
3141 extern template void AnotherException::readNoXfer<>(apache::thrift::SimpleJSONProtocolReader*);
3142 extern template uint32_t AnotherException::write<>(apache::thrift::SimpleJSONProtocolWriter*) const;
3143 extern template uint32_t AnotherException::serializedSize<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
3144 extern template uint32_t AnotherException::serializedSizeZC<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
3145
3146 }}} // some::valid::ns
3147 namespace some { namespace valid { namespace ns {
3148
3149 template <class Protocol_>
readNoXfer(Protocol_ * iprot)3150 void containerStruct::readNoXfer(Protocol_* iprot) {
3151 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
3152
3153 _readState.readStructBegin(iprot);
3154
3155 using apache::thrift::TProtocolException;
3156
3157
3158 if (UNLIKELY(!_readState.advanceToNextField(
3159 iprot,
3160 0,
3161 1,
3162 apache::thrift::protocol::T_BOOL))) {
3163 goto _loop;
3164 }
3165 _readField_fieldA:
3166 {
3167 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::readWithContext(*iprot, this->fieldA, _readState);
3168
3169 }
3170 this->__isset.set(0, true);
3171
3172 if (UNLIKELY(!_readState.advanceToNextField(
3173 iprot,
3174 1,
3175 101,
3176 apache::thrift::protocol::T_BOOL))) {
3177 goto _loop;
3178 }
3179 _readField_req_fieldA:
3180 {
3181 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::readWithContext(*iprot, this->req_fieldA, _readState);
3182
3183 }
3184
3185 if (UNLIKELY(!_readState.advanceToNextField(
3186 iprot,
3187 101,
3188 201,
3189 apache::thrift::protocol::T_BOOL))) {
3190 goto _loop;
3191 }
3192 _readField_opt_fieldA:
3193 {
3194 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::readWithContext(*iprot, this->opt_fieldA, _readState);
3195
3196 }
3197 this->__isset.set(1, true);
3198
3199 if (UNLIKELY(!_readState.advanceToNextField(
3200 iprot,
3201 201,
3202 2,
3203 apache::thrift::protocol::T_MAP))) {
3204 goto _loop;
3205 }
3206 _readField_fieldB:
3207 {
3208 _readState.beforeSubobject(iprot);
3209 this->fieldB = ::std::map<::std::string, bool>();
3210 ::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, bool>>::readWithContext(*iprot, this->fieldB, _readState);
3211 _readState.afterSubobject(iprot);
3212
3213 }
3214 this->__isset.set(2, true);
3215
3216 if (UNLIKELY(!_readState.advanceToNextField(
3217 iprot,
3218 2,
3219 102,
3220 apache::thrift::protocol::T_MAP))) {
3221 goto _loop;
3222 }
3223 _readField_req_fieldB:
3224 {
3225 _readState.beforeSubobject(iprot);
3226 this->req_fieldB = ::std::map<::std::string, bool>();
3227 ::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, bool>>::readWithContext(*iprot, this->req_fieldB, _readState);
3228 _readState.afterSubobject(iprot);
3229
3230 }
3231
3232 if (UNLIKELY(!_readState.advanceToNextField(
3233 iprot,
3234 102,
3235 202,
3236 apache::thrift::protocol::T_MAP))) {
3237 goto _loop;
3238 }
3239 _readField_opt_fieldB:
3240 {
3241 _readState.beforeSubobject(iprot);
3242 this->opt_fieldB = ::std::map<::std::string, bool>();
3243 ::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, bool>>::readWithContext(*iprot, this->opt_fieldB, _readState);
3244 _readState.afterSubobject(iprot);
3245
3246 }
3247 this->__isset.set(3, true);
3248
3249 if (UNLIKELY(!_readState.advanceToNextField(
3250 iprot,
3251 202,
3252 3,
3253 apache::thrift::protocol::T_SET))) {
3254 goto _loop;
3255 }
3256 _readField_fieldC:
3257 {
3258 _readState.beforeSubobject(iprot);
3259 this->fieldC = ::std::set<::std::int32_t>();
3260 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::readWithContext(*iprot, this->fieldC, _readState);
3261 _readState.afterSubobject(iprot);
3262
3263 }
3264 this->__isset.set(4, true);
3265
3266 if (UNLIKELY(!_readState.advanceToNextField(
3267 iprot,
3268 3,
3269 103,
3270 apache::thrift::protocol::T_SET))) {
3271 goto _loop;
3272 }
3273 _readField_req_fieldC:
3274 {
3275 _readState.beforeSubobject(iprot);
3276 this->req_fieldC = ::std::set<::std::int32_t>();
3277 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::readWithContext(*iprot, this->req_fieldC, _readState);
3278 _readState.afterSubobject(iprot);
3279
3280 }
3281
3282 if (UNLIKELY(!_readState.advanceToNextField(
3283 iprot,
3284 103,
3285 203,
3286 apache::thrift::protocol::T_SET))) {
3287 goto _loop;
3288 }
3289 _readField_opt_fieldC:
3290 {
3291 _readState.beforeSubobject(iprot);
3292 this->opt_fieldC = ::std::set<::std::int32_t>();
3293 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::readWithContext(*iprot, this->opt_fieldC, _readState);
3294 _readState.afterSubobject(iprot);
3295
3296 }
3297 this->__isset.set(5, true);
3298
3299 if (UNLIKELY(!_readState.advanceToNextField(
3300 iprot,
3301 203,
3302 4,
3303 apache::thrift::protocol::T_STRING))) {
3304 goto _loop;
3305 }
3306 _readField_fieldD:
3307 {
3308 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->fieldD, _readState);
3309
3310 }
3311 this->__isset.set(6, true);
3312
3313 if (UNLIKELY(!_readState.advanceToNextField(
3314 iprot,
3315 4,
3316 5,
3317 apache::thrift::protocol::T_STRING))) {
3318 goto _loop;
3319 }
3320 _readField_fieldE:
3321 {
3322 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->fieldE, _readState);
3323
3324 }
3325 this->__isset.set(7, true);
3326
3327 if (UNLIKELY(!_readState.advanceToNextField(
3328 iprot,
3329 5,
3330 105,
3331 apache::thrift::protocol::T_STRING))) {
3332 goto _loop;
3333 }
3334 _readField_req_fieldE:
3335 {
3336 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->req_fieldE, _readState);
3337
3338 }
3339
3340 if (UNLIKELY(!_readState.advanceToNextField(
3341 iprot,
3342 105,
3343 205,
3344 apache::thrift::protocol::T_STRING))) {
3345 goto _loop;
3346 }
3347 _readField_opt_fieldE:
3348 {
3349 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->opt_fieldE, _readState);
3350
3351 }
3352 this->__isset.set(8, true);
3353
3354 if (UNLIKELY(!_readState.advanceToNextField(
3355 iprot,
3356 205,
3357 6,
3358 apache::thrift::protocol::T_LIST))) {
3359 goto _loop;
3360 }
3361 _readField_fieldF:
3362 {
3363 _readState.beforeSubobject(iprot);
3364 this->fieldF = ::std::vector<::std::vector<::std::int32_t>>();
3365 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>>, ::std::vector<::std::vector<::std::int32_t>>>::readWithContext(*iprot, this->fieldF, _readState);
3366 _readState.afterSubobject(iprot);
3367
3368 }
3369 this->__isset.set(9, true);
3370
3371 if (UNLIKELY(!_readState.advanceToNextField(
3372 iprot,
3373 6,
3374 7,
3375 apache::thrift::protocol::T_MAP))) {
3376 goto _loop;
3377 }
3378 _readField_fieldG:
3379 {
3380 _readState.beforeSubobject(iprot);
3381 this->fieldG = ::std::map<::std::string, ::std::map<::std::string, ::std::map<::std::string, ::std::int32_t>>>();
3382 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::integral>>>, ::std::map<::std::string, ::std::map<::std::string, ::std::map<::std::string, ::std::int32_t>>>>::readWithContext(*iprot, this->fieldG, _readState);
3383 _readState.afterSubobject(iprot);
3384
3385 }
3386 this->__isset.set(10, true);
3387
3388 if (UNLIKELY(!_readState.advanceToNextField(
3389 iprot,
3390 7,
3391 8,
3392 apache::thrift::protocol::T_LIST))) {
3393 goto _loop;
3394 }
3395 _readField_fieldH:
3396 {
3397 _readState.beforeSubobject(iprot);
3398 this->fieldH = ::std::vector<::std::set<::std::int32_t>>();
3399 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>>, ::std::vector<::std::set<::std::int32_t>>>::readWithContext(*iprot, this->fieldH, _readState);
3400 _readState.afterSubobject(iprot);
3401
3402 }
3403 this->__isset.set(11, true);
3404
3405 if (UNLIKELY(!_readState.advanceToNextField(
3406 iprot,
3407 8,
3408 9,
3409 apache::thrift::protocol::T_BOOL))) {
3410 goto _loop;
3411 }
3412 _readField_fieldI:
3413 {
3414 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::readWithContext(*iprot, this->fieldI, _readState);
3415
3416 }
3417 this->__isset.set(12, true);
3418
3419 if (UNLIKELY(!_readState.advanceToNextField(
3420 iprot,
3421 9,
3422 10,
3423 apache::thrift::protocol::T_MAP))) {
3424 goto _loop;
3425 }
3426 _readField_fieldJ:
3427 {
3428 _readState.beforeSubobject(iprot);
3429 this->fieldJ = ::std::map<::std::string, ::std::vector<::std::int32_t>>();
3430 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::list<::apache::thrift::type_class::integral>>, ::std::map<::std::string, ::std::vector<::std::int32_t>>>::readWithContext(*iprot, this->fieldJ, _readState);
3431 _readState.afterSubobject(iprot);
3432
3433 }
3434 this->__isset.set(13, true);
3435
3436 if (UNLIKELY(!_readState.advanceToNextField(
3437 iprot,
3438 10,
3439 11,
3440 apache::thrift::protocol::T_LIST))) {
3441 goto _loop;
3442 }
3443 _readField_fieldK:
3444 {
3445 _readState.beforeSubobject(iprot);
3446 this->fieldK = ::std::vector<::std::vector<::std::vector<::std::vector<::std::int32_t>>>>();
3447 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>>>>, ::std::vector<::std::vector<::std::vector<::std::vector<::std::int32_t>>>>>::readWithContext(*iprot, this->fieldK, _readState);
3448 _readState.afterSubobject(iprot);
3449
3450 }
3451 this->__isset.set(14, true);
3452
3453 if (UNLIKELY(!_readState.advanceToNextField(
3454 iprot,
3455 11,
3456 12,
3457 apache::thrift::protocol::T_SET))) {
3458 goto _loop;
3459 }
3460 _readField_fieldL:
3461 {
3462 _readState.beforeSubobject(iprot);
3463 this->fieldL = ::std::set<::std::set<::std::set<bool>>>();
3464 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::set<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>>>, ::std::set<::std::set<::std::set<bool>>>>::readWithContext(*iprot, this->fieldL, _readState);
3465 _readState.afterSubobject(iprot);
3466
3467 }
3468 this->__isset.set(15, true);
3469
3470 if (UNLIKELY(!_readState.advanceToNextField(
3471 iprot,
3472 12,
3473 13,
3474 apache::thrift::protocol::T_MAP))) {
3475 goto _loop;
3476 }
3477 _readField_fieldM:
3478 {
3479 _readState.beforeSubobject(iprot);
3480 this->fieldM = ::std::map<::std::set<::std::vector<::std::int32_t>>, ::std::map<::std::vector<::std::set<::std::string>>, ::std::string>>();
3481 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::set<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>>, ::apache::thrift::type_class::map<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::string>>, ::apache::thrift::type_class::string>>, ::std::map<::std::set<::std::vector<::std::int32_t>>, ::std::map<::std::vector<::std::set<::std::string>>, ::std::string>>>::readWithContext(*iprot, this->fieldM, _readState);
3482 _readState.afterSubobject(iprot);
3483
3484 }
3485 this->__isset.set(16, true);
3486
3487 if (UNLIKELY(!_readState.advanceToNextField(
3488 iprot,
3489 13,
3490 14,
3491 apache::thrift::protocol::T_I32))) {
3492 goto _loop;
3493 }
3494 _readField_fieldN:
3495 {
3496 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::some::valid::ns::simpleTypeDef>::readWithContext(*iprot, this->fieldN, _readState);
3497
3498 }
3499 this->__isset.set(17, true);
3500
3501 if (UNLIKELY(!_readState.advanceToNextField(
3502 iprot,
3503 14,
3504 15,
3505 apache::thrift::protocol::T_LIST))) {
3506 goto _loop;
3507 }
3508 _readField_fieldO:
3509 {
3510 _readState.beforeSubobject(iprot);
3511 this->fieldO = ::some::valid::ns::complexStructTypeDef();
3512 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::map<::apache::thrift::type_class::structure, ::apache::thrift::type_class::structure>>, ::some::valid::ns::complexStructTypeDef>::readWithContext(*iprot, this->fieldO, _readState);
3513 _readState.afterSubobject(iprot);
3514
3515 }
3516 this->__isset.set(18, true);
3517
3518 if (UNLIKELY(!_readState.advanceToNextField(
3519 iprot,
3520 15,
3521 16,
3522 apache::thrift::protocol::T_LIST))) {
3523 goto _loop;
3524 }
3525 _readField_fieldP:
3526 {
3527 _readState.beforeSubobject(iprot);
3528 this->fieldP = ::std::vector<::some::valid::ns::mostComplexTypeDef>();
3529 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::map<::apache::thrift::type_class::structure, ::apache::thrift::type_class::structure>>>>, ::std::vector<::some::valid::ns::mostComplexTypeDef>>::readWithContext(*iprot, this->fieldP, _readState);
3530 _readState.afterSubobject(iprot);
3531
3532 }
3533 this->__isset.set(19, true);
3534
3535 if (UNLIKELY(!_readState.advanceToNextField(
3536 iprot,
3537 16,
3538 17,
3539 apache::thrift::protocol::T_I32))) {
3540 goto _loop;
3541 }
3542 _readField_fieldQ:
3543 {
3544 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::readWithContext(*iprot, this->fieldQ, _readState);
3545
3546 }
3547 this->__isset.set(20, true);
3548
3549 if (UNLIKELY(!_readState.advanceToNextField(
3550 iprot,
3551 17,
3552 18,
3553 apache::thrift::protocol::T_I32))) {
3554 goto _loop;
3555 }
3556 _readField_fieldR:
3557 {
3558 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::readWithContext(*iprot, this->fieldR, _readState);
3559
3560 }
3561 this->__isset.set(21, true);
3562
3563 if (UNLIKELY(!_readState.advanceToNextField(
3564 iprot,
3565 18,
3566 118,
3567 apache::thrift::protocol::T_I32))) {
3568 goto _loop;
3569 }
3570 _readField_req_fieldR:
3571 {
3572 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::readWithContext(*iprot, this->req_fieldR, _readState);
3573
3574 }
3575
3576 if (UNLIKELY(!_readState.advanceToNextField(
3577 iprot,
3578 118,
3579 218,
3580 apache::thrift::protocol::T_I32))) {
3581 goto _loop;
3582 }
3583 _readField_opt_fieldR:
3584 {
3585 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::readWithContext(*iprot, this->opt_fieldR, _readState);
3586
3587 }
3588 this->__isset.set(22, true);
3589
3590 if (UNLIKELY(!_readState.advanceToNextField(
3591 iprot,
3592 218,
3593 19,
3594 apache::thrift::protocol::T_I32))) {
3595 goto _loop;
3596 }
3597 _readField_fieldS:
3598 {
3599 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::readWithContext(*iprot, this->fieldS, _readState);
3600
3601 }
3602 this->__isset.set(23, true);
3603
3604 if (UNLIKELY(!_readState.advanceToNextField(
3605 iprot,
3606 19,
3607 21,
3608 apache::thrift::protocol::T_LIST))) {
3609 goto _loop;
3610 }
3611 _readField_fieldT:
3612 {
3613 _readState.beforeSubobject(iprot);
3614 this->fieldT = ::std::vector<::some::valid::ns::MyEnumA>();
3615 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::enumeration>, ::std::vector<::some::valid::ns::MyEnumA>>::readWithContext(*iprot, this->fieldT, _readState);
3616 _readState.afterSubobject(iprot);
3617
3618 }
3619 this->__isset.set(24, true);
3620
3621 if (UNLIKELY(!_readState.advanceToNextField(
3622 iprot,
3623 21,
3624 22,
3625 apache::thrift::protocol::T_LIST))) {
3626 goto _loop;
3627 }
3628 _readField_fieldU:
3629 {
3630 _readState.beforeSubobject(iprot);
3631 this->fieldU = ::std::vector<::some::valid::ns::MyEnumA>();
3632 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::enumeration>, ::std::vector<::some::valid::ns::MyEnumA>>::readWithContext(*iprot, this->fieldU, _readState);
3633 _readState.afterSubobject(iprot);
3634
3635 }
3636 this->__isset.set(25, true);
3637
3638 if (UNLIKELY(!_readState.advanceToNextField(
3639 iprot,
3640 22,
3641 23,
3642 apache::thrift::protocol::T_STRUCT))) {
3643 goto _loop;
3644 }
3645 _readField_fieldV:
3646 {
3647 _readState.beforeSubobject(iprot);
3648 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::readWithContext(*iprot, this->fieldV, _readState);
3649 _readState.afterSubobject(iprot);
3650
3651 }
3652 this->__isset.set(26, true);
3653
3654 if (UNLIKELY(!_readState.advanceToNextField(
3655 iprot,
3656 23,
3657 123,
3658 apache::thrift::protocol::T_STRUCT))) {
3659 goto _loop;
3660 }
3661 _readField_req_fieldV:
3662 {
3663 _readState.beforeSubobject(iprot);
3664 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::readWithContext(*iprot, this->req_fieldV, _readState);
3665 _readState.afterSubobject(iprot);
3666
3667 }
3668
3669 if (UNLIKELY(!_readState.advanceToNextField(
3670 iprot,
3671 123,
3672 223,
3673 apache::thrift::protocol::T_STRUCT))) {
3674 goto _loop;
3675 }
3676 _readField_opt_fieldV:
3677 {
3678 _readState.beforeSubobject(iprot);
3679 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::readWithContext(*iprot, this->opt_fieldV, _readState);
3680 _readState.afterSubobject(iprot);
3681
3682 }
3683 this->__isset.set(27, true);
3684
3685 if (UNLIKELY(!_readState.advanceToNextField(
3686 iprot,
3687 223,
3688 24,
3689 apache::thrift::protocol::T_SET))) {
3690 goto _loop;
3691 }
3692 _readField_fieldW:
3693 {
3694 _readState.beforeSubobject(iprot);
3695 this->fieldW = ::std::set<::some::valid::ns::MyStruct>();
3696 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::structure>, ::std::set<::some::valid::ns::MyStruct>>::readWithContext(*iprot, this->fieldW, _readState);
3697 _readState.afterSubobject(iprot);
3698
3699 }
3700 this->__isset.set(28, true);
3701
3702 if (UNLIKELY(!_readState.advanceToNextField(
3703 iprot,
3704 24,
3705 25,
3706 apache::thrift::protocol::T_STRUCT))) {
3707 goto _loop;
3708 }
3709 _readField_fieldX:
3710 {
3711 _readState.beforeSubobject(iprot);
3712 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::ComplexUnion>::readWithContext(*iprot, this->fieldX, _readState);
3713 _readState.afterSubobject(iprot);
3714
3715 }
3716 this->__isset.set(29, true);
3717
3718 if (UNLIKELY(!_readState.advanceToNextField(
3719 iprot,
3720 25,
3721 125,
3722 apache::thrift::protocol::T_STRUCT))) {
3723 goto _loop;
3724 }
3725 _readField_req_fieldX:
3726 {
3727 _readState.beforeSubobject(iprot);
3728 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::ComplexUnion>::readWithContext(*iprot, this->req_fieldX, _readState);
3729 _readState.afterSubobject(iprot);
3730
3731 }
3732
3733 if (UNLIKELY(!_readState.advanceToNextField(
3734 iprot,
3735 125,
3736 225,
3737 apache::thrift::protocol::T_STRUCT))) {
3738 goto _loop;
3739 }
3740 _readField_opt_fieldX:
3741 {
3742 _readState.beforeSubobject(iprot);
3743 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::ComplexUnion>::readWithContext(*iprot, this->opt_fieldX, _readState);
3744 _readState.afterSubobject(iprot);
3745
3746 }
3747 this->__isset.set(30, true);
3748
3749 if (UNLIKELY(!_readState.advanceToNextField(
3750 iprot,
3751 225,
3752 26,
3753 apache::thrift::protocol::T_LIST))) {
3754 goto _loop;
3755 }
3756 _readField_fieldY:
3757 {
3758 _readState.beforeSubobject(iprot);
3759 this->fieldY = ::std::vector<::some::valid::ns::ComplexUnion>();
3760 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::variant>, ::std::vector<::some::valid::ns::ComplexUnion>>::readWithContext(*iprot, this->fieldY, _readState);
3761 _readState.afterSubobject(iprot);
3762
3763 }
3764 this->__isset.set(31, true);
3765
3766 if (UNLIKELY(!_readState.advanceToNextField(
3767 iprot,
3768 26,
3769 27,
3770 apache::thrift::protocol::T_SET))) {
3771 goto _loop;
3772 }
3773 _readField_fieldZ:
3774 {
3775 _readState.beforeSubobject(iprot);
3776 this->fieldZ = ::some::valid::ns::unionTypeDef();
3777 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>, ::some::valid::ns::unionTypeDef>::readWithContext(*iprot, this->fieldZ, _readState);
3778 _readState.afterSubobject(iprot);
3779
3780 }
3781 this->__isset.set(32, true);
3782
3783 if (UNLIKELY(!_readState.advanceToNextField(
3784 iprot,
3785 27,
3786 28,
3787 apache::thrift::protocol::T_LIST))) {
3788 goto _loop;
3789 }
3790 _readField_fieldAA:
3791 {
3792 _readState.beforeSubobject(iprot);
3793 this->fieldAA = ::std::vector<::some::valid::ns::unionTypeDef>();
3794 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>>, ::std::vector<::some::valid::ns::unionTypeDef>>::readWithContext(*iprot, this->fieldAA, _readState);
3795 _readState.afterSubobject(iprot);
3796
3797 }
3798 this->__isset.set(33, true);
3799
3800 if (UNLIKELY(!_readState.advanceToNextField(
3801 iprot,
3802 28,
3803 29,
3804 apache::thrift::protocol::T_MAP))) {
3805 goto _loop;
3806 }
3807 _readField_fieldAB:
3808 {
3809 _readState.beforeSubobject(iprot);
3810 this->fieldAB = ::std::map<::some::valid::ns::IndirectionB, ::some::valid::ns::IndirectionC>();
3811 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::floating_point, ::apache::thrift::detail::apply_indirection_fn>, ::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::integral, ::apache::thrift::detail::apply_indirection_fn>>, ::std::map<::some::valid::ns::IndirectionB, ::some::valid::ns::IndirectionC>>::readWithContext(*iprot, this->fieldAB, _readState);
3812 _readState.afterSubobject(iprot);
3813
3814 }
3815 this->__isset.set(34, true);
3816
3817 if (UNLIKELY(!_readState.advanceToNextField(
3818 iprot,
3819 29,
3820 30,
3821 apache::thrift::protocol::T_I32))) {
3822 goto _loop;
3823 }
3824 _readField_fieldAC:
3825 {
3826 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumB>::readWithContext(*iprot, this->fieldAC, _readState);
3827
3828 }
3829 this->__isset.set(35, true);
3830
3831 if (UNLIKELY(!_readState.advanceToNextField(
3832 iprot,
3833 30,
3834 31,
3835 apache::thrift::protocol::T_I32))) {
3836 goto _loop;
3837 }
3838 _readField_fieldAD:
3839 {
3840 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::a::different::ns::AnEnum>::readWithContext(*iprot, this->fieldAD, _readState);
3841
3842 }
3843 this->__isset.set(36, true);
3844
3845 if (UNLIKELY(!_readState.advanceToNextField(
3846 iprot,
3847 31,
3848 32,
3849 apache::thrift::protocol::T_MAP))) {
3850 goto _loop;
3851 }
3852 _readField_fieldAE:
3853 {
3854 _readState.beforeSubobject(iprot);
3855 this->fieldAE = ::std::map<::std::string, ::std::int32_t>();
3856 ::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->fieldAE, _readState);
3857 _readState.afterSubobject(iprot);
3858
3859 }
3860 this->__isset.set(37, true);
3861
3862 if (UNLIKELY(!_readState.advanceToNextField(
3863 iprot,
3864 32,
3865 33,
3866 apache::thrift::protocol::T_STRING))) {
3867 goto _loop;
3868 }
3869 _readField_fieldSD:
3870 {
3871 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::string, ::apache::thrift::detail::apply_indirection_fn>, ::some::valid::ns::IndirectionD>::readWithContext(*iprot, this->fieldSD, _readState);
3872
3873 }
3874 this->__isset.set(38, true);
3875
3876 if (UNLIKELY(!_readState.advanceToNextField(
3877 iprot,
3878 33,
3879 0,
3880 apache::thrift::protocol::T_STOP))) {
3881 goto _loop;
3882 }
3883
3884 _end:
3885 _readState.readStructEnd(iprot);
3886
3887 return;
3888
3889 _loop:
3890 _readState.afterAdvanceFailure(iprot);
3891 if (_readState.atStop()) {
3892 goto _end;
3893 }
3894 if (iprot->kUsesFieldNames()) {
3895 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<containerStruct>>();
3896 }
3897
3898 switch (_readState.fieldId) {
3899 case 1:
3900 {
3901 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BOOL))) {
3902 goto _readField_fieldA;
3903 } else {
3904 goto _skip;
3905 }
3906 }
3907 case 101:
3908 {
3909 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BOOL))) {
3910 goto _readField_req_fieldA;
3911 } else {
3912 goto _skip;
3913 }
3914 }
3915 case 201:
3916 {
3917 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BOOL))) {
3918 goto _readField_opt_fieldA;
3919 } else {
3920 goto _skip;
3921 }
3922 }
3923 case 2:
3924 {
3925 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
3926 goto _readField_fieldB;
3927 } else {
3928 goto _skip;
3929 }
3930 }
3931 case 102:
3932 {
3933 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
3934 goto _readField_req_fieldB;
3935 } else {
3936 goto _skip;
3937 }
3938 }
3939 case 202:
3940 {
3941 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
3942 goto _readField_opt_fieldB;
3943 } else {
3944 goto _skip;
3945 }
3946 }
3947 case 3:
3948 {
3949 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
3950 goto _readField_fieldC;
3951 } else {
3952 goto _skip;
3953 }
3954 }
3955 case 103:
3956 {
3957 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
3958 goto _readField_req_fieldC;
3959 } else {
3960 goto _skip;
3961 }
3962 }
3963 case 203:
3964 {
3965 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
3966 goto _readField_opt_fieldC;
3967 } else {
3968 goto _skip;
3969 }
3970 }
3971 case 4:
3972 {
3973 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
3974 goto _readField_fieldD;
3975 } else {
3976 goto _skip;
3977 }
3978 }
3979 case 5:
3980 {
3981 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
3982 goto _readField_fieldE;
3983 } else {
3984 goto _skip;
3985 }
3986 }
3987 case 105:
3988 {
3989 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
3990 goto _readField_req_fieldE;
3991 } else {
3992 goto _skip;
3993 }
3994 }
3995 case 205:
3996 {
3997 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
3998 goto _readField_opt_fieldE;
3999 } else {
4000 goto _skip;
4001 }
4002 }
4003 case 6:
4004 {
4005 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
4006 goto _readField_fieldF;
4007 } else {
4008 goto _skip;
4009 }
4010 }
4011 case 7:
4012 {
4013 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
4014 goto _readField_fieldG;
4015 } else {
4016 goto _skip;
4017 }
4018 }
4019 case 8:
4020 {
4021 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
4022 goto _readField_fieldH;
4023 } else {
4024 goto _skip;
4025 }
4026 }
4027 case 9:
4028 {
4029 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BOOL))) {
4030 goto _readField_fieldI;
4031 } else {
4032 goto _skip;
4033 }
4034 }
4035 case 10:
4036 {
4037 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
4038 goto _readField_fieldJ;
4039 } else {
4040 goto _skip;
4041 }
4042 }
4043 case 11:
4044 {
4045 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
4046 goto _readField_fieldK;
4047 } else {
4048 goto _skip;
4049 }
4050 }
4051 case 12:
4052 {
4053 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
4054 goto _readField_fieldL;
4055 } else {
4056 goto _skip;
4057 }
4058 }
4059 case 13:
4060 {
4061 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
4062 goto _readField_fieldM;
4063 } else {
4064 goto _skip;
4065 }
4066 }
4067 case 14:
4068 {
4069 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
4070 goto _readField_fieldN;
4071 } else {
4072 goto _skip;
4073 }
4074 }
4075 case 15:
4076 {
4077 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
4078 goto _readField_fieldO;
4079 } else {
4080 goto _skip;
4081 }
4082 }
4083 case 16:
4084 {
4085 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
4086 goto _readField_fieldP;
4087 } else {
4088 goto _skip;
4089 }
4090 }
4091 case 17:
4092 {
4093 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
4094 goto _readField_fieldQ;
4095 } else {
4096 goto _skip;
4097 }
4098 }
4099 case 18:
4100 {
4101 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
4102 goto _readField_fieldR;
4103 } else {
4104 goto _skip;
4105 }
4106 }
4107 case 118:
4108 {
4109 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
4110 goto _readField_req_fieldR;
4111 } else {
4112 goto _skip;
4113 }
4114 }
4115 case 218:
4116 {
4117 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
4118 goto _readField_opt_fieldR;
4119 } else {
4120 goto _skip;
4121 }
4122 }
4123 case 19:
4124 {
4125 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
4126 goto _readField_fieldS;
4127 } else {
4128 goto _skip;
4129 }
4130 }
4131 case 21:
4132 {
4133 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
4134 goto _readField_fieldT;
4135 } else {
4136 goto _skip;
4137 }
4138 }
4139 case 22:
4140 {
4141 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
4142 goto _readField_fieldU;
4143 } else {
4144 goto _skip;
4145 }
4146 }
4147 case 23:
4148 {
4149 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
4150 goto _readField_fieldV;
4151 } else {
4152 goto _skip;
4153 }
4154 }
4155 case 123:
4156 {
4157 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
4158 goto _readField_req_fieldV;
4159 } else {
4160 goto _skip;
4161 }
4162 }
4163 case 223:
4164 {
4165 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
4166 goto _readField_opt_fieldV;
4167 } else {
4168 goto _skip;
4169 }
4170 }
4171 case 24:
4172 {
4173 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
4174 goto _readField_fieldW;
4175 } else {
4176 goto _skip;
4177 }
4178 }
4179 case 25:
4180 {
4181 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
4182 goto _readField_fieldX;
4183 } else {
4184 goto _skip;
4185 }
4186 }
4187 case 125:
4188 {
4189 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
4190 goto _readField_req_fieldX;
4191 } else {
4192 goto _skip;
4193 }
4194 }
4195 case 225:
4196 {
4197 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
4198 goto _readField_opt_fieldX;
4199 } else {
4200 goto _skip;
4201 }
4202 }
4203 case 26:
4204 {
4205 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
4206 goto _readField_fieldY;
4207 } else {
4208 goto _skip;
4209 }
4210 }
4211 case 27:
4212 {
4213 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
4214 goto _readField_fieldZ;
4215 } else {
4216 goto _skip;
4217 }
4218 }
4219 case 28:
4220 {
4221 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
4222 goto _readField_fieldAA;
4223 } else {
4224 goto _skip;
4225 }
4226 }
4227 case 29:
4228 {
4229 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
4230 goto _readField_fieldAB;
4231 } else {
4232 goto _skip;
4233 }
4234 }
4235 case 30:
4236 {
4237 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
4238 goto _readField_fieldAC;
4239 } else {
4240 goto _skip;
4241 }
4242 }
4243 case 31:
4244 {
4245 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
4246 goto _readField_fieldAD;
4247 } else {
4248 goto _skip;
4249 }
4250 }
4251 case 32:
4252 {
4253 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
4254 goto _readField_fieldAE;
4255 } else {
4256 goto _skip;
4257 }
4258 }
4259 case 33:
4260 {
4261 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
4262 goto _readField_fieldSD;
4263 } else {
4264 goto _skip;
4265 }
4266 }
4267 default:
4268 {
4269 _skip:
4270 _readState.skip(iprot);
4271 _readState.readFieldEnd(iprot);
4272 _readState.readFieldBeginNoInline(iprot);
4273 goto _loop;
4274 }
4275 }
4276 }
4277
4278 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const4279 uint32_t containerStruct::serializedSize(Protocol_ const* prot_) const {
4280 uint32_t xfer = 0;
4281 xfer += prot_->serializedStructSize("containerStruct");
4282 if (this->fieldA != bool()) {
4283 xfer += prot_->serializedFieldSize("fieldA", apache::thrift::protocol::T_BOOL, 1);
4284 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->fieldA);
4285 }
4286 {
4287 xfer += prot_->serializedFieldSize("req_fieldA", apache::thrift::protocol::T_BOOL, 101);
4288 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->req_fieldA);
4289 }
4290 if (this->__isset.get(1)) {
4291 xfer += prot_->serializedFieldSize("opt_fieldA", apache::thrift::protocol::T_BOOL, 201);
4292 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->opt_fieldA);
4293 }
4294 if (!this->fieldB.empty()) {
4295 xfer += prot_->serializedFieldSize("fieldB", apache::thrift::protocol::T_MAP, 2);
4296 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, bool>>::serializedSize<false>(*prot_, this->fieldB);
4297 }
4298 {
4299 xfer += prot_->serializedFieldSize("req_fieldB", apache::thrift::protocol::T_MAP, 102);
4300 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, bool>>::serializedSize<false>(*prot_, this->req_fieldB);
4301 }
4302 if (this->__isset.get(3)) {
4303 xfer += prot_->serializedFieldSize("opt_fieldB", apache::thrift::protocol::T_MAP, 202);
4304 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, bool>>::serializedSize<false>(*prot_, this->opt_fieldB);
4305 }
4306 if (!this->fieldC.empty()) {
4307 xfer += prot_->serializedFieldSize("fieldC", apache::thrift::protocol::T_SET, 3);
4308 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::serializedSize<false>(*prot_, this->fieldC);
4309 }
4310 {
4311 xfer += prot_->serializedFieldSize("req_fieldC", apache::thrift::protocol::T_SET, 103);
4312 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::serializedSize<false>(*prot_, this->req_fieldC);
4313 }
4314 if (this->__isset.get(5)) {
4315 xfer += prot_->serializedFieldSize("opt_fieldC", apache::thrift::protocol::T_SET, 203);
4316 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::serializedSize<false>(*prot_, this->opt_fieldC);
4317 }
4318 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->fieldD)) {
4319 xfer += prot_->serializedFieldSize("fieldD", apache::thrift::protocol::T_STRING, 4);
4320 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->fieldD);
4321 }
4322 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->fieldE)) {
4323 xfer += prot_->serializedFieldSize("fieldE", apache::thrift::protocol::T_STRING, 5);
4324 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->fieldE);
4325 }
4326 {
4327 xfer += prot_->serializedFieldSize("req_fieldE", apache::thrift::protocol::T_STRING, 105);
4328 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->req_fieldE);
4329 }
4330 if (this->__isset.get(8)) {
4331 xfer += prot_->serializedFieldSize("opt_fieldE", apache::thrift::protocol::T_STRING, 205);
4332 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->opt_fieldE);
4333 }
4334 if (!this->fieldF.empty()) {
4335 xfer += prot_->serializedFieldSize("fieldF", apache::thrift::protocol::T_LIST, 6);
4336 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>>, ::std::vector<::std::vector<::std::int32_t>>>::serializedSize<false>(*prot_, this->fieldF);
4337 }
4338 if (!this->fieldG.empty()) {
4339 xfer += prot_->serializedFieldSize("fieldG", apache::thrift::protocol::T_MAP, 7);
4340 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::integral>>>, ::std::map<::std::string, ::std::map<::std::string, ::std::map<::std::string, ::std::int32_t>>>>::serializedSize<false>(*prot_, this->fieldG);
4341 }
4342 if (!this->fieldH.empty()) {
4343 xfer += prot_->serializedFieldSize("fieldH", apache::thrift::protocol::T_LIST, 8);
4344 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>>, ::std::vector<::std::set<::std::int32_t>>>::serializedSize<false>(*prot_, this->fieldH);
4345 }
4346 if (this->fieldI != static_cast<bool>(true)) {
4347 xfer += prot_->serializedFieldSize("fieldI", apache::thrift::protocol::T_BOOL, 9);
4348 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->fieldI);
4349 }
4350 if (!this->fieldJ.empty()) {
4351 xfer += prot_->serializedFieldSize("fieldJ", apache::thrift::protocol::T_MAP, 10);
4352 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::list<::apache::thrift::type_class::integral>>, ::std::map<::std::string, ::std::vector<::std::int32_t>>>::serializedSize<false>(*prot_, this->fieldJ);
4353 }
4354 if (!this->fieldK.empty()) {
4355 xfer += prot_->serializedFieldSize("fieldK", apache::thrift::protocol::T_LIST, 11);
4356 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>>>>, ::std::vector<::std::vector<::std::vector<::std::vector<::std::int32_t>>>>>::serializedSize<false>(*prot_, this->fieldK);
4357 }
4358 if (!this->fieldL.empty()) {
4359 xfer += prot_->serializedFieldSize("fieldL", apache::thrift::protocol::T_SET, 12);
4360 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::set<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>>>, ::std::set<::std::set<::std::set<bool>>>>::serializedSize<false>(*prot_, this->fieldL);
4361 }
4362 if (!this->fieldM.empty()) {
4363 xfer += prot_->serializedFieldSize("fieldM", apache::thrift::protocol::T_MAP, 13);
4364 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::set<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>>, ::apache::thrift::type_class::map<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::string>>, ::apache::thrift::type_class::string>>, ::std::map<::std::set<::std::vector<::std::int32_t>>, ::std::map<::std::vector<::std::set<::std::string>>, ::std::string>>>::serializedSize<false>(*prot_, this->fieldM);
4365 }
4366 if (this->fieldN != ::some::valid::ns::simpleTypeDef()) {
4367 xfer += prot_->serializedFieldSize("fieldN", apache::thrift::protocol::T_I32, 14);
4368 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::some::valid::ns::simpleTypeDef>::serializedSize<false>(*prot_, this->fieldN);
4369 }
4370 if (!this->fieldO.empty()) {
4371 xfer += prot_->serializedFieldSize("fieldO", apache::thrift::protocol::T_LIST, 15);
4372 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::map<::apache::thrift::type_class::structure, ::apache::thrift::type_class::structure>>, ::some::valid::ns::complexStructTypeDef>::serializedSize<false>(*prot_, this->fieldO);
4373 }
4374 if (!this->fieldP.empty()) {
4375 xfer += prot_->serializedFieldSize("fieldP", apache::thrift::protocol::T_LIST, 16);
4376 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::map<::apache::thrift::type_class::structure, ::apache::thrift::type_class::structure>>>>, ::std::vector<::some::valid::ns::mostComplexTypeDef>>::serializedSize<false>(*prot_, this->fieldP);
4377 }
4378 if (this->fieldQ != ::some::valid::ns::MyEnumA()) {
4379 xfer += prot_->serializedFieldSize("fieldQ", apache::thrift::protocol::T_I32, 17);
4380 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::serializedSize<false>(*prot_, this->fieldQ);
4381 }
4382 if (this->fieldR != ::some::valid::ns::MyEnumA::fieldB) {
4383 xfer += prot_->serializedFieldSize("fieldR", apache::thrift::protocol::T_I32, 18);
4384 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::serializedSize<false>(*prot_, this->fieldR);
4385 }
4386 {
4387 xfer += prot_->serializedFieldSize("req_fieldR", apache::thrift::protocol::T_I32, 118);
4388 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::serializedSize<false>(*prot_, this->req_fieldR);
4389 }
4390 if (this->__isset.get(22)) {
4391 xfer += prot_->serializedFieldSize("opt_fieldR", apache::thrift::protocol::T_I32, 218);
4392 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::serializedSize<false>(*prot_, this->opt_fieldR);
4393 }
4394 if (this->fieldS != ::some::valid::ns::MyEnumA::fieldB) {
4395 xfer += prot_->serializedFieldSize("fieldS", apache::thrift::protocol::T_I32, 19);
4396 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::serializedSize<false>(*prot_, this->fieldS);
4397 }
4398 if (!this->fieldT.empty()) {
4399 xfer += prot_->serializedFieldSize("fieldT", apache::thrift::protocol::T_LIST, 21);
4400 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::enumeration>, ::std::vector<::some::valid::ns::MyEnumA>>::serializedSize<false>(*prot_, this->fieldT);
4401 }
4402 if (!this->fieldU.empty()) {
4403 xfer += prot_->serializedFieldSize("fieldU", apache::thrift::protocol::T_LIST, 22);
4404 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::enumeration>, ::std::vector<::some::valid::ns::MyEnumA>>::serializedSize<false>(*prot_, this->fieldU);
4405 }
4406 {
4407 xfer += prot_->serializedFieldSize("fieldV", apache::thrift::protocol::T_STRUCT, 23);
4408 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::serializedSize<false>(*prot_, this->fieldV);
4409 }
4410 {
4411 xfer += prot_->serializedFieldSize("req_fieldV", apache::thrift::protocol::T_STRUCT, 123);
4412 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::serializedSize<false>(*prot_, this->req_fieldV);
4413 }
4414 if (this->__isset.get(27)) {
4415 xfer += prot_->serializedFieldSize("opt_fieldV", apache::thrift::protocol::T_STRUCT, 223);
4416 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::serializedSize<false>(*prot_, this->opt_fieldV);
4417 }
4418 if (!this->fieldW.empty()) {
4419 xfer += prot_->serializedFieldSize("fieldW", apache::thrift::protocol::T_SET, 24);
4420 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::structure>, ::std::set<::some::valid::ns::MyStruct>>::serializedSize<false>(*prot_, this->fieldW);
4421 }
4422 {
4423 xfer += prot_->serializedFieldSize("fieldX", apache::thrift::protocol::T_STRUCT, 25);
4424 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::ComplexUnion>::serializedSize<false>(*prot_, this->fieldX);
4425 }
4426 {
4427 xfer += prot_->serializedFieldSize("req_fieldX", apache::thrift::protocol::T_STRUCT, 125);
4428 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::ComplexUnion>::serializedSize<false>(*prot_, this->req_fieldX);
4429 }
4430 if (this->__isset.get(30)) {
4431 xfer += prot_->serializedFieldSize("opt_fieldX", apache::thrift::protocol::T_STRUCT, 225);
4432 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::ComplexUnion>::serializedSize<false>(*prot_, this->opt_fieldX);
4433 }
4434 if (!this->fieldY.empty()) {
4435 xfer += prot_->serializedFieldSize("fieldY", apache::thrift::protocol::T_LIST, 26);
4436 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::variant>, ::std::vector<::some::valid::ns::ComplexUnion>>::serializedSize<false>(*prot_, this->fieldY);
4437 }
4438 if (!this->fieldZ.empty()) {
4439 xfer += prot_->serializedFieldSize("fieldZ", apache::thrift::protocol::T_SET, 27);
4440 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>, ::some::valid::ns::unionTypeDef>::serializedSize<false>(*prot_, this->fieldZ);
4441 }
4442 if (!this->fieldAA.empty()) {
4443 xfer += prot_->serializedFieldSize("fieldAA", apache::thrift::protocol::T_LIST, 28);
4444 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>>, ::std::vector<::some::valid::ns::unionTypeDef>>::serializedSize<false>(*prot_, this->fieldAA);
4445 }
4446 if (!this->fieldAB.empty()) {
4447 xfer += prot_->serializedFieldSize("fieldAB", apache::thrift::protocol::T_MAP, 29);
4448 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::floating_point, ::apache::thrift::detail::apply_indirection_fn>, ::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::integral, ::apache::thrift::detail::apply_indirection_fn>>, ::std::map<::some::valid::ns::IndirectionB, ::some::valid::ns::IndirectionC>>::serializedSize<false>(*prot_, this->fieldAB);
4449 }
4450 if (this->fieldAC != ::some::valid::ns::MyEnumB()) {
4451 xfer += prot_->serializedFieldSize("fieldAC", apache::thrift::protocol::T_I32, 30);
4452 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumB>::serializedSize<false>(*prot_, this->fieldAC);
4453 }
4454 if (this->fieldAD != ::a::different::ns::AnEnum()) {
4455 xfer += prot_->serializedFieldSize("fieldAD", apache::thrift::protocol::T_I32, 31);
4456 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::a::different::ns::AnEnum>::serializedSize<false>(*prot_, this->fieldAD);
4457 }
4458 if (!this->fieldAE.empty()) {
4459 xfer += prot_->serializedFieldSize("fieldAE", apache::thrift::protocol::T_MAP, 32);
4460 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->fieldAE);
4461 }
4462 if (!apache::thrift::StringTraits<::folly::remove_cvref_t<::folly::invoke_result_t<::apache::thrift::detail::apply_indirection_fn, FooBar const&>>>::isEmpty(::apache::thrift::apply_indirection(this->fieldSD))) {
4463 xfer += prot_->serializedFieldSize("fieldSD", apache::thrift::protocol::T_STRING, 33);
4464 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::string, ::apache::thrift::detail::apply_indirection_fn>, ::some::valid::ns::IndirectionD>::serializedSize<false>(*prot_, this->fieldSD);
4465 }
4466 xfer += prot_->serializedSizeStop();
4467 return xfer;
4468 }
4469
4470 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const4471 uint32_t containerStruct::serializedSizeZC(Protocol_ const* prot_) const {
4472 uint32_t xfer = 0;
4473 xfer += prot_->serializedStructSize("containerStruct");
4474 if (this->fieldA != bool()) {
4475 xfer += prot_->serializedFieldSize("fieldA", apache::thrift::protocol::T_BOOL, 1);
4476 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->fieldA);
4477 }
4478 {
4479 xfer += prot_->serializedFieldSize("req_fieldA", apache::thrift::protocol::T_BOOL, 101);
4480 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->req_fieldA);
4481 }
4482 if (this->__isset.get(1)) {
4483 xfer += prot_->serializedFieldSize("opt_fieldA", apache::thrift::protocol::T_BOOL, 201);
4484 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->opt_fieldA);
4485 }
4486 if (!this->fieldB.empty()) {
4487 xfer += prot_->serializedFieldSize("fieldB", apache::thrift::protocol::T_MAP, 2);
4488 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, bool>>::serializedSize<false>(*prot_, this->fieldB);
4489 }
4490 {
4491 xfer += prot_->serializedFieldSize("req_fieldB", apache::thrift::protocol::T_MAP, 102);
4492 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, bool>>::serializedSize<false>(*prot_, this->req_fieldB);
4493 }
4494 if (this->__isset.get(3)) {
4495 xfer += prot_->serializedFieldSize("opt_fieldB", apache::thrift::protocol::T_MAP, 202);
4496 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, bool>>::serializedSize<false>(*prot_, this->opt_fieldB);
4497 }
4498 if (!this->fieldC.empty()) {
4499 xfer += prot_->serializedFieldSize("fieldC", apache::thrift::protocol::T_SET, 3);
4500 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::serializedSize<false>(*prot_, this->fieldC);
4501 }
4502 {
4503 xfer += prot_->serializedFieldSize("req_fieldC", apache::thrift::protocol::T_SET, 103);
4504 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::serializedSize<false>(*prot_, this->req_fieldC);
4505 }
4506 if (this->__isset.get(5)) {
4507 xfer += prot_->serializedFieldSize("opt_fieldC", apache::thrift::protocol::T_SET, 203);
4508 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::serializedSize<false>(*prot_, this->opt_fieldC);
4509 }
4510 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->fieldD)) {
4511 xfer += prot_->serializedFieldSize("fieldD", apache::thrift::protocol::T_STRING, 4);
4512 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->fieldD);
4513 }
4514 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->fieldE)) {
4515 xfer += prot_->serializedFieldSize("fieldE", apache::thrift::protocol::T_STRING, 5);
4516 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->fieldE);
4517 }
4518 {
4519 xfer += prot_->serializedFieldSize("req_fieldE", apache::thrift::protocol::T_STRING, 105);
4520 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->req_fieldE);
4521 }
4522 if (this->__isset.get(8)) {
4523 xfer += prot_->serializedFieldSize("opt_fieldE", apache::thrift::protocol::T_STRING, 205);
4524 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->opt_fieldE);
4525 }
4526 if (!this->fieldF.empty()) {
4527 xfer += prot_->serializedFieldSize("fieldF", apache::thrift::protocol::T_LIST, 6);
4528 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>>, ::std::vector<::std::vector<::std::int32_t>>>::serializedSize<false>(*prot_, this->fieldF);
4529 }
4530 if (!this->fieldG.empty()) {
4531 xfer += prot_->serializedFieldSize("fieldG", apache::thrift::protocol::T_MAP, 7);
4532 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::integral>>>, ::std::map<::std::string, ::std::map<::std::string, ::std::map<::std::string, ::std::int32_t>>>>::serializedSize<false>(*prot_, this->fieldG);
4533 }
4534 if (!this->fieldH.empty()) {
4535 xfer += prot_->serializedFieldSize("fieldH", apache::thrift::protocol::T_LIST, 8);
4536 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>>, ::std::vector<::std::set<::std::int32_t>>>::serializedSize<false>(*prot_, this->fieldH);
4537 }
4538 if (this->fieldI != static_cast<bool>(true)) {
4539 xfer += prot_->serializedFieldSize("fieldI", apache::thrift::protocol::T_BOOL, 9);
4540 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->fieldI);
4541 }
4542 if (!this->fieldJ.empty()) {
4543 xfer += prot_->serializedFieldSize("fieldJ", apache::thrift::protocol::T_MAP, 10);
4544 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::list<::apache::thrift::type_class::integral>>, ::std::map<::std::string, ::std::vector<::std::int32_t>>>::serializedSize<false>(*prot_, this->fieldJ);
4545 }
4546 if (!this->fieldK.empty()) {
4547 xfer += prot_->serializedFieldSize("fieldK", apache::thrift::protocol::T_LIST, 11);
4548 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>>>>, ::std::vector<::std::vector<::std::vector<::std::vector<::std::int32_t>>>>>::serializedSize<false>(*prot_, this->fieldK);
4549 }
4550 if (!this->fieldL.empty()) {
4551 xfer += prot_->serializedFieldSize("fieldL", apache::thrift::protocol::T_SET, 12);
4552 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::set<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>>>, ::std::set<::std::set<::std::set<bool>>>>::serializedSize<false>(*prot_, this->fieldL);
4553 }
4554 if (!this->fieldM.empty()) {
4555 xfer += prot_->serializedFieldSize("fieldM", apache::thrift::protocol::T_MAP, 13);
4556 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::set<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>>, ::apache::thrift::type_class::map<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::string>>, ::apache::thrift::type_class::string>>, ::std::map<::std::set<::std::vector<::std::int32_t>>, ::std::map<::std::vector<::std::set<::std::string>>, ::std::string>>>::serializedSize<false>(*prot_, this->fieldM);
4557 }
4558 if (this->fieldN != ::some::valid::ns::simpleTypeDef()) {
4559 xfer += prot_->serializedFieldSize("fieldN", apache::thrift::protocol::T_I32, 14);
4560 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::some::valid::ns::simpleTypeDef>::serializedSize<false>(*prot_, this->fieldN);
4561 }
4562 if (!this->fieldO.empty()) {
4563 xfer += prot_->serializedFieldSize("fieldO", apache::thrift::protocol::T_LIST, 15);
4564 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::map<::apache::thrift::type_class::structure, ::apache::thrift::type_class::structure>>, ::some::valid::ns::complexStructTypeDef>::serializedSize<false>(*prot_, this->fieldO);
4565 }
4566 if (!this->fieldP.empty()) {
4567 xfer += prot_->serializedFieldSize("fieldP", apache::thrift::protocol::T_LIST, 16);
4568 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::map<::apache::thrift::type_class::structure, ::apache::thrift::type_class::structure>>>>, ::std::vector<::some::valid::ns::mostComplexTypeDef>>::serializedSize<false>(*prot_, this->fieldP);
4569 }
4570 if (this->fieldQ != ::some::valid::ns::MyEnumA()) {
4571 xfer += prot_->serializedFieldSize("fieldQ", apache::thrift::protocol::T_I32, 17);
4572 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::serializedSize<false>(*prot_, this->fieldQ);
4573 }
4574 if (this->fieldR != ::some::valid::ns::MyEnumA::fieldB) {
4575 xfer += prot_->serializedFieldSize("fieldR", apache::thrift::protocol::T_I32, 18);
4576 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::serializedSize<false>(*prot_, this->fieldR);
4577 }
4578 {
4579 xfer += prot_->serializedFieldSize("req_fieldR", apache::thrift::protocol::T_I32, 118);
4580 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::serializedSize<false>(*prot_, this->req_fieldR);
4581 }
4582 if (this->__isset.get(22)) {
4583 xfer += prot_->serializedFieldSize("opt_fieldR", apache::thrift::protocol::T_I32, 218);
4584 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::serializedSize<false>(*prot_, this->opt_fieldR);
4585 }
4586 if (this->fieldS != ::some::valid::ns::MyEnumA::fieldB) {
4587 xfer += prot_->serializedFieldSize("fieldS", apache::thrift::protocol::T_I32, 19);
4588 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::serializedSize<false>(*prot_, this->fieldS);
4589 }
4590 if (!this->fieldT.empty()) {
4591 xfer += prot_->serializedFieldSize("fieldT", apache::thrift::protocol::T_LIST, 21);
4592 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::enumeration>, ::std::vector<::some::valid::ns::MyEnumA>>::serializedSize<false>(*prot_, this->fieldT);
4593 }
4594 if (!this->fieldU.empty()) {
4595 xfer += prot_->serializedFieldSize("fieldU", apache::thrift::protocol::T_LIST, 22);
4596 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::enumeration>, ::std::vector<::some::valid::ns::MyEnumA>>::serializedSize<false>(*prot_, this->fieldU);
4597 }
4598 {
4599 xfer += prot_->serializedFieldSize("fieldV", apache::thrift::protocol::T_STRUCT, 23);
4600 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::serializedSize<true>(*prot_, this->fieldV);
4601 }
4602 {
4603 xfer += prot_->serializedFieldSize("req_fieldV", apache::thrift::protocol::T_STRUCT, 123);
4604 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::serializedSize<true>(*prot_, this->req_fieldV);
4605 }
4606 if (this->__isset.get(27)) {
4607 xfer += prot_->serializedFieldSize("opt_fieldV", apache::thrift::protocol::T_STRUCT, 223);
4608 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::serializedSize<true>(*prot_, this->opt_fieldV);
4609 }
4610 if (!this->fieldW.empty()) {
4611 xfer += prot_->serializedFieldSize("fieldW", apache::thrift::protocol::T_SET, 24);
4612 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::structure>, ::std::set<::some::valid::ns::MyStruct>>::serializedSize<false>(*prot_, this->fieldW);
4613 }
4614 {
4615 xfer += prot_->serializedFieldSize("fieldX", apache::thrift::protocol::T_STRUCT, 25);
4616 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::ComplexUnion>::serializedSize<true>(*prot_, this->fieldX);
4617 }
4618 {
4619 xfer += prot_->serializedFieldSize("req_fieldX", apache::thrift::protocol::T_STRUCT, 125);
4620 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::ComplexUnion>::serializedSize<true>(*prot_, this->req_fieldX);
4621 }
4622 if (this->__isset.get(30)) {
4623 xfer += prot_->serializedFieldSize("opt_fieldX", apache::thrift::protocol::T_STRUCT, 225);
4624 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::ComplexUnion>::serializedSize<true>(*prot_, this->opt_fieldX);
4625 }
4626 if (!this->fieldY.empty()) {
4627 xfer += prot_->serializedFieldSize("fieldY", apache::thrift::protocol::T_LIST, 26);
4628 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::variant>, ::std::vector<::some::valid::ns::ComplexUnion>>::serializedSize<false>(*prot_, this->fieldY);
4629 }
4630 if (!this->fieldZ.empty()) {
4631 xfer += prot_->serializedFieldSize("fieldZ", apache::thrift::protocol::T_SET, 27);
4632 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>, ::some::valid::ns::unionTypeDef>::serializedSize<false>(*prot_, this->fieldZ);
4633 }
4634 if (!this->fieldAA.empty()) {
4635 xfer += prot_->serializedFieldSize("fieldAA", apache::thrift::protocol::T_LIST, 28);
4636 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>>, ::std::vector<::some::valid::ns::unionTypeDef>>::serializedSize<false>(*prot_, this->fieldAA);
4637 }
4638 if (!this->fieldAB.empty()) {
4639 xfer += prot_->serializedFieldSize("fieldAB", apache::thrift::protocol::T_MAP, 29);
4640 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::floating_point, ::apache::thrift::detail::apply_indirection_fn>, ::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::integral, ::apache::thrift::detail::apply_indirection_fn>>, ::std::map<::some::valid::ns::IndirectionB, ::some::valid::ns::IndirectionC>>::serializedSize<false>(*prot_, this->fieldAB);
4641 }
4642 if (this->fieldAC != ::some::valid::ns::MyEnumB()) {
4643 xfer += prot_->serializedFieldSize("fieldAC", apache::thrift::protocol::T_I32, 30);
4644 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumB>::serializedSize<false>(*prot_, this->fieldAC);
4645 }
4646 if (this->fieldAD != ::a::different::ns::AnEnum()) {
4647 xfer += prot_->serializedFieldSize("fieldAD", apache::thrift::protocol::T_I32, 31);
4648 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::a::different::ns::AnEnum>::serializedSize<false>(*prot_, this->fieldAD);
4649 }
4650 if (!this->fieldAE.empty()) {
4651 xfer += prot_->serializedFieldSize("fieldAE", apache::thrift::protocol::T_MAP, 32);
4652 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->fieldAE);
4653 }
4654 if (!apache::thrift::StringTraits<::folly::remove_cvref_t<::folly::invoke_result_t<::apache::thrift::detail::apply_indirection_fn, FooBar const&>>>::isEmpty(::apache::thrift::apply_indirection(this->fieldSD))) {
4655 xfer += prot_->serializedFieldSize("fieldSD", apache::thrift::protocol::T_STRING, 33);
4656 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::string, ::apache::thrift::detail::apply_indirection_fn>, ::some::valid::ns::IndirectionD>::serializedSize<false>(*prot_, this->fieldSD);
4657 }
4658 xfer += prot_->serializedSizeStop();
4659 return xfer;
4660 }
4661
4662 template <class Protocol_>
write(Protocol_ * prot_) const4663 uint32_t containerStruct::write(Protocol_* prot_) const {
4664 uint32_t xfer = 0;
4665 xfer += prot_->writeStructBegin("containerStruct");
4666 bool previousFieldHasValue = true;
4667 if (this->fieldA != bool()) {
4668 constexpr int16_t kPrevFieldId = 0;
4669 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BOOL, 1, kPrevFieldId>(*prot_, "fieldA", previousFieldHasValue);
4670 previousFieldHasValue = true;
4671 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::write(*prot_, this->fieldA);
4672 xfer += prot_->writeFieldEnd();
4673 } else {
4674 previousFieldHasValue = false;
4675 }
4676 {
4677 constexpr int16_t kPrevFieldId = 1;
4678 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BOOL, 101, kPrevFieldId>(*prot_, "req_fieldA", previousFieldHasValue);
4679 previousFieldHasValue = true;
4680 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::write(*prot_, this->req_fieldA);
4681 xfer += prot_->writeFieldEnd();
4682 }
4683 if (this->__isset.get(1)) {
4684 constexpr int16_t kPrevFieldId = 101;
4685 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BOOL, 201, kPrevFieldId>(*prot_, "opt_fieldA", previousFieldHasValue);
4686 previousFieldHasValue = true;
4687 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::write(*prot_, this->opt_fieldA);
4688 xfer += prot_->writeFieldEnd();
4689 } else {
4690 previousFieldHasValue = false;
4691 }
4692 if (!this->fieldB.empty()) {
4693 constexpr int16_t kPrevFieldId = 201;
4694 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 2, kPrevFieldId>(*prot_, "fieldB", previousFieldHasValue);
4695 previousFieldHasValue = true;
4696 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, bool>>::write(*prot_, this->fieldB);
4697 xfer += prot_->writeFieldEnd();
4698 } else {
4699 previousFieldHasValue = false;
4700 }
4701 {
4702 constexpr int16_t kPrevFieldId = 2;
4703 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 102, kPrevFieldId>(*prot_, "req_fieldB", previousFieldHasValue);
4704 previousFieldHasValue = true;
4705 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, bool>>::write(*prot_, this->req_fieldB);
4706 xfer += prot_->writeFieldEnd();
4707 }
4708 if (this->__isset.get(3)) {
4709 constexpr int16_t kPrevFieldId = 102;
4710 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 202, kPrevFieldId>(*prot_, "opt_fieldB", previousFieldHasValue);
4711 previousFieldHasValue = true;
4712 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, bool>>::write(*prot_, this->opt_fieldB);
4713 xfer += prot_->writeFieldEnd();
4714 } else {
4715 previousFieldHasValue = false;
4716 }
4717 if (!this->fieldC.empty()) {
4718 constexpr int16_t kPrevFieldId = 202;
4719 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 3, kPrevFieldId>(*prot_, "fieldC", previousFieldHasValue);
4720 previousFieldHasValue = true;
4721 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::write(*prot_, this->fieldC);
4722 xfer += prot_->writeFieldEnd();
4723 } else {
4724 previousFieldHasValue = false;
4725 }
4726 {
4727 constexpr int16_t kPrevFieldId = 3;
4728 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 103, kPrevFieldId>(*prot_, "req_fieldC", previousFieldHasValue);
4729 previousFieldHasValue = true;
4730 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::write(*prot_, this->req_fieldC);
4731 xfer += prot_->writeFieldEnd();
4732 }
4733 if (this->__isset.get(5)) {
4734 constexpr int16_t kPrevFieldId = 103;
4735 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 203, kPrevFieldId>(*prot_, "opt_fieldC", previousFieldHasValue);
4736 previousFieldHasValue = true;
4737 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::write(*prot_, this->opt_fieldC);
4738 xfer += prot_->writeFieldEnd();
4739 } else {
4740 previousFieldHasValue = false;
4741 }
4742 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->fieldD)) {
4743 constexpr int16_t kPrevFieldId = 203;
4744 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 4, kPrevFieldId>(*prot_, "fieldD", previousFieldHasValue);
4745 previousFieldHasValue = true;
4746 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->fieldD);
4747 xfer += prot_->writeFieldEnd();
4748 } else {
4749 previousFieldHasValue = false;
4750 }
4751 if (!apache::thrift::StringTraits<std::string>::isEmpty(this->fieldE)) {
4752 constexpr int16_t kPrevFieldId = 4;
4753 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 5, kPrevFieldId>(*prot_, "fieldE", previousFieldHasValue);
4754 previousFieldHasValue = true;
4755 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->fieldE);
4756 xfer += prot_->writeFieldEnd();
4757 } else {
4758 previousFieldHasValue = false;
4759 }
4760 {
4761 constexpr int16_t kPrevFieldId = 5;
4762 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 105, kPrevFieldId>(*prot_, "req_fieldE", previousFieldHasValue);
4763 previousFieldHasValue = true;
4764 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->req_fieldE);
4765 xfer += prot_->writeFieldEnd();
4766 }
4767 if (this->__isset.get(8)) {
4768 constexpr int16_t kPrevFieldId = 105;
4769 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 205, kPrevFieldId>(*prot_, "opt_fieldE", previousFieldHasValue);
4770 previousFieldHasValue = true;
4771 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->opt_fieldE);
4772 xfer += prot_->writeFieldEnd();
4773 } else {
4774 previousFieldHasValue = false;
4775 }
4776 if (!this->fieldF.empty()) {
4777 constexpr int16_t kPrevFieldId = 205;
4778 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 6, kPrevFieldId>(*prot_, "fieldF", previousFieldHasValue);
4779 previousFieldHasValue = true;
4780 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>>, ::std::vector<::std::vector<::std::int32_t>>>::write(*prot_, this->fieldF);
4781 xfer += prot_->writeFieldEnd();
4782 } else {
4783 previousFieldHasValue = false;
4784 }
4785 if (!this->fieldG.empty()) {
4786 constexpr int16_t kPrevFieldId = 6;
4787 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 7, kPrevFieldId>(*prot_, "fieldG", previousFieldHasValue);
4788 previousFieldHasValue = true;
4789 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::integral>>>, ::std::map<::std::string, ::std::map<::std::string, ::std::map<::std::string, ::std::int32_t>>>>::write(*prot_, this->fieldG);
4790 xfer += prot_->writeFieldEnd();
4791 } else {
4792 previousFieldHasValue = false;
4793 }
4794 if (!this->fieldH.empty()) {
4795 constexpr int16_t kPrevFieldId = 7;
4796 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 8, kPrevFieldId>(*prot_, "fieldH", previousFieldHasValue);
4797 previousFieldHasValue = true;
4798 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>>, ::std::vector<::std::set<::std::int32_t>>>::write(*prot_, this->fieldH);
4799 xfer += prot_->writeFieldEnd();
4800 } else {
4801 previousFieldHasValue = false;
4802 }
4803 if (this->fieldI != static_cast<bool>(true)) {
4804 constexpr int16_t kPrevFieldId = 8;
4805 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BOOL, 9, kPrevFieldId>(*prot_, "fieldI", previousFieldHasValue);
4806 previousFieldHasValue = true;
4807 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::write(*prot_, this->fieldI);
4808 xfer += prot_->writeFieldEnd();
4809 } else {
4810 previousFieldHasValue = false;
4811 }
4812 if (!this->fieldJ.empty()) {
4813 constexpr int16_t kPrevFieldId = 9;
4814 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 10, kPrevFieldId>(*prot_, "fieldJ", previousFieldHasValue);
4815 previousFieldHasValue = true;
4816 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::list<::apache::thrift::type_class::integral>>, ::std::map<::std::string, ::std::vector<::std::int32_t>>>::write(*prot_, this->fieldJ);
4817 xfer += prot_->writeFieldEnd();
4818 } else {
4819 previousFieldHasValue = false;
4820 }
4821 if (!this->fieldK.empty()) {
4822 constexpr int16_t kPrevFieldId = 10;
4823 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 11, kPrevFieldId>(*prot_, "fieldK", previousFieldHasValue);
4824 previousFieldHasValue = true;
4825 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>>>>, ::std::vector<::std::vector<::std::vector<::std::vector<::std::int32_t>>>>>::write(*prot_, this->fieldK);
4826 xfer += prot_->writeFieldEnd();
4827 } else {
4828 previousFieldHasValue = false;
4829 }
4830 if (!this->fieldL.empty()) {
4831 constexpr int16_t kPrevFieldId = 11;
4832 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 12, kPrevFieldId>(*prot_, "fieldL", previousFieldHasValue);
4833 previousFieldHasValue = true;
4834 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::set<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>>>, ::std::set<::std::set<::std::set<bool>>>>::write(*prot_, this->fieldL);
4835 xfer += prot_->writeFieldEnd();
4836 } else {
4837 previousFieldHasValue = false;
4838 }
4839 if (!this->fieldM.empty()) {
4840 constexpr int16_t kPrevFieldId = 12;
4841 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 13, kPrevFieldId>(*prot_, "fieldM", previousFieldHasValue);
4842 previousFieldHasValue = true;
4843 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::set<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>>, ::apache::thrift::type_class::map<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::string>>, ::apache::thrift::type_class::string>>, ::std::map<::std::set<::std::vector<::std::int32_t>>, ::std::map<::std::vector<::std::set<::std::string>>, ::std::string>>>::write(*prot_, this->fieldM);
4844 xfer += prot_->writeFieldEnd();
4845 } else {
4846 previousFieldHasValue = false;
4847 }
4848 if (this->fieldN != ::some::valid::ns::simpleTypeDef()) {
4849 constexpr int16_t kPrevFieldId = 13;
4850 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 14, kPrevFieldId>(*prot_, "fieldN", previousFieldHasValue);
4851 previousFieldHasValue = true;
4852 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::some::valid::ns::simpleTypeDef>::write(*prot_, this->fieldN);
4853 xfer += prot_->writeFieldEnd();
4854 } else {
4855 previousFieldHasValue = false;
4856 }
4857 if (!this->fieldO.empty()) {
4858 constexpr int16_t kPrevFieldId = 14;
4859 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 15, kPrevFieldId>(*prot_, "fieldO", previousFieldHasValue);
4860 previousFieldHasValue = true;
4861 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::map<::apache::thrift::type_class::structure, ::apache::thrift::type_class::structure>>, ::some::valid::ns::complexStructTypeDef>::write(*prot_, this->fieldO);
4862 xfer += prot_->writeFieldEnd();
4863 } else {
4864 previousFieldHasValue = false;
4865 }
4866 if (!this->fieldP.empty()) {
4867 constexpr int16_t kPrevFieldId = 15;
4868 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 16, kPrevFieldId>(*prot_, "fieldP", previousFieldHasValue);
4869 previousFieldHasValue = true;
4870 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::list<::apache::thrift::type_class::map<::apache::thrift::type_class::structure, ::apache::thrift::type_class::structure>>>>, ::std::vector<::some::valid::ns::mostComplexTypeDef>>::write(*prot_, this->fieldP);
4871 xfer += prot_->writeFieldEnd();
4872 } else {
4873 previousFieldHasValue = false;
4874 }
4875 if (this->fieldQ != ::some::valid::ns::MyEnumA()) {
4876 constexpr int16_t kPrevFieldId = 16;
4877 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 17, kPrevFieldId>(*prot_, "fieldQ", previousFieldHasValue);
4878 previousFieldHasValue = true;
4879 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::write(*prot_, this->fieldQ);
4880 xfer += prot_->writeFieldEnd();
4881 } else {
4882 previousFieldHasValue = false;
4883 }
4884 if (this->fieldR != ::some::valid::ns::MyEnumA::fieldB) {
4885 constexpr int16_t kPrevFieldId = 17;
4886 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 18, kPrevFieldId>(*prot_, "fieldR", previousFieldHasValue);
4887 previousFieldHasValue = true;
4888 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::write(*prot_, this->fieldR);
4889 xfer += prot_->writeFieldEnd();
4890 } else {
4891 previousFieldHasValue = false;
4892 }
4893 {
4894 constexpr int16_t kPrevFieldId = 18;
4895 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 118, kPrevFieldId>(*prot_, "req_fieldR", previousFieldHasValue);
4896 previousFieldHasValue = true;
4897 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::write(*prot_, this->req_fieldR);
4898 xfer += prot_->writeFieldEnd();
4899 }
4900 if (this->__isset.get(22)) {
4901 constexpr int16_t kPrevFieldId = 118;
4902 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 218, kPrevFieldId>(*prot_, "opt_fieldR", previousFieldHasValue);
4903 previousFieldHasValue = true;
4904 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::write(*prot_, this->opt_fieldR);
4905 xfer += prot_->writeFieldEnd();
4906 } else {
4907 previousFieldHasValue = false;
4908 }
4909 if (this->fieldS != ::some::valid::ns::MyEnumA::fieldB) {
4910 constexpr int16_t kPrevFieldId = 218;
4911 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 19, kPrevFieldId>(*prot_, "fieldS", previousFieldHasValue);
4912 previousFieldHasValue = true;
4913 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumA>::write(*prot_, this->fieldS);
4914 xfer += prot_->writeFieldEnd();
4915 } else {
4916 previousFieldHasValue = false;
4917 }
4918 if (!this->fieldT.empty()) {
4919 constexpr int16_t kPrevFieldId = 19;
4920 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 21, kPrevFieldId>(*prot_, "fieldT", previousFieldHasValue);
4921 previousFieldHasValue = true;
4922 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::enumeration>, ::std::vector<::some::valid::ns::MyEnumA>>::write(*prot_, this->fieldT);
4923 xfer += prot_->writeFieldEnd();
4924 } else {
4925 previousFieldHasValue = false;
4926 }
4927 if (!this->fieldU.empty()) {
4928 constexpr int16_t kPrevFieldId = 21;
4929 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 22, kPrevFieldId>(*prot_, "fieldU", previousFieldHasValue);
4930 previousFieldHasValue = true;
4931 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::enumeration>, ::std::vector<::some::valid::ns::MyEnumA>>::write(*prot_, this->fieldU);
4932 xfer += prot_->writeFieldEnd();
4933 } else {
4934 previousFieldHasValue = false;
4935 }
4936 {
4937 constexpr int16_t kPrevFieldId = 22;
4938 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 23, kPrevFieldId>(*prot_, "fieldV", previousFieldHasValue);
4939 previousFieldHasValue = true;
4940 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::write(*prot_, this->fieldV);
4941 xfer += prot_->writeFieldEnd();
4942 }
4943 {
4944 constexpr int16_t kPrevFieldId = 23;
4945 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 123, kPrevFieldId>(*prot_, "req_fieldV", previousFieldHasValue);
4946 previousFieldHasValue = true;
4947 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::write(*prot_, this->req_fieldV);
4948 xfer += prot_->writeFieldEnd();
4949 }
4950 if (this->__isset.get(27)) {
4951 constexpr int16_t kPrevFieldId = 123;
4952 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 223, kPrevFieldId>(*prot_, "opt_fieldV", previousFieldHasValue);
4953 previousFieldHasValue = true;
4954 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::MyStruct>::write(*prot_, this->opt_fieldV);
4955 xfer += prot_->writeFieldEnd();
4956 } else {
4957 previousFieldHasValue = false;
4958 }
4959 if (!this->fieldW.empty()) {
4960 constexpr int16_t kPrevFieldId = 223;
4961 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 24, kPrevFieldId>(*prot_, "fieldW", previousFieldHasValue);
4962 previousFieldHasValue = true;
4963 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::structure>, ::std::set<::some::valid::ns::MyStruct>>::write(*prot_, this->fieldW);
4964 xfer += prot_->writeFieldEnd();
4965 } else {
4966 previousFieldHasValue = false;
4967 }
4968 {
4969 constexpr int16_t kPrevFieldId = 24;
4970 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 25, kPrevFieldId>(*prot_, "fieldX", previousFieldHasValue);
4971 previousFieldHasValue = true;
4972 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::ComplexUnion>::write(*prot_, this->fieldX);
4973 xfer += prot_->writeFieldEnd();
4974 }
4975 {
4976 constexpr int16_t kPrevFieldId = 25;
4977 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 125, kPrevFieldId>(*prot_, "req_fieldX", previousFieldHasValue);
4978 previousFieldHasValue = true;
4979 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::ComplexUnion>::write(*prot_, this->req_fieldX);
4980 xfer += prot_->writeFieldEnd();
4981 }
4982 if (this->__isset.get(30)) {
4983 constexpr int16_t kPrevFieldId = 125;
4984 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 225, kPrevFieldId>(*prot_, "opt_fieldX", previousFieldHasValue);
4985 previousFieldHasValue = true;
4986 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::some::valid::ns::ComplexUnion>::write(*prot_, this->opt_fieldX);
4987 xfer += prot_->writeFieldEnd();
4988 } else {
4989 previousFieldHasValue = false;
4990 }
4991 if (!this->fieldY.empty()) {
4992 constexpr int16_t kPrevFieldId = 225;
4993 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 26, kPrevFieldId>(*prot_, "fieldY", previousFieldHasValue);
4994 previousFieldHasValue = true;
4995 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::variant>, ::std::vector<::some::valid::ns::ComplexUnion>>::write(*prot_, this->fieldY);
4996 xfer += prot_->writeFieldEnd();
4997 } else {
4998 previousFieldHasValue = false;
4999 }
5000 if (!this->fieldZ.empty()) {
5001 constexpr int16_t kPrevFieldId = 26;
5002 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 27, kPrevFieldId>(*prot_, "fieldZ", previousFieldHasValue);
5003 previousFieldHasValue = true;
5004 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>, ::some::valid::ns::unionTypeDef>::write(*prot_, this->fieldZ);
5005 xfer += prot_->writeFieldEnd();
5006 } else {
5007 previousFieldHasValue = false;
5008 }
5009 if (!this->fieldAA.empty()) {
5010 constexpr int16_t kPrevFieldId = 27;
5011 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 28, kPrevFieldId>(*prot_, "fieldAA", previousFieldHasValue);
5012 previousFieldHasValue = true;
5013 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::set<::apache::thrift::type_class::variant>>, ::std::vector<::some::valid::ns::unionTypeDef>>::write(*prot_, this->fieldAA);
5014 xfer += prot_->writeFieldEnd();
5015 } else {
5016 previousFieldHasValue = false;
5017 }
5018 if (!this->fieldAB.empty()) {
5019 constexpr int16_t kPrevFieldId = 28;
5020 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 29, kPrevFieldId>(*prot_, "fieldAB", previousFieldHasValue);
5021 previousFieldHasValue = true;
5022 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::floating_point, ::apache::thrift::detail::apply_indirection_fn>, ::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::integral, ::apache::thrift::detail::apply_indirection_fn>>, ::std::map<::some::valid::ns::IndirectionB, ::some::valid::ns::IndirectionC>>::write(*prot_, this->fieldAB);
5023 xfer += prot_->writeFieldEnd();
5024 } else {
5025 previousFieldHasValue = false;
5026 }
5027 if (this->fieldAC != ::some::valid::ns::MyEnumB()) {
5028 constexpr int16_t kPrevFieldId = 29;
5029 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 30, kPrevFieldId>(*prot_, "fieldAC", previousFieldHasValue);
5030 previousFieldHasValue = true;
5031 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::some::valid::ns::MyEnumB>::write(*prot_, this->fieldAC);
5032 xfer += prot_->writeFieldEnd();
5033 } else {
5034 previousFieldHasValue = false;
5035 }
5036 if (this->fieldAD != ::a::different::ns::AnEnum()) {
5037 constexpr int16_t kPrevFieldId = 30;
5038 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 31, kPrevFieldId>(*prot_, "fieldAD", previousFieldHasValue);
5039 previousFieldHasValue = true;
5040 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::a::different::ns::AnEnum>::write(*prot_, this->fieldAD);
5041 xfer += prot_->writeFieldEnd();
5042 } else {
5043 previousFieldHasValue = false;
5044 }
5045 if (!this->fieldAE.empty()) {
5046 constexpr int16_t kPrevFieldId = 31;
5047 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 32, kPrevFieldId>(*prot_, "fieldAE", previousFieldHasValue);
5048 previousFieldHasValue = true;
5049 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->fieldAE);
5050 xfer += prot_->writeFieldEnd();
5051 } else {
5052 previousFieldHasValue = false;
5053 }
5054 if (!apache::thrift::StringTraits<::folly::remove_cvref_t<::folly::invoke_result_t<::apache::thrift::detail::apply_indirection_fn, FooBar const&>>>::isEmpty(::apache::thrift::apply_indirection(this->fieldSD))) {
5055 constexpr int16_t kPrevFieldId = 32;
5056 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 33, kPrevFieldId>(*prot_, "fieldSD", previousFieldHasValue);
5057 previousFieldHasValue = true;
5058 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::string, ::apache::thrift::detail::apply_indirection_fn>, ::some::valid::ns::IndirectionD>::write(*prot_, this->fieldSD);
5059 xfer += prot_->writeFieldEnd();
5060 } else {
5061 previousFieldHasValue = false;
5062 }
5063 xfer += prot_->writeFieldStop();
5064 xfer += prot_->writeStructEnd();
5065 return xfer;
5066 }
5067
5068 extern template void containerStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
5069 extern template uint32_t containerStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
5070 extern template uint32_t containerStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
5071 extern template uint32_t containerStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
5072 extern template void containerStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
5073 extern template uint32_t containerStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
5074 extern template uint32_t containerStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
5075 extern template uint32_t containerStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
5076 extern template void containerStruct::readNoXfer<>(apache::thrift::SimpleJSONProtocolReader*);
5077 extern template uint32_t containerStruct::write<>(apache::thrift::SimpleJSONProtocolWriter*) const;
5078 extern template uint32_t containerStruct::serializedSize<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
5079 extern template uint32_t containerStruct::serializedSizeZC<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
5080
5081 }}} // some::valid::ns
5082 namespace some { namespace valid { namespace ns {
5083
5084 template <class Protocol_>
readNoXfer(Protocol_ * iprot)5085 void MyIncludedStruct::readNoXfer(Protocol_* iprot) {
5086 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
5087
5088 _readState.readStructBegin(iprot);
5089
5090 using apache::thrift::TProtocolException;
5091
5092
5093 if (UNLIKELY(!_readState.advanceToNextField(
5094 iprot,
5095 0,
5096 1,
5097 apache::thrift::protocol::T_I64))) {
5098 goto _loop;
5099 }
5100 _readField_MyIncludedInt:
5101 {
5102 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::a::different::ns::IncludedInt64>::readWithContext(*iprot, this->__fbthrift_field_MyIncludedInt, _readState);
5103
5104 }
5105 this->__isset.set(0, true);
5106
5107 if (UNLIKELY(!_readState.advanceToNextField(
5108 iprot,
5109 1,
5110 2,
5111 apache::thrift::protocol::T_STRUCT))) {
5112 goto _loop;
5113 }
5114 _readField_MyIncludedStruct:
5115 {
5116 _readState.beforeSubobject(iprot);
5117 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::AStruct>::readWithContext(*iprot, this->__fbthrift_field_MyIncludedStruct, _readState);
5118 _readState.afterSubobject(iprot);
5119
5120 }
5121 this->__isset.set(1, true);
5122
5123 if (UNLIKELY(!_readState.advanceToNextField(
5124 iprot,
5125 2,
5126 3,
5127 apache::thrift::protocol::T_STRUCT))) {
5128 goto _loop;
5129 }
5130 _readField_ARefField:
5131 {
5132 _readState.beforeSubobject(iprot);
5133 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::unique_ptr<::some::valid::ns::AStruct>>();
5134 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::AStruct>::readWithContext(*iprot, *ptr, _readState);
5135 this->ARefField = std::move(ptr);
5136 _readState.afterSubobject(iprot);
5137
5138 }
5139
5140 if (UNLIKELY(!_readState.advanceToNextField(
5141 iprot,
5142 3,
5143 4,
5144 apache::thrift::protocol::T_STRUCT))) {
5145 goto _loop;
5146 }
5147 _readField_ARequiredField:
5148 {
5149 _readState.beforeSubobject(iprot);
5150 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::AStruct>::readWithContext(*iprot, this->ARequiredField, _readState);
5151 _readState.afterSubobject(iprot);
5152
5153 }
5154
5155 if (UNLIKELY(!_readState.advanceToNextField(
5156 iprot,
5157 4,
5158 0,
5159 apache::thrift::protocol::T_STOP))) {
5160 goto _loop;
5161 }
5162
5163 _end:
5164 _readState.readStructEnd(iprot);
5165
5166 return;
5167
5168 _loop:
5169 _readState.afterAdvanceFailure(iprot);
5170 if (_readState.atStop()) {
5171 goto _end;
5172 }
5173 if (iprot->kUsesFieldNames()) {
5174 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<MyIncludedStruct>>();
5175 }
5176
5177 switch (_readState.fieldId) {
5178 case 1:
5179 {
5180 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
5181 goto _readField_MyIncludedInt;
5182 } else {
5183 goto _skip;
5184 }
5185 }
5186 case 2:
5187 {
5188 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
5189 goto _readField_MyIncludedStruct;
5190 } else {
5191 goto _skip;
5192 }
5193 }
5194 case 3:
5195 {
5196 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
5197 goto _readField_ARefField;
5198 } else {
5199 goto _skip;
5200 }
5201 }
5202 case 4:
5203 {
5204 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
5205 goto _readField_ARequiredField;
5206 } else {
5207 goto _skip;
5208 }
5209 }
5210 default:
5211 {
5212 _skip:
5213 _readState.skip(iprot);
5214 _readState.readFieldEnd(iprot);
5215 _readState.readFieldBeginNoInline(iprot);
5216 goto _loop;
5217 }
5218 }
5219 }
5220
5221 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const5222 uint32_t MyIncludedStruct::serializedSize(Protocol_ const* prot_) const {
5223 uint32_t xfer = 0;
5224 xfer += prot_->serializedStructSize("MyIncludedStruct");
5225 if (this->__fbthrift_field_MyIncludedInt != static_cast<::a::different::ns::IncludedInt64>(42)) {
5226 xfer += prot_->serializedFieldSize("MyIncludedInt", apache::thrift::protocol::T_I64, 1);
5227 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::a::different::ns::IncludedInt64>::serializedSize<false>(*prot_, this->__fbthrift_field_MyIncludedInt);
5228 }
5229 {
5230 xfer += prot_->serializedFieldSize("MyIncludedStruct", apache::thrift::protocol::T_STRUCT, 2);
5231 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::AStruct>::serializedSize<false>(*prot_, this->__fbthrift_field_MyIncludedStruct);
5232 }
5233 if (this->ARefField) {
5234 xfer += prot_->serializedFieldSize("ARefField", apache::thrift::protocol::T_STRUCT, 3);
5235 if (this->ARefField) {
5236 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::AStruct>::serializedSize<false>(*prot_, *this->ARefField);
5237 } else {
5238 xfer += prot_->serializedStructSize("AStruct");
5239 xfer += prot_->serializedSizeStop();
5240 }
5241 }
5242 {
5243 xfer += prot_->serializedFieldSize("ARequiredField", apache::thrift::protocol::T_STRUCT, 4);
5244 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::AStruct>::serializedSize<false>(*prot_, this->ARequiredField);
5245 }
5246 xfer += prot_->serializedSizeStop();
5247 return xfer;
5248 }
5249
5250 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const5251 uint32_t MyIncludedStruct::serializedSizeZC(Protocol_ const* prot_) const {
5252 uint32_t xfer = 0;
5253 xfer += prot_->serializedStructSize("MyIncludedStruct");
5254 if (this->__fbthrift_field_MyIncludedInt != static_cast<::a::different::ns::IncludedInt64>(42)) {
5255 xfer += prot_->serializedFieldSize("MyIncludedInt", apache::thrift::protocol::T_I64, 1);
5256 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::a::different::ns::IncludedInt64>::serializedSize<false>(*prot_, this->__fbthrift_field_MyIncludedInt);
5257 }
5258 {
5259 xfer += prot_->serializedFieldSize("MyIncludedStruct", apache::thrift::protocol::T_STRUCT, 2);
5260 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::AStruct>::serializedSize<true>(*prot_, this->__fbthrift_field_MyIncludedStruct);
5261 }
5262 if (this->ARefField) {
5263 xfer += prot_->serializedFieldSize("ARefField", apache::thrift::protocol::T_STRUCT, 3);
5264 if (this->ARefField) {
5265 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::AStruct>::serializedSize<true>(*prot_, *this->ARefField);
5266 } else {
5267 xfer += prot_->serializedStructSize("AStruct");
5268 xfer += prot_->serializedSizeStop();
5269 }
5270 }
5271 {
5272 xfer += prot_->serializedFieldSize("ARequiredField", apache::thrift::protocol::T_STRUCT, 4);
5273 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::AStruct>::serializedSize<true>(*prot_, this->ARequiredField);
5274 }
5275 xfer += prot_->serializedSizeStop();
5276 return xfer;
5277 }
5278
5279 template <class Protocol_>
write(Protocol_ * prot_) const5280 uint32_t MyIncludedStruct::write(Protocol_* prot_) const {
5281 uint32_t xfer = 0;
5282 xfer += prot_->writeStructBegin("MyIncludedStruct");
5283 bool previousFieldHasValue = true;
5284 if (this->__fbthrift_field_MyIncludedInt != static_cast<::a::different::ns::IncludedInt64>(42)) {
5285 constexpr int16_t kPrevFieldId = 0;
5286 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 1, kPrevFieldId>(*prot_, "MyIncludedInt", previousFieldHasValue);
5287 previousFieldHasValue = true;
5288 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::a::different::ns::IncludedInt64>::write(*prot_, this->__fbthrift_field_MyIncludedInt);
5289 xfer += prot_->writeFieldEnd();
5290 } else {
5291 previousFieldHasValue = false;
5292 }
5293 {
5294 constexpr int16_t kPrevFieldId = 1;
5295 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 2, kPrevFieldId>(*prot_, "MyIncludedStruct", previousFieldHasValue);
5296 previousFieldHasValue = true;
5297 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::AStruct>::write(*prot_, this->__fbthrift_field_MyIncludedStruct);
5298 xfer += prot_->writeFieldEnd();
5299 }
5300 if (this->ARefField) {
5301 constexpr int16_t kPrevFieldId = 2;
5302 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 3, kPrevFieldId>(*prot_, "ARefField", previousFieldHasValue);
5303 previousFieldHasValue = true;
5304 if (this->ARefField) {
5305 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::AStruct>::write(*prot_, *this->ARefField);
5306 } else {
5307 xfer += prot_->writeStructBegin("AStruct");
5308 xfer += prot_->writeStructEnd();
5309 xfer += prot_->writeFieldStop();
5310 }
5311 xfer += prot_->writeFieldEnd();
5312 } else {
5313 previousFieldHasValue = false;
5314 }
5315 {
5316 constexpr int16_t kPrevFieldId = 3;
5317 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 4, kPrevFieldId>(*prot_, "ARequiredField", previousFieldHasValue);
5318 previousFieldHasValue = true;
5319 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::AStruct>::write(*prot_, this->ARequiredField);
5320 xfer += prot_->writeFieldEnd();
5321 }
5322 xfer += prot_->writeFieldStop();
5323 xfer += prot_->writeStructEnd();
5324 return xfer;
5325 }
5326
5327 extern template void MyIncludedStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
5328 extern template uint32_t MyIncludedStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
5329 extern template uint32_t MyIncludedStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
5330 extern template uint32_t MyIncludedStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
5331 extern template void MyIncludedStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
5332 extern template uint32_t MyIncludedStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
5333 extern template uint32_t MyIncludedStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
5334 extern template uint32_t MyIncludedStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
5335 extern template void MyIncludedStruct::readNoXfer<>(apache::thrift::SimpleJSONProtocolReader*);
5336 extern template uint32_t MyIncludedStruct::write<>(apache::thrift::SimpleJSONProtocolWriter*) const;
5337 extern template uint32_t MyIncludedStruct::serializedSize<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
5338 extern template uint32_t MyIncludedStruct::serializedSizeZC<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
5339
5340 }}} // some::valid::ns
5341 namespace some { namespace valid { namespace ns {
5342
5343 template <class Protocol_>
readNoXfer(Protocol_ * iprot)5344 void AnnotatedStruct::readNoXfer(Protocol_* iprot) {
5345 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
5346
5347 _readState.readStructBegin(iprot);
5348
5349 using apache::thrift::TProtocolException;
5350
5351
5352 if (UNLIKELY(!_readState.advanceToNextField(
5353 iprot,
5354 0,
5355 1,
5356 apache::thrift::protocol::T_STRUCT))) {
5357 goto _loop;
5358 }
5359 _readField_no_annotation:
5360 {
5361 _readState.beforeSubobject(iprot);
5362 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::readWithContext(*iprot, this->no_annotation, _readState);
5363 _readState.afterSubobject(iprot);
5364
5365 }
5366 this->__isset.set(0, true);
5367
5368 if (UNLIKELY(!_readState.advanceToNextField(
5369 iprot,
5370 1,
5371 2,
5372 apache::thrift::protocol::T_STRUCT))) {
5373 goto _loop;
5374 }
5375 _readField_cpp_unique_ref:
5376 {
5377 _readState.beforeSubobject(iprot);
5378 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::unique_ptr<::some::valid::ns::containerStruct>>();
5379 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::readWithContext(*iprot, *ptr, _readState);
5380 this->cpp_unique_ref = std::move(ptr);
5381 _readState.afterSubobject(iprot);
5382
5383 }
5384
5385 if (UNLIKELY(!_readState.advanceToNextField(
5386 iprot,
5387 2,
5388 3,
5389 apache::thrift::protocol::T_STRUCT))) {
5390 goto _loop;
5391 }
5392 _readField_cpp2_unique_ref:
5393 {
5394 _readState.beforeSubobject(iprot);
5395 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::unique_ptr<::some::valid::ns::containerStruct>>();
5396 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::readWithContext(*iprot, *ptr, _readState);
5397 this->cpp2_unique_ref = std::move(ptr);
5398 _readState.afterSubobject(iprot);
5399
5400 }
5401
5402 if (UNLIKELY(!_readState.advanceToNextField(
5403 iprot,
5404 3,
5405 4,
5406 apache::thrift::protocol::T_MAP))) {
5407 goto _loop;
5408 }
5409 _readField_container_with_ref:
5410 {
5411 _readState.beforeSubobject(iprot);
5412 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::unique_ptr<::std::map<::std::int32_t, ::std::vector<::std::string>>>>();
5413 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::list<::apache::thrift::type_class::string>>, ::std::map<::std::int32_t, ::std::vector<::std::string>>>::readWithContext(*iprot, *ptr, _readState);
5414 this->container_with_ref = std::move(ptr);
5415 _readState.afterSubobject(iprot);
5416
5417 }
5418
5419 if (UNLIKELY(!_readState.advanceToNextField(
5420 iprot,
5421 4,
5422 5,
5423 apache::thrift::protocol::T_STRUCT))) {
5424 goto _loop;
5425 }
5426 _readField_req_cpp_unique_ref:
5427 {
5428 _readState.beforeSubobject(iprot);
5429 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::unique_ptr<::some::valid::ns::containerStruct>>();
5430 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::readWithContext(*iprot, *ptr, _readState);
5431 this->req_cpp_unique_ref = std::move(ptr);
5432 _readState.afterSubobject(iprot);
5433
5434 }
5435
5436 if (UNLIKELY(!_readState.advanceToNextField(
5437 iprot,
5438 5,
5439 6,
5440 apache::thrift::protocol::T_STRUCT))) {
5441 goto _loop;
5442 }
5443 _readField_req_cpp2_unique_ref:
5444 {
5445 _readState.beforeSubobject(iprot);
5446 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::unique_ptr<::some::valid::ns::containerStruct>>();
5447 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::readWithContext(*iprot, *ptr, _readState);
5448 this->req_cpp2_unique_ref = std::move(ptr);
5449 _readState.afterSubobject(iprot);
5450
5451 }
5452
5453 if (UNLIKELY(!_readState.advanceToNextField(
5454 iprot,
5455 6,
5456 7,
5457 apache::thrift::protocol::T_LIST))) {
5458 goto _loop;
5459 }
5460 _readField_req_container_with_ref:
5461 {
5462 _readState.beforeSubobject(iprot);
5463 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::unique_ptr<::std::vector<::std::string>>>();
5464 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::string>, ::std::vector<::std::string>>::readWithContext(*iprot, *ptr, _readState);
5465 this->req_container_with_ref = std::move(ptr);
5466 _readState.afterSubobject(iprot);
5467
5468 }
5469
5470 if (UNLIKELY(!_readState.advanceToNextField(
5471 iprot,
5472 7,
5473 8,
5474 apache::thrift::protocol::T_STRUCT))) {
5475 goto _loop;
5476 }
5477 _readField_opt_cpp_unique_ref:
5478 {
5479 _readState.beforeSubobject(iprot);
5480 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::unique_ptr<::some::valid::ns::containerStruct>>();
5481 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::readWithContext(*iprot, *ptr, _readState);
5482 this->opt_cpp_unique_ref = std::move(ptr);
5483 _readState.afterSubobject(iprot);
5484
5485 }
5486
5487 if (UNLIKELY(!_readState.advanceToNextField(
5488 iprot,
5489 8,
5490 9,
5491 apache::thrift::protocol::T_STRUCT))) {
5492 goto _loop;
5493 }
5494 _readField_opt_cpp2_unique_ref:
5495 {
5496 _readState.beforeSubobject(iprot);
5497 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::unique_ptr<::some::valid::ns::containerStruct>>();
5498 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::readWithContext(*iprot, *ptr, _readState);
5499 this->opt_cpp2_unique_ref = std::move(ptr);
5500 _readState.afterSubobject(iprot);
5501
5502 }
5503
5504 if (UNLIKELY(!_readState.advanceToNextField(
5505 iprot,
5506 9,
5507 10,
5508 apache::thrift::protocol::T_SET))) {
5509 goto _loop;
5510 }
5511 _readField_opt_container_with_ref:
5512 {
5513 _readState.beforeSubobject(iprot);
5514 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::unique_ptr<::std::set<::std::int32_t>>>();
5515 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::readWithContext(*iprot, *ptr, _readState);
5516 this->opt_container_with_ref = std::move(ptr);
5517 _readState.afterSubobject(iprot);
5518
5519 }
5520
5521 if (UNLIKELY(!_readState.advanceToNextField(
5522 iprot,
5523 10,
5524 11,
5525 apache::thrift::protocol::T_STRUCT))) {
5526 goto _loop;
5527 }
5528 _readField_ref_type_unique:
5529 {
5530 _readState.beforeSubobject(iprot);
5531 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::unique_ptr<::some::valid::ns::containerStruct>>();
5532 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::readWithContext(*iprot, *ptr, _readState);
5533 this->ref_type_unique = std::move(ptr);
5534 _readState.afterSubobject(iprot);
5535
5536 }
5537
5538 if (UNLIKELY(!_readState.advanceToNextField(
5539 iprot,
5540 11,
5541 12,
5542 apache::thrift::protocol::T_STRUCT))) {
5543 goto _loop;
5544 }
5545 _readField_ref_type_shared:
5546 {
5547 _readState.beforeSubobject(iprot);
5548 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::shared_ptr<::some::valid::ns::containerStruct>>();
5549 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::readWithContext(*iprot, *ptr, _readState);
5550 this->ref_type_shared = std::move(ptr);
5551 _readState.afterSubobject(iprot);
5552
5553 }
5554
5555 if (UNLIKELY(!_readState.advanceToNextField(
5556 iprot,
5557 12,
5558 13,
5559 apache::thrift::protocol::T_MAP))) {
5560 goto _loop;
5561 }
5562 _readField_ref_type_const:
5563 {
5564 _readState.beforeSubobject(iprot);
5565 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::shared_ptr<const ::std::map<::std::int32_t, ::std::vector<::std::string>>>>();
5566 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::list<::apache::thrift::type_class::string>>, ::std::map<::std::int32_t, ::std::vector<::std::string>>>::readWithContext(*iprot, *ptr, _readState);
5567 this->ref_type_const = std::move(ptr);
5568 _readState.afterSubobject(iprot);
5569
5570 }
5571
5572 if (UNLIKELY(!_readState.advanceToNextField(
5573 iprot,
5574 13,
5575 14,
5576 apache::thrift::protocol::T_STRUCT))) {
5577 goto _loop;
5578 }
5579 _readField_req_ref_type_shared:
5580 {
5581 _readState.beforeSubobject(iprot);
5582 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::shared_ptr<::some::valid::ns::containerStruct>>();
5583 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::readWithContext(*iprot, *ptr, _readState);
5584 this->req_ref_type_shared = std::move(ptr);
5585 _readState.afterSubobject(iprot);
5586
5587 }
5588
5589 if (UNLIKELY(!_readState.advanceToNextField(
5590 iprot,
5591 14,
5592 15,
5593 apache::thrift::protocol::T_STRUCT))) {
5594 goto _loop;
5595 }
5596 _readField_req_ref_type_const:
5597 {
5598 _readState.beforeSubobject(iprot);
5599 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::shared_ptr<const ::some::valid::ns::containerStruct>>();
5600 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::readWithContext(*iprot, *ptr, _readState);
5601 this->req_ref_type_const = std::move(ptr);
5602 _readState.afterSubobject(iprot);
5603
5604 }
5605
5606 if (UNLIKELY(!_readState.advanceToNextField(
5607 iprot,
5608 15,
5609 16,
5610 apache::thrift::protocol::T_LIST))) {
5611 goto _loop;
5612 }
5613 _readField_req_ref_type_unique:
5614 {
5615 _readState.beforeSubobject(iprot);
5616 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::unique_ptr<::std::vector<::std::string>>>();
5617 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::string>, ::std::vector<::std::string>>::readWithContext(*iprot, *ptr, _readState);
5618 this->req_ref_type_unique = std::move(ptr);
5619 _readState.afterSubobject(iprot);
5620
5621 }
5622
5623 if (UNLIKELY(!_readState.advanceToNextField(
5624 iprot,
5625 16,
5626 17,
5627 apache::thrift::protocol::T_STRUCT))) {
5628 goto _loop;
5629 }
5630 _readField_opt_ref_type_const:
5631 {
5632 _readState.beforeSubobject(iprot);
5633 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::shared_ptr<const ::some::valid::ns::containerStruct>>();
5634 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::readWithContext(*iprot, *ptr, _readState);
5635 this->opt_ref_type_const = std::move(ptr);
5636 _readState.afterSubobject(iprot);
5637
5638 }
5639
5640 if (UNLIKELY(!_readState.advanceToNextField(
5641 iprot,
5642 17,
5643 18,
5644 apache::thrift::protocol::T_STRUCT))) {
5645 goto _loop;
5646 }
5647 _readField_opt_ref_type_unique:
5648 {
5649 _readState.beforeSubobject(iprot);
5650 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::unique_ptr<::some::valid::ns::containerStruct>>();
5651 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::readWithContext(*iprot, *ptr, _readState);
5652 this->opt_ref_type_unique = std::move(ptr);
5653 _readState.afterSubobject(iprot);
5654
5655 }
5656
5657 if (UNLIKELY(!_readState.advanceToNextField(
5658 iprot,
5659 18,
5660 19,
5661 apache::thrift::protocol::T_SET))) {
5662 goto _loop;
5663 }
5664 _readField_opt_ref_type_shared:
5665 {
5666 _readState.beforeSubobject(iprot);
5667 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::shared_ptr<::std::set<::std::int32_t>>>();
5668 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::readWithContext(*iprot, *ptr, _readState);
5669 this->opt_ref_type_shared = std::move(ptr);
5670 _readState.afterSubobject(iprot);
5671
5672 }
5673
5674 if (UNLIKELY(!_readState.advanceToNextField(
5675 iprot,
5676 19,
5677 20,
5678 apache::thrift::protocol::T_I32))) {
5679 goto _loop;
5680 }
5681 _readField_base_type:
5682 {
5683 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::some::valid::ns::CppFakeI32>::readWithContext(*iprot, this->base_type, _readState);
5684
5685 }
5686 this->__isset.set(1, true);
5687
5688 if (UNLIKELY(!_readState.advanceToNextField(
5689 iprot,
5690 20,
5691 21,
5692 apache::thrift::protocol::T_LIST))) {
5693 goto _loop;
5694 }
5695 _readField_list_type:
5696 {
5697 _readState.beforeSubobject(iprot);
5698 this->list_type = ::some::valid::ns::FollySmallVectorI64();
5699 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::some::valid::ns::FollySmallVectorI64>::readWithContext(*iprot, this->list_type, _readState);
5700 _readState.afterSubobject(iprot);
5701
5702 }
5703 this->__isset.set(2, true);
5704
5705 if (UNLIKELY(!_readState.advanceToNextField(
5706 iprot,
5707 21,
5708 22,
5709 apache::thrift::protocol::T_SET))) {
5710 goto _loop;
5711 }
5712 _readField_set_type:
5713 {
5714 _readState.beforeSubobject(iprot);
5715 this->set_type = ::some::valid::ns::SortedVectorSetString();
5716 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::string>, ::some::valid::ns::SortedVectorSetString>::readWithContext(*iprot, this->set_type, _readState);
5717 _readState.afterSubobject(iprot);
5718
5719 }
5720 this->__isset.set(3, true);
5721
5722 if (UNLIKELY(!_readState.advanceToNextField(
5723 iprot,
5724 22,
5725 23,
5726 apache::thrift::protocol::T_MAP))) {
5727 goto _loop;
5728 }
5729 _readField_map_type:
5730 {
5731 _readState.beforeSubobject(iprot);
5732 this->map_type = ::some::valid::ns::FakeMap();
5733 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::floating_point>, ::some::valid::ns::FakeMap>::readWithContext(*iprot, this->map_type, _readState);
5734 _readState.afterSubobject(iprot);
5735
5736 }
5737 this->__isset.set(4, true);
5738
5739 if (UNLIKELY(!_readState.advanceToNextField(
5740 iprot,
5741 23,
5742 24,
5743 apache::thrift::protocol::T_MAP))) {
5744 goto _loop;
5745 }
5746 _readField_map_struct_type:
5747 {
5748 _readState.beforeSubobject(iprot);
5749 this->map_struct_type = ::some::valid::ns::UnorderedMapStruct();
5750 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::structure>, ::some::valid::ns::UnorderedMapStruct>::readWithContext(*iprot, this->map_struct_type, _readState);
5751 _readState.afterSubobject(iprot);
5752
5753 }
5754 this->__isset.set(5, true);
5755
5756 if (UNLIKELY(!_readState.advanceToNextField(
5757 iprot,
5758 24,
5759 25,
5760 apache::thrift::protocol::T_STRING))) {
5761 goto _loop;
5762 }
5763 _readField_iobuf_type:
5764 {
5765 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::some::valid::ns::IOBuf>::readWithContext(*iprot, this->iobuf_type, _readState);
5766
5767 }
5768 this->__isset.set(6, true);
5769
5770 if (UNLIKELY(!_readState.advanceToNextField(
5771 iprot,
5772 25,
5773 26,
5774 apache::thrift::protocol::T_STRING))) {
5775 goto _loop;
5776 }
5777 _readField_iobuf_ptr:
5778 {
5779 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::some::valid::ns::IOBufPtr>::readWithContext(*iprot, this->iobuf_ptr, _readState);
5780
5781 }
5782 this->__isset.set(7, true);
5783
5784 if (UNLIKELY(!_readState.advanceToNextField(
5785 iprot,
5786 26,
5787 27,
5788 apache::thrift::protocol::T_LIST))) {
5789 goto _loop;
5790 }
5791 _readField_list_i32_template:
5792 {
5793 _readState.beforeSubobject(iprot);
5794 this->list_i32_template = std::list<::std::int32_t>();
5795 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, std::list<::std::int32_t>>::readWithContext(*iprot, this->list_i32_template, _readState);
5796 _readState.afterSubobject(iprot);
5797
5798 }
5799 this->__isset.set(8, true);
5800
5801 if (UNLIKELY(!_readState.advanceToNextField(
5802 iprot,
5803 27,
5804 28,
5805 apache::thrift::protocol::T_LIST))) {
5806 goto _loop;
5807 }
5808 _readField_list_string_template:
5809 {
5810 _readState.beforeSubobject(iprot);
5811 this->list_string_template = std::deque<::std::string>();
5812 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::string>, std::deque<::std::string>>::readWithContext(*iprot, this->list_string_template, _readState);
5813 _readState.afterSubobject(iprot);
5814
5815 }
5816 this->__isset.set(9, true);
5817
5818 if (UNLIKELY(!_readState.advanceToNextField(
5819 iprot,
5820 28,
5821 29,
5822 apache::thrift::protocol::T_SET))) {
5823 goto _loop;
5824 }
5825 _readField_set_template:
5826 {
5827 _readState.beforeSubobject(iprot);
5828 this->set_template = folly::sorted_vector_set<::std::string>();
5829 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::string>, folly::sorted_vector_set<::std::string>>::readWithContext(*iprot, this->set_template, _readState);
5830 _readState.afterSubobject(iprot);
5831
5832 }
5833 this->__isset.set(10, true);
5834
5835 if (UNLIKELY(!_readState.advanceToNextField(
5836 iprot,
5837 29,
5838 30,
5839 apache::thrift::protocol::T_MAP))) {
5840 goto _loop;
5841 }
5842 _readField_map_template:
5843 {
5844 _readState.beforeSubobject(iprot);
5845 this->map_template = folly::sorted_vector_map<::std::int64_t, ::std::string>();
5846 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::string>, folly::sorted_vector_map<::std::int64_t, ::std::string>>::readWithContext(*iprot, this->map_template, _readState);
5847 _readState.afterSubobject(iprot);
5848
5849 }
5850 this->__isset.set(11, true);
5851
5852 if (UNLIKELY(!_readState.advanceToNextField(
5853 iprot,
5854 30,
5855 31,
5856 apache::thrift::protocol::T_LIST))) {
5857 goto _loop;
5858 }
5859 _readField_typedef_list_template:
5860 {
5861 _readState.beforeSubobject(iprot);
5862 this->typedef_list_template = ::some::valid::ns::std_list();
5863 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::some::valid::ns::std_list>::readWithContext(*iprot, this->typedef_list_template, _readState);
5864 _readState.afterSubobject(iprot);
5865
5866 }
5867 this->__isset.set(12, true);
5868
5869 if (UNLIKELY(!_readState.advanceToNextField(
5870 iprot,
5871 31,
5872 32,
5873 apache::thrift::protocol::T_LIST))) {
5874 goto _loop;
5875 }
5876 _readField_typedef_deque_template:
5877 {
5878 _readState.beforeSubobject(iprot);
5879 this->typedef_deque_template = ::some::valid::ns::std_deque();
5880 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::string>, ::some::valid::ns::std_deque>::readWithContext(*iprot, this->typedef_deque_template, _readState);
5881 _readState.afterSubobject(iprot);
5882
5883 }
5884 this->__isset.set(13, true);
5885
5886 if (UNLIKELY(!_readState.advanceToNextField(
5887 iprot,
5888 32,
5889 33,
5890 apache::thrift::protocol::T_SET))) {
5891 goto _loop;
5892 }
5893 _readField_typedef_set_template:
5894 {
5895 _readState.beforeSubobject(iprot);
5896 this->typedef_set_template = ::some::valid::ns::folly_set();
5897 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::string>, ::some::valid::ns::folly_set>::readWithContext(*iprot, this->typedef_set_template, _readState);
5898 _readState.afterSubobject(iprot);
5899
5900 }
5901 this->__isset.set(14, true);
5902
5903 if (UNLIKELY(!_readState.advanceToNextField(
5904 iprot,
5905 33,
5906 34,
5907 apache::thrift::protocol::T_MAP))) {
5908 goto _loop;
5909 }
5910 _readField_typedef_map_template:
5911 {
5912 _readState.beforeSubobject(iprot);
5913 this->typedef_map_template = ::some::valid::ns::folly_map();
5914 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::string>, ::some::valid::ns::folly_map>::readWithContext(*iprot, this->typedef_map_template, _readState);
5915 _readState.afterSubobject(iprot);
5916
5917 }
5918 this->__isset.set(15, true);
5919
5920 if (UNLIKELY(!_readState.advanceToNextField(
5921 iprot,
5922 34,
5923 35,
5924 apache::thrift::protocol::T_I64))) {
5925 goto _loop;
5926 }
5927 _readField_indirection_a:
5928 {
5929 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::integral, ::apache::thrift::detail::apply_indirection_fn>, ::some::valid::ns::IndirectionA>::readWithContext(*iprot, this->indirection_a, _readState);
5930
5931 }
5932 this->__isset.set(16, true);
5933
5934 if (UNLIKELY(!_readState.advanceToNextField(
5935 iprot,
5936 35,
5937 36,
5938 apache::thrift::protocol::T_LIST))) {
5939 goto _loop;
5940 }
5941 _readField_indirection_b:
5942 {
5943 _readState.beforeSubobject(iprot);
5944 this->indirection_b = ::std::vector<::some::valid::ns::IndirectionB>();
5945 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::floating_point, ::apache::thrift::detail::apply_indirection_fn>>, ::std::vector<::some::valid::ns::IndirectionB>>::readWithContext(*iprot, this->indirection_b, _readState);
5946 _readState.afterSubobject(iprot);
5947
5948 }
5949 this->__isset.set(17, true);
5950
5951 if (UNLIKELY(!_readState.advanceToNextField(
5952 iprot,
5953 36,
5954 37,
5955 apache::thrift::protocol::T_SET))) {
5956 goto _loop;
5957 }
5958 _readField_indirection_c:
5959 {
5960 _readState.beforeSubobject(iprot);
5961 this->indirection_c = ::std::set<::some::valid::ns::IndirectionC>();
5962 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::integral, ::apache::thrift::detail::apply_indirection_fn>>, ::std::set<::some::valid::ns::IndirectionC>>::readWithContext(*iprot, this->indirection_c, _readState);
5963 _readState.afterSubobject(iprot);
5964
5965 }
5966 this->__isset.set(18, true);
5967
5968 if (UNLIKELY(!_readState.advanceToNextField(
5969 iprot,
5970 37,
5971 38,
5972 apache::thrift::protocol::T_STRING))) {
5973 goto _loop;
5974 }
5975 _readField_iobuf_type_val:
5976 {
5977 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::some::valid::ns::IOBuf>::readWithContext(*iprot, this->iobuf_type_val, _readState);
5978
5979 }
5980 this->__isset.set(19, true);
5981
5982 if (UNLIKELY(!_readState.advanceToNextField(
5983 iprot,
5984 38,
5985 39,
5986 apache::thrift::protocol::T_STRING))) {
5987 goto _loop;
5988 }
5989 _readField_iobuf_ptr_val:
5990 {
5991 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::some::valid::ns::IOBufPtr>::readWithContext(*iprot, this->iobuf_ptr_val, _readState);
5992
5993 }
5994 this->__isset.set(20, true);
5995
5996 if (UNLIKELY(!_readState.advanceToNextField(
5997 iprot,
5998 39,
5999 40,
6000 apache::thrift::protocol::T_STRUCT))) {
6001 goto _loop;
6002 }
6003 _readField_struct_struct:
6004 {
6005 _readState.beforeSubobject(iprot);
6006 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::readWithContext(*iprot, this->struct_struct, _readState);
6007 _readState.afterSubobject(iprot);
6008
6009 }
6010 this->__isset.set(21, true);
6011
6012 if (UNLIKELY(!_readState.advanceToNextField(
6013 iprot,
6014 40,
6015 0,
6016 apache::thrift::protocol::T_STOP))) {
6017 goto _loop;
6018 }
6019
6020 _end:
6021 _readState.readStructEnd(iprot);
6022
6023 return;
6024
6025 _loop:
6026 _readState.afterAdvanceFailure(iprot);
6027 if (_readState.atStop()) {
6028 goto _end;
6029 }
6030 if (iprot->kUsesFieldNames()) {
6031 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<AnnotatedStruct>>();
6032 }
6033
6034 switch (_readState.fieldId) {
6035 case 1:
6036 {
6037 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
6038 goto _readField_no_annotation;
6039 } else {
6040 goto _skip;
6041 }
6042 }
6043 case 2:
6044 {
6045 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
6046 goto _readField_cpp_unique_ref;
6047 } else {
6048 goto _skip;
6049 }
6050 }
6051 case 3:
6052 {
6053 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
6054 goto _readField_cpp2_unique_ref;
6055 } else {
6056 goto _skip;
6057 }
6058 }
6059 case 4:
6060 {
6061 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
6062 goto _readField_container_with_ref;
6063 } else {
6064 goto _skip;
6065 }
6066 }
6067 case 5:
6068 {
6069 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
6070 goto _readField_req_cpp_unique_ref;
6071 } else {
6072 goto _skip;
6073 }
6074 }
6075 case 6:
6076 {
6077 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
6078 goto _readField_req_cpp2_unique_ref;
6079 } else {
6080 goto _skip;
6081 }
6082 }
6083 case 7:
6084 {
6085 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
6086 goto _readField_req_container_with_ref;
6087 } else {
6088 goto _skip;
6089 }
6090 }
6091 case 8:
6092 {
6093 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
6094 goto _readField_opt_cpp_unique_ref;
6095 } else {
6096 goto _skip;
6097 }
6098 }
6099 case 9:
6100 {
6101 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
6102 goto _readField_opt_cpp2_unique_ref;
6103 } else {
6104 goto _skip;
6105 }
6106 }
6107 case 10:
6108 {
6109 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
6110 goto _readField_opt_container_with_ref;
6111 } else {
6112 goto _skip;
6113 }
6114 }
6115 case 11:
6116 {
6117 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
6118 goto _readField_ref_type_unique;
6119 } else {
6120 goto _skip;
6121 }
6122 }
6123 case 12:
6124 {
6125 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
6126 goto _readField_ref_type_shared;
6127 } else {
6128 goto _skip;
6129 }
6130 }
6131 case 13:
6132 {
6133 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
6134 goto _readField_ref_type_const;
6135 } else {
6136 goto _skip;
6137 }
6138 }
6139 case 14:
6140 {
6141 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
6142 goto _readField_req_ref_type_shared;
6143 } else {
6144 goto _skip;
6145 }
6146 }
6147 case 15:
6148 {
6149 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
6150 goto _readField_req_ref_type_const;
6151 } else {
6152 goto _skip;
6153 }
6154 }
6155 case 16:
6156 {
6157 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
6158 goto _readField_req_ref_type_unique;
6159 } else {
6160 goto _skip;
6161 }
6162 }
6163 case 17:
6164 {
6165 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
6166 goto _readField_opt_ref_type_const;
6167 } else {
6168 goto _skip;
6169 }
6170 }
6171 case 18:
6172 {
6173 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
6174 goto _readField_opt_ref_type_unique;
6175 } else {
6176 goto _skip;
6177 }
6178 }
6179 case 19:
6180 {
6181 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
6182 goto _readField_opt_ref_type_shared;
6183 } else {
6184 goto _skip;
6185 }
6186 }
6187 case 20:
6188 {
6189 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
6190 goto _readField_base_type;
6191 } else {
6192 goto _skip;
6193 }
6194 }
6195 case 21:
6196 {
6197 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
6198 goto _readField_list_type;
6199 } else {
6200 goto _skip;
6201 }
6202 }
6203 case 22:
6204 {
6205 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
6206 goto _readField_set_type;
6207 } else {
6208 goto _skip;
6209 }
6210 }
6211 case 23:
6212 {
6213 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
6214 goto _readField_map_type;
6215 } else {
6216 goto _skip;
6217 }
6218 }
6219 case 24:
6220 {
6221 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
6222 goto _readField_map_struct_type;
6223 } else {
6224 goto _skip;
6225 }
6226 }
6227 case 25:
6228 {
6229 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
6230 goto _readField_iobuf_type;
6231 } else {
6232 goto _skip;
6233 }
6234 }
6235 case 26:
6236 {
6237 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
6238 goto _readField_iobuf_ptr;
6239 } else {
6240 goto _skip;
6241 }
6242 }
6243 case 27:
6244 {
6245 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
6246 goto _readField_list_i32_template;
6247 } else {
6248 goto _skip;
6249 }
6250 }
6251 case 28:
6252 {
6253 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
6254 goto _readField_list_string_template;
6255 } else {
6256 goto _skip;
6257 }
6258 }
6259 case 29:
6260 {
6261 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
6262 goto _readField_set_template;
6263 } else {
6264 goto _skip;
6265 }
6266 }
6267 case 30:
6268 {
6269 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
6270 goto _readField_map_template;
6271 } else {
6272 goto _skip;
6273 }
6274 }
6275 case 31:
6276 {
6277 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
6278 goto _readField_typedef_list_template;
6279 } else {
6280 goto _skip;
6281 }
6282 }
6283 case 32:
6284 {
6285 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
6286 goto _readField_typedef_deque_template;
6287 } else {
6288 goto _skip;
6289 }
6290 }
6291 case 33:
6292 {
6293 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
6294 goto _readField_typedef_set_template;
6295 } else {
6296 goto _skip;
6297 }
6298 }
6299 case 34:
6300 {
6301 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
6302 goto _readField_typedef_map_template;
6303 } else {
6304 goto _skip;
6305 }
6306 }
6307 case 35:
6308 {
6309 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
6310 goto _readField_indirection_a;
6311 } else {
6312 goto _skip;
6313 }
6314 }
6315 case 36:
6316 {
6317 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
6318 goto _readField_indirection_b;
6319 } else {
6320 goto _skip;
6321 }
6322 }
6323 case 37:
6324 {
6325 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
6326 goto _readField_indirection_c;
6327 } else {
6328 goto _skip;
6329 }
6330 }
6331 case 38:
6332 {
6333 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
6334 goto _readField_iobuf_type_val;
6335 } else {
6336 goto _skip;
6337 }
6338 }
6339 case 39:
6340 {
6341 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
6342 goto _readField_iobuf_ptr_val;
6343 } else {
6344 goto _skip;
6345 }
6346 }
6347 case 40:
6348 {
6349 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
6350 goto _readField_struct_struct;
6351 } else {
6352 goto _skip;
6353 }
6354 }
6355 default:
6356 {
6357 _skip:
6358 _readState.skip(iprot);
6359 _readState.readFieldEnd(iprot);
6360 _readState.readFieldBeginNoInline(iprot);
6361 goto _loop;
6362 }
6363 }
6364 }
6365
6366 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const6367 uint32_t AnnotatedStruct::serializedSize(Protocol_ const* prot_) const {
6368 uint32_t xfer = 0;
6369 xfer += prot_->serializedStructSize("AnnotatedStruct");
6370 {
6371 xfer += prot_->serializedFieldSize("no_annotation", apache::thrift::protocol::T_STRUCT, 1);
6372 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<false>(*prot_, this->no_annotation);
6373 }
6374 if (this->cpp_unique_ref) {
6375 xfer += prot_->serializedFieldSize("cpp_unique_ref", apache::thrift::protocol::T_STRUCT, 2);
6376 if (this->cpp_unique_ref) {
6377 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<false>(*prot_, *this->cpp_unique_ref);
6378 } else {
6379 xfer += prot_->serializedStructSize("containerStruct");
6380 xfer += prot_->serializedSizeStop();
6381 }
6382 }
6383 if (this->cpp2_unique_ref) {
6384 xfer += prot_->serializedFieldSize("cpp2_unique_ref", apache::thrift::protocol::T_STRUCT, 3);
6385 if (this->cpp2_unique_ref) {
6386 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<false>(*prot_, *this->cpp2_unique_ref);
6387 } else {
6388 xfer += prot_->serializedStructSize("containerStruct");
6389 xfer += prot_->serializedSizeStop();
6390 }
6391 }
6392 if (this->container_with_ref && !this->container_with_ref->empty()) {
6393 xfer += prot_->serializedFieldSize("container_with_ref", apache::thrift::protocol::T_MAP, 4);
6394 if (this->container_with_ref) {
6395 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::list<::apache::thrift::type_class::string>>, ::std::map<::std::int32_t, ::std::vector<::std::string>>>::serializedSize<false>(*prot_, *this->container_with_ref);
6396 } else {
6397 xfer += prot_->serializedSizeMapBegin(apache::thrift::protocol::T_I32, apache::thrift::protocol::T_LIST, 0);
6398 xfer += prot_->serializedSizeMapEnd();
6399 }
6400 }
6401 {
6402 xfer += prot_->serializedFieldSize("req_cpp_unique_ref", apache::thrift::protocol::T_STRUCT, 5);
6403 if (this->req_cpp_unique_ref) {
6404 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<false>(*prot_, *this->req_cpp_unique_ref);
6405 } else {
6406 xfer += prot_->serializedStructSize("containerStruct");
6407 xfer += prot_->serializedSizeStop();
6408 }
6409 }
6410 {
6411 xfer += prot_->serializedFieldSize("req_cpp2_unique_ref", apache::thrift::protocol::T_STRUCT, 6);
6412 if (this->req_cpp2_unique_ref) {
6413 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<false>(*prot_, *this->req_cpp2_unique_ref);
6414 } else {
6415 xfer += prot_->serializedStructSize("containerStruct");
6416 xfer += prot_->serializedSizeStop();
6417 }
6418 }
6419 {
6420 xfer += prot_->serializedFieldSize("req_container_with_ref", apache::thrift::protocol::T_LIST, 7);
6421 if (this->req_container_with_ref) {
6422 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::string>, ::std::vector<::std::string>>::serializedSize<false>(*prot_, *this->req_container_with_ref);
6423 } else {
6424 xfer += prot_->serializedSizeListBegin(apache::thrift::protocol::T_STRING, 0);
6425 xfer += prot_->serializedSizeListEnd();
6426 }
6427 }
6428 if (this->opt_cpp_unique_ref) {
6429 xfer += prot_->serializedFieldSize("opt_cpp_unique_ref", apache::thrift::protocol::T_STRUCT, 8);
6430 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<false>(*prot_, *this->opt_cpp_unique_ref);
6431 }
6432 if (this->opt_cpp2_unique_ref) {
6433 xfer += prot_->serializedFieldSize("opt_cpp2_unique_ref", apache::thrift::protocol::T_STRUCT, 9);
6434 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<false>(*prot_, *this->opt_cpp2_unique_ref);
6435 }
6436 if (this->opt_container_with_ref) {
6437 xfer += prot_->serializedFieldSize("opt_container_with_ref", apache::thrift::protocol::T_SET, 10);
6438 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::serializedSize<false>(*prot_, *this->opt_container_with_ref);
6439 }
6440 if (this->ref_type_unique) {
6441 xfer += prot_->serializedFieldSize("ref_type_unique", apache::thrift::protocol::T_STRUCT, 11);
6442 if (this->ref_type_unique) {
6443 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<false>(*prot_, *this->ref_type_unique);
6444 } else {
6445 xfer += prot_->serializedStructSize("containerStruct");
6446 xfer += prot_->serializedSizeStop();
6447 }
6448 }
6449 {
6450 xfer += prot_->serializedFieldSize("ref_type_shared", apache::thrift::protocol::T_STRUCT, 12);
6451 if (this->ref_type_shared) {
6452 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<false>(*prot_, *this->ref_type_shared);
6453 } else {
6454 xfer += prot_->serializedStructSize("containerStruct");
6455 xfer += prot_->serializedSizeStop();
6456 }
6457 }
6458 if (this->ref_type_const && !this->ref_type_const->empty()) {
6459 xfer += prot_->serializedFieldSize("ref_type_const", apache::thrift::protocol::T_MAP, 13);
6460 if (this->ref_type_const) {
6461 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::list<::apache::thrift::type_class::string>>, ::std::map<::std::int32_t, ::std::vector<::std::string>>>::serializedSize<false>(*prot_, *this->ref_type_const);
6462 } else {
6463 xfer += prot_->serializedSizeMapBegin(apache::thrift::protocol::T_I32, apache::thrift::protocol::T_LIST, 0);
6464 xfer += prot_->serializedSizeMapEnd();
6465 }
6466 }
6467 {
6468 xfer += prot_->serializedFieldSize("req_ref_type_shared", apache::thrift::protocol::T_STRUCT, 14);
6469 if (this->req_ref_type_shared) {
6470 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<false>(*prot_, *this->req_ref_type_shared);
6471 } else {
6472 xfer += prot_->serializedStructSize("containerStruct");
6473 xfer += prot_->serializedSizeStop();
6474 }
6475 }
6476 {
6477 xfer += prot_->serializedFieldSize("req_ref_type_const", apache::thrift::protocol::T_STRUCT, 15);
6478 if (this->req_ref_type_const) {
6479 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<false>(*prot_, *this->req_ref_type_const);
6480 } else {
6481 xfer += prot_->serializedStructSize("containerStruct");
6482 xfer += prot_->serializedSizeStop();
6483 }
6484 }
6485 {
6486 xfer += prot_->serializedFieldSize("req_ref_type_unique", apache::thrift::protocol::T_LIST, 16);
6487 if (this->req_ref_type_unique) {
6488 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::string>, ::std::vector<::std::string>>::serializedSize<false>(*prot_, *this->req_ref_type_unique);
6489 } else {
6490 xfer += prot_->serializedSizeListBegin(apache::thrift::protocol::T_STRING, 0);
6491 xfer += prot_->serializedSizeListEnd();
6492 }
6493 }
6494 if (this->opt_ref_type_const) {
6495 xfer += prot_->serializedFieldSize("opt_ref_type_const", apache::thrift::protocol::T_STRUCT, 17);
6496 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<false>(*prot_, *this->opt_ref_type_const);
6497 }
6498 if (this->opt_ref_type_unique) {
6499 xfer += prot_->serializedFieldSize("opt_ref_type_unique", apache::thrift::protocol::T_STRUCT, 18);
6500 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<false>(*prot_, *this->opt_ref_type_unique);
6501 }
6502 if (this->opt_ref_type_shared) {
6503 xfer += prot_->serializedFieldSize("opt_ref_type_shared", apache::thrift::protocol::T_SET, 19);
6504 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::serializedSize<false>(*prot_, *this->opt_ref_type_shared);
6505 }
6506 if (this->base_type != ::some::valid::ns::CppFakeI32()) {
6507 xfer += prot_->serializedFieldSize("base_type", apache::thrift::protocol::T_I32, 20);
6508 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::some::valid::ns::CppFakeI32>::serializedSize<false>(*prot_, this->base_type);
6509 }
6510 if (!this->list_type.empty()) {
6511 xfer += prot_->serializedFieldSize("list_type", apache::thrift::protocol::T_LIST, 21);
6512 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::some::valid::ns::FollySmallVectorI64>::serializedSize<false>(*prot_, this->list_type);
6513 }
6514 if (!this->set_type.empty()) {
6515 xfer += prot_->serializedFieldSize("set_type", apache::thrift::protocol::T_SET, 22);
6516 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::string>, ::some::valid::ns::SortedVectorSetString>::serializedSize<false>(*prot_, this->set_type);
6517 }
6518 if (!this->map_type.empty()) {
6519 xfer += prot_->serializedFieldSize("map_type", apache::thrift::protocol::T_MAP, 23);
6520 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::floating_point>, ::some::valid::ns::FakeMap>::serializedSize<false>(*prot_, this->map_type);
6521 }
6522 if (!this->map_struct_type.empty()) {
6523 xfer += prot_->serializedFieldSize("map_struct_type", apache::thrift::protocol::T_MAP, 24);
6524 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::structure>, ::some::valid::ns::UnorderedMapStruct>::serializedSize<false>(*prot_, this->map_struct_type);
6525 }
6526 if (!apache::thrift::StringTraits<folly::IOBuf>::isEmpty(this->iobuf_type)) {
6527 xfer += prot_->serializedFieldSize("iobuf_type", apache::thrift::protocol::T_STRING, 25);
6528 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::some::valid::ns::IOBuf>::serializedSize<false>(*prot_, this->iobuf_type);
6529 }
6530 if (!apache::thrift::StringTraits<std::unique_ptr<folly::IOBuf>>::isEmpty(this->iobuf_ptr)) {
6531 xfer += prot_->serializedFieldSize("iobuf_ptr", apache::thrift::protocol::T_STRING, 26);
6532 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::some::valid::ns::IOBufPtr>::serializedSize<false>(*prot_, this->iobuf_ptr);
6533 }
6534 if (!this->list_i32_template.empty()) {
6535 xfer += prot_->serializedFieldSize("list_i32_template", apache::thrift::protocol::T_LIST, 27);
6536 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, std::list<::std::int32_t>>::serializedSize<false>(*prot_, this->list_i32_template);
6537 }
6538 if (!this->list_string_template.empty()) {
6539 xfer += prot_->serializedFieldSize("list_string_template", apache::thrift::protocol::T_LIST, 28);
6540 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::string>, std::deque<::std::string>>::serializedSize<false>(*prot_, this->list_string_template);
6541 }
6542 if (!this->set_template.empty()) {
6543 xfer += prot_->serializedFieldSize("set_template", apache::thrift::protocol::T_SET, 29);
6544 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::string>, folly::sorted_vector_set<::std::string>>::serializedSize<false>(*prot_, this->set_template);
6545 }
6546 if (!this->map_template.empty()) {
6547 xfer += prot_->serializedFieldSize("map_template", apache::thrift::protocol::T_MAP, 30);
6548 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::string>, folly::sorted_vector_map<::std::int64_t, ::std::string>>::serializedSize<false>(*prot_, this->map_template);
6549 }
6550 if (!this->typedef_list_template.empty()) {
6551 xfer += prot_->serializedFieldSize("typedef_list_template", apache::thrift::protocol::T_LIST, 31);
6552 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::some::valid::ns::std_list>::serializedSize<false>(*prot_, this->typedef_list_template);
6553 }
6554 if (!this->typedef_deque_template.empty()) {
6555 xfer += prot_->serializedFieldSize("typedef_deque_template", apache::thrift::protocol::T_LIST, 32);
6556 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::string>, ::some::valid::ns::std_deque>::serializedSize<false>(*prot_, this->typedef_deque_template);
6557 }
6558 if (!this->typedef_set_template.empty()) {
6559 xfer += prot_->serializedFieldSize("typedef_set_template", apache::thrift::protocol::T_SET, 33);
6560 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::string>, ::some::valid::ns::folly_set>::serializedSize<false>(*prot_, this->typedef_set_template);
6561 }
6562 if (!this->typedef_map_template.empty()) {
6563 xfer += prot_->serializedFieldSize("typedef_map_template", apache::thrift::protocol::T_MAP, 34);
6564 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::string>, ::some::valid::ns::folly_map>::serializedSize<false>(*prot_, this->typedef_map_template);
6565 }
6566 if (::apache::thrift::apply_indirection(this->indirection_a) != 0) {
6567 xfer += prot_->serializedFieldSize("indirection_a", apache::thrift::protocol::T_I64, 35);
6568 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::integral, ::apache::thrift::detail::apply_indirection_fn>, ::some::valid::ns::IndirectionA>::serializedSize<false>(*prot_, this->indirection_a);
6569 }
6570 if (!this->indirection_b.empty()) {
6571 xfer += prot_->serializedFieldSize("indirection_b", apache::thrift::protocol::T_LIST, 36);
6572 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::floating_point, ::apache::thrift::detail::apply_indirection_fn>>, ::std::vector<::some::valid::ns::IndirectionB>>::serializedSize<false>(*prot_, this->indirection_b);
6573 }
6574 if (!this->indirection_c.empty()) {
6575 xfer += prot_->serializedFieldSize("indirection_c", apache::thrift::protocol::T_SET, 37);
6576 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::integral, ::apache::thrift::detail::apply_indirection_fn>>, ::std::set<::some::valid::ns::IndirectionC>>::serializedSize<false>(*prot_, this->indirection_c);
6577 }
6578 if (!apache::thrift::StringTraits<folly::IOBuf>::isEmpty(this->iobuf_type_val)) {
6579 xfer += prot_->serializedFieldSize("iobuf_type_val", apache::thrift::protocol::T_STRING, 38);
6580 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::some::valid::ns::IOBuf>::serializedSize<false>(*prot_, this->iobuf_type_val);
6581 }
6582 if (!apache::thrift::StringTraits<std::unique_ptr<folly::IOBuf>>::isEmpty(this->iobuf_ptr_val)) {
6583 xfer += prot_->serializedFieldSize("iobuf_ptr_val", apache::thrift::protocol::T_STRING, 39);
6584 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::some::valid::ns::IOBufPtr>::serializedSize<false>(*prot_, this->iobuf_ptr_val);
6585 }
6586 {
6587 xfer += prot_->serializedFieldSize("struct_struct", apache::thrift::protocol::T_STRUCT, 40);
6588 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<false>(*prot_, this->struct_struct);
6589 }
6590 xfer += prot_->serializedSizeStop();
6591 return xfer;
6592 }
6593
6594 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const6595 uint32_t AnnotatedStruct::serializedSizeZC(Protocol_ const* prot_) const {
6596 uint32_t xfer = 0;
6597 xfer += prot_->serializedStructSize("AnnotatedStruct");
6598 {
6599 xfer += prot_->serializedFieldSize("no_annotation", apache::thrift::protocol::T_STRUCT, 1);
6600 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<true>(*prot_, this->no_annotation);
6601 }
6602 if (this->cpp_unique_ref) {
6603 xfer += prot_->serializedFieldSize("cpp_unique_ref", apache::thrift::protocol::T_STRUCT, 2);
6604 if (this->cpp_unique_ref) {
6605 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<true>(*prot_, *this->cpp_unique_ref);
6606 } else {
6607 xfer += prot_->serializedStructSize("containerStruct");
6608 xfer += prot_->serializedSizeStop();
6609 }
6610 }
6611 if (this->cpp2_unique_ref) {
6612 xfer += prot_->serializedFieldSize("cpp2_unique_ref", apache::thrift::protocol::T_STRUCT, 3);
6613 if (this->cpp2_unique_ref) {
6614 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<true>(*prot_, *this->cpp2_unique_ref);
6615 } else {
6616 xfer += prot_->serializedStructSize("containerStruct");
6617 xfer += prot_->serializedSizeStop();
6618 }
6619 }
6620 if (this->container_with_ref && !this->container_with_ref->empty()) {
6621 xfer += prot_->serializedFieldSize("container_with_ref", apache::thrift::protocol::T_MAP, 4);
6622 if (this->container_with_ref) {
6623 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::list<::apache::thrift::type_class::string>>, ::std::map<::std::int32_t, ::std::vector<::std::string>>>::serializedSize<false>(*prot_, *this->container_with_ref);
6624 } else {
6625 xfer += prot_->serializedSizeMapBegin(apache::thrift::protocol::T_I32, apache::thrift::protocol::T_LIST, 0);
6626 xfer += prot_->serializedSizeMapEnd();
6627 }
6628 }
6629 {
6630 xfer += prot_->serializedFieldSize("req_cpp_unique_ref", apache::thrift::protocol::T_STRUCT, 5);
6631 if (this->req_cpp_unique_ref) {
6632 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<true>(*prot_, *this->req_cpp_unique_ref);
6633 } else {
6634 xfer += prot_->serializedStructSize("containerStruct");
6635 xfer += prot_->serializedSizeStop();
6636 }
6637 }
6638 {
6639 xfer += prot_->serializedFieldSize("req_cpp2_unique_ref", apache::thrift::protocol::T_STRUCT, 6);
6640 if (this->req_cpp2_unique_ref) {
6641 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<true>(*prot_, *this->req_cpp2_unique_ref);
6642 } else {
6643 xfer += prot_->serializedStructSize("containerStruct");
6644 xfer += prot_->serializedSizeStop();
6645 }
6646 }
6647 {
6648 xfer += prot_->serializedFieldSize("req_container_with_ref", apache::thrift::protocol::T_LIST, 7);
6649 if (this->req_container_with_ref) {
6650 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::string>, ::std::vector<::std::string>>::serializedSize<false>(*prot_, *this->req_container_with_ref);
6651 } else {
6652 xfer += prot_->serializedSizeListBegin(apache::thrift::protocol::T_STRING, 0);
6653 xfer += prot_->serializedSizeListEnd();
6654 }
6655 }
6656 if (this->opt_cpp_unique_ref) {
6657 xfer += prot_->serializedFieldSize("opt_cpp_unique_ref", apache::thrift::protocol::T_STRUCT, 8);
6658 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<true>(*prot_, *this->opt_cpp_unique_ref);
6659 }
6660 if (this->opt_cpp2_unique_ref) {
6661 xfer += prot_->serializedFieldSize("opt_cpp2_unique_ref", apache::thrift::protocol::T_STRUCT, 9);
6662 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<true>(*prot_, *this->opt_cpp2_unique_ref);
6663 }
6664 if (this->opt_container_with_ref) {
6665 xfer += prot_->serializedFieldSize("opt_container_with_ref", apache::thrift::protocol::T_SET, 10);
6666 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::serializedSize<false>(*prot_, *this->opt_container_with_ref);
6667 }
6668 if (this->ref_type_unique) {
6669 xfer += prot_->serializedFieldSize("ref_type_unique", apache::thrift::protocol::T_STRUCT, 11);
6670 if (this->ref_type_unique) {
6671 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<true>(*prot_, *this->ref_type_unique);
6672 } else {
6673 xfer += prot_->serializedStructSize("containerStruct");
6674 xfer += prot_->serializedSizeStop();
6675 }
6676 }
6677 {
6678 xfer += prot_->serializedFieldSize("ref_type_shared", apache::thrift::protocol::T_STRUCT, 12);
6679 if (this->ref_type_shared) {
6680 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<true>(*prot_, *this->ref_type_shared);
6681 } else {
6682 xfer += prot_->serializedStructSize("containerStruct");
6683 xfer += prot_->serializedSizeStop();
6684 }
6685 }
6686 if (this->ref_type_const && !this->ref_type_const->empty()) {
6687 xfer += prot_->serializedFieldSize("ref_type_const", apache::thrift::protocol::T_MAP, 13);
6688 if (this->ref_type_const) {
6689 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::list<::apache::thrift::type_class::string>>, ::std::map<::std::int32_t, ::std::vector<::std::string>>>::serializedSize<false>(*prot_, *this->ref_type_const);
6690 } else {
6691 xfer += prot_->serializedSizeMapBegin(apache::thrift::protocol::T_I32, apache::thrift::protocol::T_LIST, 0);
6692 xfer += prot_->serializedSizeMapEnd();
6693 }
6694 }
6695 {
6696 xfer += prot_->serializedFieldSize("req_ref_type_shared", apache::thrift::protocol::T_STRUCT, 14);
6697 if (this->req_ref_type_shared) {
6698 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<true>(*prot_, *this->req_ref_type_shared);
6699 } else {
6700 xfer += prot_->serializedStructSize("containerStruct");
6701 xfer += prot_->serializedSizeStop();
6702 }
6703 }
6704 {
6705 xfer += prot_->serializedFieldSize("req_ref_type_const", apache::thrift::protocol::T_STRUCT, 15);
6706 if (this->req_ref_type_const) {
6707 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<true>(*prot_, *this->req_ref_type_const);
6708 } else {
6709 xfer += prot_->serializedStructSize("containerStruct");
6710 xfer += prot_->serializedSizeStop();
6711 }
6712 }
6713 {
6714 xfer += prot_->serializedFieldSize("req_ref_type_unique", apache::thrift::protocol::T_LIST, 16);
6715 if (this->req_ref_type_unique) {
6716 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::string>, ::std::vector<::std::string>>::serializedSize<false>(*prot_, *this->req_ref_type_unique);
6717 } else {
6718 xfer += prot_->serializedSizeListBegin(apache::thrift::protocol::T_STRING, 0);
6719 xfer += prot_->serializedSizeListEnd();
6720 }
6721 }
6722 if (this->opt_ref_type_const) {
6723 xfer += prot_->serializedFieldSize("opt_ref_type_const", apache::thrift::protocol::T_STRUCT, 17);
6724 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<true>(*prot_, *this->opt_ref_type_const);
6725 }
6726 if (this->opt_ref_type_unique) {
6727 xfer += prot_->serializedFieldSize("opt_ref_type_unique", apache::thrift::protocol::T_STRUCT, 18);
6728 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<true>(*prot_, *this->opt_ref_type_unique);
6729 }
6730 if (this->opt_ref_type_shared) {
6731 xfer += prot_->serializedFieldSize("opt_ref_type_shared", apache::thrift::protocol::T_SET, 19);
6732 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::serializedSize<false>(*prot_, *this->opt_ref_type_shared);
6733 }
6734 if (this->base_type != ::some::valid::ns::CppFakeI32()) {
6735 xfer += prot_->serializedFieldSize("base_type", apache::thrift::protocol::T_I32, 20);
6736 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::some::valid::ns::CppFakeI32>::serializedSize<false>(*prot_, this->base_type);
6737 }
6738 if (!this->list_type.empty()) {
6739 xfer += prot_->serializedFieldSize("list_type", apache::thrift::protocol::T_LIST, 21);
6740 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::some::valid::ns::FollySmallVectorI64>::serializedSize<false>(*prot_, this->list_type);
6741 }
6742 if (!this->set_type.empty()) {
6743 xfer += prot_->serializedFieldSize("set_type", apache::thrift::protocol::T_SET, 22);
6744 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::string>, ::some::valid::ns::SortedVectorSetString>::serializedSize<false>(*prot_, this->set_type);
6745 }
6746 if (!this->map_type.empty()) {
6747 xfer += prot_->serializedFieldSize("map_type", apache::thrift::protocol::T_MAP, 23);
6748 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::floating_point>, ::some::valid::ns::FakeMap>::serializedSize<false>(*prot_, this->map_type);
6749 }
6750 if (!this->map_struct_type.empty()) {
6751 xfer += prot_->serializedFieldSize("map_struct_type", apache::thrift::protocol::T_MAP, 24);
6752 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::structure>, ::some::valid::ns::UnorderedMapStruct>::serializedSize<false>(*prot_, this->map_struct_type);
6753 }
6754 if (!apache::thrift::StringTraits<folly::IOBuf>::isEmpty(this->iobuf_type)) {
6755 xfer += prot_->serializedFieldSize("iobuf_type", apache::thrift::protocol::T_STRING, 25);
6756 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::some::valid::ns::IOBuf>::serializedSize<true>(*prot_, this->iobuf_type);
6757 }
6758 if (!apache::thrift::StringTraits<std::unique_ptr<folly::IOBuf>>::isEmpty(this->iobuf_ptr)) {
6759 xfer += prot_->serializedFieldSize("iobuf_ptr", apache::thrift::protocol::T_STRING, 26);
6760 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::some::valid::ns::IOBufPtr>::serializedSize<true>(*prot_, this->iobuf_ptr);
6761 }
6762 if (!this->list_i32_template.empty()) {
6763 xfer += prot_->serializedFieldSize("list_i32_template", apache::thrift::protocol::T_LIST, 27);
6764 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, std::list<::std::int32_t>>::serializedSize<false>(*prot_, this->list_i32_template);
6765 }
6766 if (!this->list_string_template.empty()) {
6767 xfer += prot_->serializedFieldSize("list_string_template", apache::thrift::protocol::T_LIST, 28);
6768 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::string>, std::deque<::std::string>>::serializedSize<false>(*prot_, this->list_string_template);
6769 }
6770 if (!this->set_template.empty()) {
6771 xfer += prot_->serializedFieldSize("set_template", apache::thrift::protocol::T_SET, 29);
6772 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::string>, folly::sorted_vector_set<::std::string>>::serializedSize<false>(*prot_, this->set_template);
6773 }
6774 if (!this->map_template.empty()) {
6775 xfer += prot_->serializedFieldSize("map_template", apache::thrift::protocol::T_MAP, 30);
6776 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::string>, folly::sorted_vector_map<::std::int64_t, ::std::string>>::serializedSize<false>(*prot_, this->map_template);
6777 }
6778 if (!this->typedef_list_template.empty()) {
6779 xfer += prot_->serializedFieldSize("typedef_list_template", apache::thrift::protocol::T_LIST, 31);
6780 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::some::valid::ns::std_list>::serializedSize<false>(*prot_, this->typedef_list_template);
6781 }
6782 if (!this->typedef_deque_template.empty()) {
6783 xfer += prot_->serializedFieldSize("typedef_deque_template", apache::thrift::protocol::T_LIST, 32);
6784 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::string>, ::some::valid::ns::std_deque>::serializedSize<false>(*prot_, this->typedef_deque_template);
6785 }
6786 if (!this->typedef_set_template.empty()) {
6787 xfer += prot_->serializedFieldSize("typedef_set_template", apache::thrift::protocol::T_SET, 33);
6788 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::string>, ::some::valid::ns::folly_set>::serializedSize<false>(*prot_, this->typedef_set_template);
6789 }
6790 if (!this->typedef_map_template.empty()) {
6791 xfer += prot_->serializedFieldSize("typedef_map_template", apache::thrift::protocol::T_MAP, 34);
6792 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::string>, ::some::valid::ns::folly_map>::serializedSize<false>(*prot_, this->typedef_map_template);
6793 }
6794 if (::apache::thrift::apply_indirection(this->indirection_a) != 0) {
6795 xfer += prot_->serializedFieldSize("indirection_a", apache::thrift::protocol::T_I64, 35);
6796 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::integral, ::apache::thrift::detail::apply_indirection_fn>, ::some::valid::ns::IndirectionA>::serializedSize<false>(*prot_, this->indirection_a);
6797 }
6798 if (!this->indirection_b.empty()) {
6799 xfer += prot_->serializedFieldSize("indirection_b", apache::thrift::protocol::T_LIST, 36);
6800 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::floating_point, ::apache::thrift::detail::apply_indirection_fn>>, ::std::vector<::some::valid::ns::IndirectionB>>::serializedSize<false>(*prot_, this->indirection_b);
6801 }
6802 if (!this->indirection_c.empty()) {
6803 xfer += prot_->serializedFieldSize("indirection_c", apache::thrift::protocol::T_SET, 37);
6804 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::integral, ::apache::thrift::detail::apply_indirection_fn>>, ::std::set<::some::valid::ns::IndirectionC>>::serializedSize<false>(*prot_, this->indirection_c);
6805 }
6806 if (!apache::thrift::StringTraits<folly::IOBuf>::isEmpty(this->iobuf_type_val)) {
6807 xfer += prot_->serializedFieldSize("iobuf_type_val", apache::thrift::protocol::T_STRING, 38);
6808 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::some::valid::ns::IOBuf>::serializedSize<true>(*prot_, this->iobuf_type_val);
6809 }
6810 if (!apache::thrift::StringTraits<std::unique_ptr<folly::IOBuf>>::isEmpty(this->iobuf_ptr_val)) {
6811 xfer += prot_->serializedFieldSize("iobuf_ptr_val", apache::thrift::protocol::T_STRING, 39);
6812 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::some::valid::ns::IOBufPtr>::serializedSize<true>(*prot_, this->iobuf_ptr_val);
6813 }
6814 {
6815 xfer += prot_->serializedFieldSize("struct_struct", apache::thrift::protocol::T_STRUCT, 40);
6816 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::serializedSize<true>(*prot_, this->struct_struct);
6817 }
6818 xfer += prot_->serializedSizeStop();
6819 return xfer;
6820 }
6821
6822 template <class Protocol_>
write(Protocol_ * prot_) const6823 uint32_t AnnotatedStruct::write(Protocol_* prot_) const {
6824 uint32_t xfer = 0;
6825 xfer += prot_->writeStructBegin("AnnotatedStruct");
6826 bool previousFieldHasValue = true;
6827 {
6828 constexpr int16_t kPrevFieldId = 0;
6829 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 1, kPrevFieldId>(*prot_, "no_annotation", previousFieldHasValue);
6830 previousFieldHasValue = true;
6831 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::write(*prot_, this->no_annotation);
6832 xfer += prot_->writeFieldEnd();
6833 }
6834 if (this->cpp_unique_ref) {
6835 constexpr int16_t kPrevFieldId = 1;
6836 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 2, kPrevFieldId>(*prot_, "cpp_unique_ref", previousFieldHasValue);
6837 previousFieldHasValue = true;
6838 if (this->cpp_unique_ref) {
6839 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::write(*prot_, *this->cpp_unique_ref);
6840 } else {
6841 xfer += prot_->writeStructBegin("containerStruct");
6842 xfer += prot_->writeStructEnd();
6843 xfer += prot_->writeFieldStop();
6844 }
6845 xfer += prot_->writeFieldEnd();
6846 } else {
6847 previousFieldHasValue = false;
6848 }
6849 if (this->cpp2_unique_ref) {
6850 constexpr int16_t kPrevFieldId = 2;
6851 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 3, kPrevFieldId>(*prot_, "cpp2_unique_ref", previousFieldHasValue);
6852 previousFieldHasValue = true;
6853 if (this->cpp2_unique_ref) {
6854 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::write(*prot_, *this->cpp2_unique_ref);
6855 } else {
6856 xfer += prot_->writeStructBegin("containerStruct");
6857 xfer += prot_->writeStructEnd();
6858 xfer += prot_->writeFieldStop();
6859 }
6860 xfer += prot_->writeFieldEnd();
6861 } else {
6862 previousFieldHasValue = false;
6863 }
6864 if (this->container_with_ref && !this->container_with_ref->empty()) {
6865 constexpr int16_t kPrevFieldId = 3;
6866 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 4, kPrevFieldId>(*prot_, "container_with_ref", previousFieldHasValue);
6867 previousFieldHasValue = true;
6868 if (this->container_with_ref) {
6869 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::list<::apache::thrift::type_class::string>>, ::std::map<::std::int32_t, ::std::vector<::std::string>>>::write(*prot_, *this->container_with_ref);
6870 } else {
6871 xfer += prot_->writeMapBegin(apache::thrift::protocol::T_I32, apache::thrift::protocol::T_LIST, 0);
6872 xfer += prot_->writeMapEnd();
6873 }
6874 xfer += prot_->writeFieldEnd();
6875 } else {
6876 previousFieldHasValue = false;
6877 }
6878 {
6879 constexpr int16_t kPrevFieldId = 4;
6880 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 5, kPrevFieldId>(*prot_, "req_cpp_unique_ref", previousFieldHasValue);
6881 previousFieldHasValue = true;
6882 if (this->req_cpp_unique_ref) {
6883 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::write(*prot_, *this->req_cpp_unique_ref);
6884 } else {
6885 xfer += prot_->writeStructBegin("containerStruct");
6886 xfer += prot_->writeStructEnd();
6887 xfer += prot_->writeFieldStop();
6888 }
6889 xfer += prot_->writeFieldEnd();
6890 }
6891 {
6892 constexpr int16_t kPrevFieldId = 5;
6893 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 6, kPrevFieldId>(*prot_, "req_cpp2_unique_ref", previousFieldHasValue);
6894 previousFieldHasValue = true;
6895 if (this->req_cpp2_unique_ref) {
6896 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::write(*prot_, *this->req_cpp2_unique_ref);
6897 } else {
6898 xfer += prot_->writeStructBegin("containerStruct");
6899 xfer += prot_->writeStructEnd();
6900 xfer += prot_->writeFieldStop();
6901 }
6902 xfer += prot_->writeFieldEnd();
6903 }
6904 {
6905 constexpr int16_t kPrevFieldId = 6;
6906 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 7, kPrevFieldId>(*prot_, "req_container_with_ref", previousFieldHasValue);
6907 previousFieldHasValue = true;
6908 if (this->req_container_with_ref) {
6909 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::string>, ::std::vector<::std::string>>::write(*prot_, *this->req_container_with_ref);
6910 } else {
6911 xfer += prot_->writeListBegin(apache::thrift::protocol::T_STRING, 0);
6912 xfer += prot_->writeListEnd();
6913 }
6914 xfer += prot_->writeFieldEnd();
6915 }
6916 if (this->opt_cpp_unique_ref) {
6917 constexpr int16_t kPrevFieldId = 7;
6918 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 8, kPrevFieldId>(*prot_, "opt_cpp_unique_ref", previousFieldHasValue);
6919 previousFieldHasValue = true;
6920 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::write(*prot_, *this->opt_cpp_unique_ref);
6921 xfer += prot_->writeFieldEnd();
6922 } else {
6923 previousFieldHasValue = false;
6924 }
6925 if (this->opt_cpp2_unique_ref) {
6926 constexpr int16_t kPrevFieldId = 8;
6927 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 9, kPrevFieldId>(*prot_, "opt_cpp2_unique_ref", previousFieldHasValue);
6928 previousFieldHasValue = true;
6929 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::write(*prot_, *this->opt_cpp2_unique_ref);
6930 xfer += prot_->writeFieldEnd();
6931 } else {
6932 previousFieldHasValue = false;
6933 }
6934 if (this->opt_container_with_ref) {
6935 constexpr int16_t kPrevFieldId = 9;
6936 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 10, kPrevFieldId>(*prot_, "opt_container_with_ref", previousFieldHasValue);
6937 previousFieldHasValue = true;
6938 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::write(*prot_, *this->opt_container_with_ref);
6939 xfer += prot_->writeFieldEnd();
6940 } else {
6941 previousFieldHasValue = false;
6942 }
6943 if (this->ref_type_unique) {
6944 constexpr int16_t kPrevFieldId = 10;
6945 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 11, kPrevFieldId>(*prot_, "ref_type_unique", previousFieldHasValue);
6946 previousFieldHasValue = true;
6947 if (this->ref_type_unique) {
6948 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::write(*prot_, *this->ref_type_unique);
6949 } else {
6950 xfer += prot_->writeStructBegin("containerStruct");
6951 xfer += prot_->writeStructEnd();
6952 xfer += prot_->writeFieldStop();
6953 }
6954 xfer += prot_->writeFieldEnd();
6955 } else {
6956 previousFieldHasValue = false;
6957 }
6958 {
6959 constexpr int16_t kPrevFieldId = 11;
6960 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 12, kPrevFieldId>(*prot_, "ref_type_shared", previousFieldHasValue);
6961 previousFieldHasValue = true;
6962 if (this->ref_type_shared) {
6963 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::write(*prot_, *this->ref_type_shared);
6964 } else {
6965 xfer += prot_->writeStructBegin("containerStruct");
6966 xfer += prot_->writeStructEnd();
6967 xfer += prot_->writeFieldStop();
6968 }
6969 xfer += prot_->writeFieldEnd();
6970 }
6971 if (this->ref_type_const && !this->ref_type_const->empty()) {
6972 constexpr int16_t kPrevFieldId = 12;
6973 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 13, kPrevFieldId>(*prot_, "ref_type_const", previousFieldHasValue);
6974 previousFieldHasValue = true;
6975 if (this->ref_type_const) {
6976 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::list<::apache::thrift::type_class::string>>, ::std::map<::std::int32_t, ::std::vector<::std::string>>>::write(*prot_, *this->ref_type_const);
6977 } else {
6978 xfer += prot_->writeMapBegin(apache::thrift::protocol::T_I32, apache::thrift::protocol::T_LIST, 0);
6979 xfer += prot_->writeMapEnd();
6980 }
6981 xfer += prot_->writeFieldEnd();
6982 } else {
6983 previousFieldHasValue = false;
6984 }
6985 {
6986 constexpr int16_t kPrevFieldId = 13;
6987 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 14, kPrevFieldId>(*prot_, "req_ref_type_shared", previousFieldHasValue);
6988 previousFieldHasValue = true;
6989 if (this->req_ref_type_shared) {
6990 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::write(*prot_, *this->req_ref_type_shared);
6991 } else {
6992 xfer += prot_->writeStructBegin("containerStruct");
6993 xfer += prot_->writeStructEnd();
6994 xfer += prot_->writeFieldStop();
6995 }
6996 xfer += prot_->writeFieldEnd();
6997 }
6998 {
6999 constexpr int16_t kPrevFieldId = 14;
7000 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 15, kPrevFieldId>(*prot_, "req_ref_type_const", previousFieldHasValue);
7001 previousFieldHasValue = true;
7002 if (this->req_ref_type_const) {
7003 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::write(*prot_, *this->req_ref_type_const);
7004 } else {
7005 xfer += prot_->writeStructBegin("containerStruct");
7006 xfer += prot_->writeStructEnd();
7007 xfer += prot_->writeFieldStop();
7008 }
7009 xfer += prot_->writeFieldEnd();
7010 }
7011 {
7012 constexpr int16_t kPrevFieldId = 15;
7013 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 16, kPrevFieldId>(*prot_, "req_ref_type_unique", previousFieldHasValue);
7014 previousFieldHasValue = true;
7015 if (this->req_ref_type_unique) {
7016 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::string>, ::std::vector<::std::string>>::write(*prot_, *this->req_ref_type_unique);
7017 } else {
7018 xfer += prot_->writeListBegin(apache::thrift::protocol::T_STRING, 0);
7019 xfer += prot_->writeListEnd();
7020 }
7021 xfer += prot_->writeFieldEnd();
7022 }
7023 if (this->opt_ref_type_const) {
7024 constexpr int16_t kPrevFieldId = 16;
7025 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 17, kPrevFieldId>(*prot_, "opt_ref_type_const", previousFieldHasValue);
7026 previousFieldHasValue = true;
7027 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::write(*prot_, *this->opt_ref_type_const);
7028 xfer += prot_->writeFieldEnd();
7029 } else {
7030 previousFieldHasValue = false;
7031 }
7032 if (this->opt_ref_type_unique) {
7033 constexpr int16_t kPrevFieldId = 17;
7034 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 18, kPrevFieldId>(*prot_, "opt_ref_type_unique", previousFieldHasValue);
7035 previousFieldHasValue = true;
7036 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::write(*prot_, *this->opt_ref_type_unique);
7037 xfer += prot_->writeFieldEnd();
7038 } else {
7039 previousFieldHasValue = false;
7040 }
7041 if (this->opt_ref_type_shared) {
7042 constexpr int16_t kPrevFieldId = 18;
7043 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 19, kPrevFieldId>(*prot_, "opt_ref_type_shared", previousFieldHasValue);
7044 previousFieldHasValue = true;
7045 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::write(*prot_, *this->opt_ref_type_shared);
7046 xfer += prot_->writeFieldEnd();
7047 } else {
7048 previousFieldHasValue = false;
7049 }
7050 if (this->base_type != ::some::valid::ns::CppFakeI32()) {
7051 constexpr int16_t kPrevFieldId = 19;
7052 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 20, kPrevFieldId>(*prot_, "base_type", previousFieldHasValue);
7053 previousFieldHasValue = true;
7054 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::some::valid::ns::CppFakeI32>::write(*prot_, this->base_type);
7055 xfer += prot_->writeFieldEnd();
7056 } else {
7057 previousFieldHasValue = false;
7058 }
7059 if (!this->list_type.empty()) {
7060 constexpr int16_t kPrevFieldId = 20;
7061 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 21, kPrevFieldId>(*prot_, "list_type", previousFieldHasValue);
7062 previousFieldHasValue = true;
7063 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::some::valid::ns::FollySmallVectorI64>::write(*prot_, this->list_type);
7064 xfer += prot_->writeFieldEnd();
7065 } else {
7066 previousFieldHasValue = false;
7067 }
7068 if (!this->set_type.empty()) {
7069 constexpr int16_t kPrevFieldId = 21;
7070 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 22, kPrevFieldId>(*prot_, "set_type", previousFieldHasValue);
7071 previousFieldHasValue = true;
7072 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::string>, ::some::valid::ns::SortedVectorSetString>::write(*prot_, this->set_type);
7073 xfer += prot_->writeFieldEnd();
7074 } else {
7075 previousFieldHasValue = false;
7076 }
7077 if (!this->map_type.empty()) {
7078 constexpr int16_t kPrevFieldId = 22;
7079 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 23, kPrevFieldId>(*prot_, "map_type", previousFieldHasValue);
7080 previousFieldHasValue = true;
7081 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::floating_point>, ::some::valid::ns::FakeMap>::write(*prot_, this->map_type);
7082 xfer += prot_->writeFieldEnd();
7083 } else {
7084 previousFieldHasValue = false;
7085 }
7086 if (!this->map_struct_type.empty()) {
7087 constexpr int16_t kPrevFieldId = 23;
7088 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 24, kPrevFieldId>(*prot_, "map_struct_type", previousFieldHasValue);
7089 previousFieldHasValue = true;
7090 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::structure>, ::some::valid::ns::UnorderedMapStruct>::write(*prot_, this->map_struct_type);
7091 xfer += prot_->writeFieldEnd();
7092 } else {
7093 previousFieldHasValue = false;
7094 }
7095 if (!apache::thrift::StringTraits<folly::IOBuf>::isEmpty(this->iobuf_type)) {
7096 constexpr int16_t kPrevFieldId = 24;
7097 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 25, kPrevFieldId>(*prot_, "iobuf_type", previousFieldHasValue);
7098 previousFieldHasValue = true;
7099 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::some::valid::ns::IOBuf>::write(*prot_, this->iobuf_type);
7100 xfer += prot_->writeFieldEnd();
7101 } else {
7102 previousFieldHasValue = false;
7103 }
7104 if (!apache::thrift::StringTraits<std::unique_ptr<folly::IOBuf>>::isEmpty(this->iobuf_ptr)) {
7105 constexpr int16_t kPrevFieldId = 25;
7106 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 26, kPrevFieldId>(*prot_, "iobuf_ptr", previousFieldHasValue);
7107 previousFieldHasValue = true;
7108 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::some::valid::ns::IOBufPtr>::write(*prot_, this->iobuf_ptr);
7109 xfer += prot_->writeFieldEnd();
7110 } else {
7111 previousFieldHasValue = false;
7112 }
7113 if (!this->list_i32_template.empty()) {
7114 constexpr int16_t kPrevFieldId = 26;
7115 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 27, kPrevFieldId>(*prot_, "list_i32_template", previousFieldHasValue);
7116 previousFieldHasValue = true;
7117 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, std::list<::std::int32_t>>::write(*prot_, this->list_i32_template);
7118 xfer += prot_->writeFieldEnd();
7119 } else {
7120 previousFieldHasValue = false;
7121 }
7122 if (!this->list_string_template.empty()) {
7123 constexpr int16_t kPrevFieldId = 27;
7124 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 28, kPrevFieldId>(*prot_, "list_string_template", previousFieldHasValue);
7125 previousFieldHasValue = true;
7126 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::string>, std::deque<::std::string>>::write(*prot_, this->list_string_template);
7127 xfer += prot_->writeFieldEnd();
7128 } else {
7129 previousFieldHasValue = false;
7130 }
7131 if (!this->set_template.empty()) {
7132 constexpr int16_t kPrevFieldId = 28;
7133 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 29, kPrevFieldId>(*prot_, "set_template", previousFieldHasValue);
7134 previousFieldHasValue = true;
7135 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::string>, folly::sorted_vector_set<::std::string>>::write(*prot_, this->set_template);
7136 xfer += prot_->writeFieldEnd();
7137 } else {
7138 previousFieldHasValue = false;
7139 }
7140 if (!this->map_template.empty()) {
7141 constexpr int16_t kPrevFieldId = 29;
7142 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 30, kPrevFieldId>(*prot_, "map_template", previousFieldHasValue);
7143 previousFieldHasValue = true;
7144 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::string>, folly::sorted_vector_map<::std::int64_t, ::std::string>>::write(*prot_, this->map_template);
7145 xfer += prot_->writeFieldEnd();
7146 } else {
7147 previousFieldHasValue = false;
7148 }
7149 if (!this->typedef_list_template.empty()) {
7150 constexpr int16_t kPrevFieldId = 30;
7151 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 31, kPrevFieldId>(*prot_, "typedef_list_template", previousFieldHasValue);
7152 previousFieldHasValue = true;
7153 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::some::valid::ns::std_list>::write(*prot_, this->typedef_list_template);
7154 xfer += prot_->writeFieldEnd();
7155 } else {
7156 previousFieldHasValue = false;
7157 }
7158 if (!this->typedef_deque_template.empty()) {
7159 constexpr int16_t kPrevFieldId = 31;
7160 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 32, kPrevFieldId>(*prot_, "typedef_deque_template", previousFieldHasValue);
7161 previousFieldHasValue = true;
7162 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::string>, ::some::valid::ns::std_deque>::write(*prot_, this->typedef_deque_template);
7163 xfer += prot_->writeFieldEnd();
7164 } else {
7165 previousFieldHasValue = false;
7166 }
7167 if (!this->typedef_set_template.empty()) {
7168 constexpr int16_t kPrevFieldId = 32;
7169 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 33, kPrevFieldId>(*prot_, "typedef_set_template", previousFieldHasValue);
7170 previousFieldHasValue = true;
7171 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::string>, ::some::valid::ns::folly_set>::write(*prot_, this->typedef_set_template);
7172 xfer += prot_->writeFieldEnd();
7173 } else {
7174 previousFieldHasValue = false;
7175 }
7176 if (!this->typedef_map_template.empty()) {
7177 constexpr int16_t kPrevFieldId = 33;
7178 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 34, kPrevFieldId>(*prot_, "typedef_map_template", previousFieldHasValue);
7179 previousFieldHasValue = true;
7180 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::string>, ::some::valid::ns::folly_map>::write(*prot_, this->typedef_map_template);
7181 xfer += prot_->writeFieldEnd();
7182 } else {
7183 previousFieldHasValue = false;
7184 }
7185 if (::apache::thrift::apply_indirection(this->indirection_a) != 0) {
7186 constexpr int16_t kPrevFieldId = 34;
7187 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 35, kPrevFieldId>(*prot_, "indirection_a", previousFieldHasValue);
7188 previousFieldHasValue = true;
7189 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::integral, ::apache::thrift::detail::apply_indirection_fn>, ::some::valid::ns::IndirectionA>::write(*prot_, this->indirection_a);
7190 xfer += prot_->writeFieldEnd();
7191 } else {
7192 previousFieldHasValue = false;
7193 }
7194 if (!this->indirection_b.empty()) {
7195 constexpr int16_t kPrevFieldId = 35;
7196 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 36, kPrevFieldId>(*prot_, "indirection_b", previousFieldHasValue);
7197 previousFieldHasValue = true;
7198 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::floating_point, ::apache::thrift::detail::apply_indirection_fn>>, ::std::vector<::some::valid::ns::IndirectionB>>::write(*prot_, this->indirection_b);
7199 xfer += prot_->writeFieldEnd();
7200 } else {
7201 previousFieldHasValue = false;
7202 }
7203 if (!this->indirection_c.empty()) {
7204 constexpr int16_t kPrevFieldId = 36;
7205 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 37, kPrevFieldId>(*prot_, "indirection_c", previousFieldHasValue);
7206 previousFieldHasValue = true;
7207 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::detail::indirection_tag<::apache::thrift::type_class::integral, ::apache::thrift::detail::apply_indirection_fn>>, ::std::set<::some::valid::ns::IndirectionC>>::write(*prot_, this->indirection_c);
7208 xfer += prot_->writeFieldEnd();
7209 } else {
7210 previousFieldHasValue = false;
7211 }
7212 if (!apache::thrift::StringTraits<folly::IOBuf>::isEmpty(this->iobuf_type_val)) {
7213 constexpr int16_t kPrevFieldId = 37;
7214 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 38, kPrevFieldId>(*prot_, "iobuf_type_val", previousFieldHasValue);
7215 previousFieldHasValue = true;
7216 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::some::valid::ns::IOBuf>::write(*prot_, this->iobuf_type_val);
7217 xfer += prot_->writeFieldEnd();
7218 } else {
7219 previousFieldHasValue = false;
7220 }
7221 if (!apache::thrift::StringTraits<std::unique_ptr<folly::IOBuf>>::isEmpty(this->iobuf_ptr_val)) {
7222 constexpr int16_t kPrevFieldId = 38;
7223 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 39, kPrevFieldId>(*prot_, "iobuf_ptr_val", previousFieldHasValue);
7224 previousFieldHasValue = true;
7225 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::some::valid::ns::IOBufPtr>::write(*prot_, this->iobuf_ptr_val);
7226 xfer += prot_->writeFieldEnd();
7227 } else {
7228 previousFieldHasValue = false;
7229 }
7230 {
7231 constexpr int16_t kPrevFieldId = 39;
7232 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 40, kPrevFieldId>(*prot_, "struct_struct", previousFieldHasValue);
7233 previousFieldHasValue = true;
7234 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::some::valid::ns::containerStruct>::write(*prot_, this->struct_struct);
7235 xfer += prot_->writeFieldEnd();
7236 }
7237 xfer += prot_->writeFieldStop();
7238 xfer += prot_->writeStructEnd();
7239 return xfer;
7240 }
7241
7242 extern template void AnnotatedStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
7243 extern template uint32_t AnnotatedStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
7244 extern template uint32_t AnnotatedStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
7245 extern template uint32_t AnnotatedStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
7246 extern template void AnnotatedStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
7247 extern template uint32_t AnnotatedStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
7248 extern template uint32_t AnnotatedStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
7249 extern template uint32_t AnnotatedStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
7250 extern template void AnnotatedStruct::readNoXfer<>(apache::thrift::SimpleJSONProtocolReader*);
7251 extern template uint32_t AnnotatedStruct::write<>(apache::thrift::SimpleJSONProtocolWriter*) const;
7252 extern template uint32_t AnnotatedStruct::serializedSize<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
7253 extern template uint32_t AnnotatedStruct::serializedSizeZC<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
7254
7255 }}} // some::valid::ns
7256 namespace some { namespace valid { namespace ns {
7257
7258 template <class Protocol_>
readNoXfer(Protocol_ * iprot)7259 void ComplexContainerStruct::readNoXfer(Protocol_* iprot) {
7260 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
7261
7262 _readState.readStructBegin(iprot);
7263
7264 using apache::thrift::TProtocolException;
7265
7266
7267 if (UNLIKELY(!_readState.advanceToNextField(
7268 iprot,
7269 0,
7270 1,
7271 apache::thrift::protocol::T_MAP))) {
7272 goto _loop;
7273 }
7274 _readField_map_of_iobufs:
7275 {
7276 _readState.beforeSubobject(iprot);
7277 this->__fbthrift_field_map_of_iobufs = ::std::map<::std::string, ::some::valid::ns::IOBuf>();
7278 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::binary>, ::std::map<::std::string, ::some::valid::ns::IOBuf>>::readWithContext(*iprot, this->__fbthrift_field_map_of_iobufs, _readState);
7279 _readState.afterSubobject(iprot);
7280
7281 }
7282 this->__isset.set(0, true);
7283
7284 if (UNLIKELY(!_readState.advanceToNextField(
7285 iprot,
7286 1,
7287 2,
7288 apache::thrift::protocol::T_MAP))) {
7289 goto _loop;
7290 }
7291 _readField_map_of_iobuf_ptrs:
7292 {
7293 _readState.beforeSubobject(iprot);
7294 this->__fbthrift_field_map_of_iobuf_ptrs = ::std::map<::std::string, ::some::valid::ns::IOBufPtr>();
7295 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::binary>, ::std::map<::std::string, ::some::valid::ns::IOBufPtr>>::readWithContext(*iprot, this->__fbthrift_field_map_of_iobuf_ptrs, _readState);
7296 _readState.afterSubobject(iprot);
7297
7298 }
7299 this->__isset.set(1, true);
7300
7301 if (UNLIKELY(!_readState.advanceToNextField(
7302 iprot,
7303 2,
7304 0,
7305 apache::thrift::protocol::T_STOP))) {
7306 goto _loop;
7307 }
7308
7309 _end:
7310 _readState.readStructEnd(iprot);
7311
7312 return;
7313
7314 _loop:
7315 _readState.afterAdvanceFailure(iprot);
7316 if (_readState.atStop()) {
7317 goto _end;
7318 }
7319 if (iprot->kUsesFieldNames()) {
7320 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<ComplexContainerStruct>>();
7321 }
7322
7323 switch (_readState.fieldId) {
7324 case 1:
7325 {
7326 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
7327 goto _readField_map_of_iobufs;
7328 } else {
7329 goto _skip;
7330 }
7331 }
7332 case 2:
7333 {
7334 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
7335 goto _readField_map_of_iobuf_ptrs;
7336 } else {
7337 goto _skip;
7338 }
7339 }
7340 default:
7341 {
7342 _skip:
7343 _readState.skip(iprot);
7344 _readState.readFieldEnd(iprot);
7345 _readState.readFieldBeginNoInline(iprot);
7346 goto _loop;
7347 }
7348 }
7349 }
7350
7351 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const7352 uint32_t ComplexContainerStruct::serializedSize(Protocol_ const* prot_) const {
7353 uint32_t xfer = 0;
7354 xfer += prot_->serializedStructSize("ComplexContainerStruct");
7355 if (!this->__fbthrift_field_map_of_iobufs.empty()) {
7356 xfer += prot_->serializedFieldSize("map_of_iobufs", apache::thrift::protocol::T_MAP, 1);
7357 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::binary>, ::std::map<::std::string, ::some::valid::ns::IOBuf>>::serializedSize<false>(*prot_, this->__fbthrift_field_map_of_iobufs);
7358 }
7359 if (!this->__fbthrift_field_map_of_iobuf_ptrs.empty()) {
7360 xfer += prot_->serializedFieldSize("map_of_iobuf_ptrs", apache::thrift::protocol::T_MAP, 2);
7361 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::binary>, ::std::map<::std::string, ::some::valid::ns::IOBufPtr>>::serializedSize<false>(*prot_, this->__fbthrift_field_map_of_iobuf_ptrs);
7362 }
7363 xfer += prot_->serializedSizeStop();
7364 return xfer;
7365 }
7366
7367 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const7368 uint32_t ComplexContainerStruct::serializedSizeZC(Protocol_ const* prot_) const {
7369 uint32_t xfer = 0;
7370 xfer += prot_->serializedStructSize("ComplexContainerStruct");
7371 if (!this->__fbthrift_field_map_of_iobufs.empty()) {
7372 xfer += prot_->serializedFieldSize("map_of_iobufs", apache::thrift::protocol::T_MAP, 1);
7373 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::binary>, ::std::map<::std::string, ::some::valid::ns::IOBuf>>::serializedSize<false>(*prot_, this->__fbthrift_field_map_of_iobufs);
7374 }
7375 if (!this->__fbthrift_field_map_of_iobuf_ptrs.empty()) {
7376 xfer += prot_->serializedFieldSize("map_of_iobuf_ptrs", apache::thrift::protocol::T_MAP, 2);
7377 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::binary>, ::std::map<::std::string, ::some::valid::ns::IOBufPtr>>::serializedSize<false>(*prot_, this->__fbthrift_field_map_of_iobuf_ptrs);
7378 }
7379 xfer += prot_->serializedSizeStop();
7380 return xfer;
7381 }
7382
7383 template <class Protocol_>
write(Protocol_ * prot_) const7384 uint32_t ComplexContainerStruct::write(Protocol_* prot_) const {
7385 uint32_t xfer = 0;
7386 xfer += prot_->writeStructBegin("ComplexContainerStruct");
7387 bool previousFieldHasValue = true;
7388 if (!this->__fbthrift_field_map_of_iobufs.empty()) {
7389 constexpr int16_t kPrevFieldId = 0;
7390 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 1, kPrevFieldId>(*prot_, "map_of_iobufs", previousFieldHasValue);
7391 previousFieldHasValue = true;
7392 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::binary>, ::std::map<::std::string, ::some::valid::ns::IOBuf>>::write(*prot_, this->__fbthrift_field_map_of_iobufs);
7393 xfer += prot_->writeFieldEnd();
7394 } else {
7395 previousFieldHasValue = false;
7396 }
7397 if (!this->__fbthrift_field_map_of_iobuf_ptrs.empty()) {
7398 constexpr int16_t kPrevFieldId = 1;
7399 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 2, kPrevFieldId>(*prot_, "map_of_iobuf_ptrs", previousFieldHasValue);
7400 previousFieldHasValue = true;
7401 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::binary>, ::std::map<::std::string, ::some::valid::ns::IOBufPtr>>::write(*prot_, this->__fbthrift_field_map_of_iobuf_ptrs);
7402 xfer += prot_->writeFieldEnd();
7403 } else {
7404 previousFieldHasValue = false;
7405 }
7406 xfer += prot_->writeFieldStop();
7407 xfer += prot_->writeStructEnd();
7408 return xfer;
7409 }
7410
7411 extern template void ComplexContainerStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
7412 extern template uint32_t ComplexContainerStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
7413 extern template uint32_t ComplexContainerStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
7414 extern template uint32_t ComplexContainerStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
7415 extern template void ComplexContainerStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
7416 extern template uint32_t ComplexContainerStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
7417 extern template uint32_t ComplexContainerStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
7418 extern template uint32_t ComplexContainerStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
7419 extern template void ComplexContainerStruct::readNoXfer<>(apache::thrift::SimpleJSONProtocolReader*);
7420 extern template uint32_t ComplexContainerStruct::write<>(apache::thrift::SimpleJSONProtocolWriter*) const;
7421 extern template uint32_t ComplexContainerStruct::serializedSize<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
7422 extern template uint32_t ComplexContainerStruct::serializedSizeZC<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
7423
7424 }}} // some::valid::ns
7425 namespace some { namespace valid { namespace ns {
7426
7427 template <class Protocol_>
readNoXfer(Protocol_ * iprot)7428 void FloatStruct::readNoXfer(Protocol_* iprot) {
7429 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
7430
7431 _readState.readStructBegin(iprot);
7432
7433 using apache::thrift::TProtocolException;
7434
7435
7436 if (UNLIKELY(!_readState.advanceToNextField(
7437 iprot,
7438 0,
7439 1,
7440 apache::thrift::protocol::T_FLOAT))) {
7441 goto _loop;
7442 }
7443 _readField_floatField:
7444 {
7445 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::readWithContext(*iprot, this->__fbthrift_field_floatField, _readState);
7446
7447 }
7448 this->__isset.set(0, true);
7449
7450 if (UNLIKELY(!_readState.advanceToNextField(
7451 iprot,
7452 1,
7453 2,
7454 apache::thrift::protocol::T_DOUBLE))) {
7455 goto _loop;
7456 }
7457 _readField_doubleField:
7458 {
7459 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::readWithContext(*iprot, this->__fbthrift_field_doubleField, _readState);
7460
7461 }
7462 this->__isset.set(1, true);
7463
7464 if (UNLIKELY(!_readState.advanceToNextField(
7465 iprot,
7466 2,
7467 0,
7468 apache::thrift::protocol::T_STOP))) {
7469 goto _loop;
7470 }
7471
7472 _end:
7473 _readState.readStructEnd(iprot);
7474
7475 return;
7476
7477 _loop:
7478 _readState.afterAdvanceFailure(iprot);
7479 if (_readState.atStop()) {
7480 goto _end;
7481 }
7482 if (iprot->kUsesFieldNames()) {
7483 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<FloatStruct>>();
7484 }
7485
7486 switch (_readState.fieldId) {
7487 case 1:
7488 {
7489 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_FLOAT))) {
7490 goto _readField_floatField;
7491 } else {
7492 goto _skip;
7493 }
7494 }
7495 case 2:
7496 {
7497 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_DOUBLE))) {
7498 goto _readField_doubleField;
7499 } else {
7500 goto _skip;
7501 }
7502 }
7503 default:
7504 {
7505 _skip:
7506 _readState.skip(iprot);
7507 _readState.readFieldEnd(iprot);
7508 _readState.readFieldBeginNoInline(iprot);
7509 goto _loop;
7510 }
7511 }
7512 }
7513
7514 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const7515 uint32_t FloatStruct::serializedSize(Protocol_ const* prot_) const {
7516 uint32_t xfer = 0;
7517 xfer += prot_->serializedStructSize("FloatStruct");
7518 if (this->__fbthrift_field_floatField != float()) {
7519 xfer += prot_->serializedFieldSize("floatField", apache::thrift::protocol::T_FLOAT, 1);
7520 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::serializedSize<false>(*prot_, this->__fbthrift_field_floatField);
7521 }
7522 if (this->__fbthrift_field_doubleField != double()) {
7523 xfer += prot_->serializedFieldSize("doubleField", apache::thrift::protocol::T_DOUBLE, 2);
7524 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::serializedSize<false>(*prot_, this->__fbthrift_field_doubleField);
7525 }
7526 xfer += prot_->serializedSizeStop();
7527 return xfer;
7528 }
7529
7530 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const7531 uint32_t FloatStruct::serializedSizeZC(Protocol_ const* prot_) const {
7532 uint32_t xfer = 0;
7533 xfer += prot_->serializedStructSize("FloatStruct");
7534 if (this->__fbthrift_field_floatField != float()) {
7535 xfer += prot_->serializedFieldSize("floatField", apache::thrift::protocol::T_FLOAT, 1);
7536 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::serializedSize<false>(*prot_, this->__fbthrift_field_floatField);
7537 }
7538 if (this->__fbthrift_field_doubleField != double()) {
7539 xfer += prot_->serializedFieldSize("doubleField", apache::thrift::protocol::T_DOUBLE, 2);
7540 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::serializedSize<false>(*prot_, this->__fbthrift_field_doubleField);
7541 }
7542 xfer += prot_->serializedSizeStop();
7543 return xfer;
7544 }
7545
7546 template <class Protocol_>
write(Protocol_ * prot_) const7547 uint32_t FloatStruct::write(Protocol_* prot_) const {
7548 uint32_t xfer = 0;
7549 xfer += prot_->writeStructBegin("FloatStruct");
7550 bool previousFieldHasValue = true;
7551 if (this->__fbthrift_field_floatField != float()) {
7552 constexpr int16_t kPrevFieldId = 0;
7553 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_FLOAT, 1, kPrevFieldId>(*prot_, "floatField", previousFieldHasValue);
7554 previousFieldHasValue = true;
7555 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::write(*prot_, this->__fbthrift_field_floatField);
7556 xfer += prot_->writeFieldEnd();
7557 } else {
7558 previousFieldHasValue = false;
7559 }
7560 if (this->__fbthrift_field_doubleField != double()) {
7561 constexpr int16_t kPrevFieldId = 1;
7562 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_DOUBLE, 2, kPrevFieldId>(*prot_, "doubleField", previousFieldHasValue);
7563 previousFieldHasValue = true;
7564 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::write(*prot_, this->__fbthrift_field_doubleField);
7565 xfer += prot_->writeFieldEnd();
7566 } else {
7567 previousFieldHasValue = false;
7568 }
7569 xfer += prot_->writeFieldStop();
7570 xfer += prot_->writeStructEnd();
7571 return xfer;
7572 }
7573
7574 extern template void FloatStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
7575 extern template uint32_t FloatStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
7576 extern template uint32_t FloatStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
7577 extern template uint32_t FloatStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
7578 extern template void FloatStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
7579 extern template uint32_t FloatStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
7580 extern template uint32_t FloatStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
7581 extern template uint32_t FloatStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
7582 extern template void FloatStruct::readNoXfer<>(apache::thrift::SimpleJSONProtocolReader*);
7583 extern template uint32_t FloatStruct::write<>(apache::thrift::SimpleJSONProtocolWriter*) const;
7584 extern template uint32_t FloatStruct::serializedSize<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
7585 extern template uint32_t FloatStruct::serializedSizeZC<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
7586
7587 }}} // some::valid::ns
7588 namespace some { namespace valid { namespace ns {
7589
7590 template <class Protocol_>
readNoXfer(Protocol_ * iprot)7591 void FloatUnion::readNoXfer(Protocol_* iprot) {
7592 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
7593 _readState.fieldId = 0;
7594
7595 _readState.readStructBegin(iprot);
7596
7597 _readState.readFieldBegin(iprot);
7598 if (_readState.atStop()) {
7599 apache::thrift::clear(*this);
7600 } else {
7601 if (iprot->kUsesFieldNames()) {
7602 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<FloatUnion>>();
7603 }
7604 switch (_readState.fieldId) {
7605 case 1:
7606 {
7607 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_FLOAT)) {
7608 this->set_floatSide();
7609 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::readWithContext(*iprot, value_.floatSide, _readState);
7610
7611 } else {
7612 _readState.skip(iprot);
7613 }
7614 break;
7615 }
7616 case 2:
7617 {
7618 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_DOUBLE)) {
7619 this->set_doubleSide();
7620 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::readWithContext(*iprot, value_.doubleSide, _readState);
7621
7622 } else {
7623 _readState.skip(iprot);
7624 }
7625 break;
7626 }
7627 default:
7628 {
7629 _readState.skip(iprot);
7630 break;
7631 }
7632 }
7633 _readState.readFieldEnd(iprot);
7634 _readState.readFieldBegin(iprot);
7635 if (UNLIKELY(!_readState.atStop())) {
7636 using apache::thrift::protocol::TProtocolException;
7637 TProtocolException::throwUnionMissingStop();
7638 }
7639 }
7640 _readState.readStructEnd(iprot);
7641 }
7642 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const7643 uint32_t FloatUnion::serializedSize(Protocol_ const* prot_) const {
7644 uint32_t xfer = 0;
7645 xfer += prot_->serializedStructSize("FloatUnion");
7646 switch(this->getType()) {
7647 case FloatUnion::Type::floatSide:
7648 {
7649 xfer += prot_->serializedFieldSize("floatSide", apache::thrift::protocol::T_FLOAT, 1);
7650 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::serializedSize<false>(*prot_, value_.floatSide);
7651 break;
7652 }
7653 case FloatUnion::Type::doubleSide:
7654 {
7655 xfer += prot_->serializedFieldSize("doubleSide", apache::thrift::protocol::T_DOUBLE, 2);
7656 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::serializedSize<false>(*prot_, value_.doubleSide);
7657 break;
7658 }
7659 case FloatUnion::Type::__EMPTY__:;
7660 }
7661 xfer += prot_->serializedSizeStop();
7662 return xfer;
7663 }
7664
7665 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const7666 uint32_t FloatUnion::serializedSizeZC(Protocol_ const* prot_) const {
7667 uint32_t xfer = 0;
7668 xfer += prot_->serializedStructSize("FloatUnion");
7669 switch(this->getType()) {
7670 case FloatUnion::Type::floatSide:
7671 {
7672 xfer += prot_->serializedFieldSize("floatSide", apache::thrift::protocol::T_FLOAT, 1);
7673 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::serializedSize<false>(*prot_, value_.floatSide);
7674 break;
7675 }
7676 case FloatUnion::Type::doubleSide:
7677 {
7678 xfer += prot_->serializedFieldSize("doubleSide", apache::thrift::protocol::T_DOUBLE, 2);
7679 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::serializedSize<false>(*prot_, value_.doubleSide);
7680 break;
7681 }
7682 case FloatUnion::Type::__EMPTY__:;
7683 }
7684 xfer += prot_->serializedSizeStop();
7685 return xfer;
7686 }
7687
7688 template <class Protocol_>
write(Protocol_ * prot_) const7689 uint32_t FloatUnion::write(Protocol_* prot_) const {
7690 uint32_t xfer = 0;
7691 xfer += prot_->writeStructBegin("FloatUnion");
7692 switch(this->getType()) {
7693 case FloatUnion::Type::floatSide:
7694 {
7695 constexpr int16_t kPrevFieldId = 0;
7696 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_FLOAT, 1, kPrevFieldId>(*prot_, "floatSide", false);
7697 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::write(*prot_, value_.floatSide);
7698 xfer += prot_->writeFieldEnd();
7699 break;
7700 }
7701 case FloatUnion::Type::doubleSide:
7702 {
7703 constexpr int16_t kPrevFieldId = 1;
7704 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_DOUBLE, 2, kPrevFieldId>(*prot_, "doubleSide", false);
7705 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::write(*prot_, value_.doubleSide);
7706 xfer += prot_->writeFieldEnd();
7707 break;
7708 }
7709 case FloatUnion::Type::__EMPTY__:;
7710 }
7711 xfer += prot_->writeFieldStop();
7712 xfer += prot_->writeStructEnd();
7713 return xfer;
7714 }
7715
7716 extern template void FloatUnion::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
7717 extern template uint32_t FloatUnion::write<>(apache::thrift::BinaryProtocolWriter*) const;
7718 extern template uint32_t FloatUnion::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
7719 extern template uint32_t FloatUnion::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
7720 extern template void FloatUnion::readNoXfer<>(apache::thrift::CompactProtocolReader*);
7721 extern template uint32_t FloatUnion::write<>(apache::thrift::CompactProtocolWriter*) const;
7722 extern template uint32_t FloatUnion::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
7723 extern template uint32_t FloatUnion::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
7724 extern template void FloatUnion::readNoXfer<>(apache::thrift::SimpleJSONProtocolReader*);
7725 extern template uint32_t FloatUnion::write<>(apache::thrift::SimpleJSONProtocolWriter*) const;
7726 extern template uint32_t FloatUnion::serializedSize<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
7727 extern template uint32_t FloatUnion::serializedSizeZC<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
7728
7729 }}} // some::valid::ns
7730 namespace some { namespace valid { namespace ns {
7731
7732 template <class Protocol_>
readNoXfer(Protocol_ * iprot)7733 void AllRequiredNoExceptMoveCtrStruct::readNoXfer(Protocol_* iprot) {
7734 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
7735
7736 _readState.readStructBegin(iprot);
7737
7738 using apache::thrift::TProtocolException;
7739
7740
7741 if (UNLIKELY(!_readState.advanceToNextField(
7742 iprot,
7743 0,
7744 1,
7745 apache::thrift::protocol::T_I64))) {
7746 goto _loop;
7747 }
7748 _readField_intField:
7749 {
7750 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, this->intField, _readState);
7751
7752 }
7753
7754 if (UNLIKELY(!_readState.advanceToNextField(
7755 iprot,
7756 1,
7757 0,
7758 apache::thrift::protocol::T_STOP))) {
7759 goto _loop;
7760 }
7761
7762 _end:
7763 _readState.readStructEnd(iprot);
7764
7765 return;
7766
7767 _loop:
7768 _readState.afterAdvanceFailure(iprot);
7769 if (_readState.atStop()) {
7770 goto _end;
7771 }
7772 if (iprot->kUsesFieldNames()) {
7773 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<AllRequiredNoExceptMoveCtrStruct>>();
7774 }
7775
7776 switch (_readState.fieldId) {
7777 case 1:
7778 {
7779 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
7780 goto _readField_intField;
7781 } else {
7782 goto _skip;
7783 }
7784 }
7785 default:
7786 {
7787 _skip:
7788 _readState.skip(iprot);
7789 _readState.readFieldEnd(iprot);
7790 _readState.readFieldBeginNoInline(iprot);
7791 goto _loop;
7792 }
7793 }
7794 }
7795
7796 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const7797 uint32_t AllRequiredNoExceptMoveCtrStruct::serializedSize(Protocol_ const* prot_) const {
7798 uint32_t xfer = 0;
7799 xfer += prot_->serializedStructSize("AllRequiredNoExceptMoveCtrStruct");
7800 {
7801 xfer += prot_->serializedFieldSize("intField", apache::thrift::protocol::T_I64, 1);
7802 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->intField);
7803 }
7804 xfer += prot_->serializedSizeStop();
7805 return xfer;
7806 }
7807
7808 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const7809 uint32_t AllRequiredNoExceptMoveCtrStruct::serializedSizeZC(Protocol_ const* prot_) const {
7810 uint32_t xfer = 0;
7811 xfer += prot_->serializedStructSize("AllRequiredNoExceptMoveCtrStruct");
7812 {
7813 xfer += prot_->serializedFieldSize("intField", apache::thrift::protocol::T_I64, 1);
7814 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->intField);
7815 }
7816 xfer += prot_->serializedSizeStop();
7817 return xfer;
7818 }
7819
7820 template <class Protocol_>
write(Protocol_ * prot_) const7821 uint32_t AllRequiredNoExceptMoveCtrStruct::write(Protocol_* prot_) const {
7822 uint32_t xfer = 0;
7823 xfer += prot_->writeStructBegin("AllRequiredNoExceptMoveCtrStruct");
7824 bool previousFieldHasValue = true;
7825 {
7826 constexpr int16_t kPrevFieldId = 0;
7827 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 1, kPrevFieldId>(*prot_, "intField", previousFieldHasValue);
7828 previousFieldHasValue = true;
7829 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, this->intField);
7830 xfer += prot_->writeFieldEnd();
7831 }
7832 xfer += prot_->writeFieldStop();
7833 xfer += prot_->writeStructEnd();
7834 return xfer;
7835 }
7836
7837 extern template void AllRequiredNoExceptMoveCtrStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
7838 extern template uint32_t AllRequiredNoExceptMoveCtrStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
7839 extern template uint32_t AllRequiredNoExceptMoveCtrStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
7840 extern template uint32_t AllRequiredNoExceptMoveCtrStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
7841 extern template void AllRequiredNoExceptMoveCtrStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
7842 extern template uint32_t AllRequiredNoExceptMoveCtrStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
7843 extern template uint32_t AllRequiredNoExceptMoveCtrStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
7844 extern template uint32_t AllRequiredNoExceptMoveCtrStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
7845 extern template void AllRequiredNoExceptMoveCtrStruct::readNoXfer<>(apache::thrift::SimpleJSONProtocolReader*);
7846 extern template uint32_t AllRequiredNoExceptMoveCtrStruct::write<>(apache::thrift::SimpleJSONProtocolWriter*) const;
7847 extern template uint32_t AllRequiredNoExceptMoveCtrStruct::serializedSize<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
7848 extern template uint32_t AllRequiredNoExceptMoveCtrStruct::serializedSizeZC<>(apache::thrift::SimpleJSONProtocolWriter const*) const;
7849
7850 }}} // some::valid::ns
7851