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/types/gen-cpp2/module_types.h"
10
11 #include <thrift/lib/cpp2/gen/module_types_tcc.h>
12
13 namespace apache { namespace thrift { namespace fixtures { namespace types {
14
15 }}}} // apache::thrift::fixtures::types
16 namespace std {
17
18 } // std
19
20 namespace apache { namespace thrift { namespace fixtures { namespace types {
21
22 }}}} // apache::thrift::fixtures::types
23 namespace std {
24
25 } // std
26
27 namespace apache { namespace thrift { namespace fixtures { namespace types {
28
29 }}}} // apache::thrift::fixtures::types
30 namespace std {
31
32 } // std
33
34 namespace apache { namespace thrift { namespace fixtures { namespace types {
35
36 }}}} // apache::thrift::fixtures::types
37 namespace std {
38
39 } // std
40
41
42 namespace apache {
43 namespace thrift {
44 namespace detail {
45
46 template <>
47 struct TccStructTraits<::apache::thrift::fixtures::types::decorated_struct> {
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<::apache::thrift::fixtures::types::ContainerStruct> {
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<::apache::thrift::fixtures::types::CppTypeStruct> {
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<::apache::thrift::fixtures::types::VirtualStruct> {
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<::apache::thrift::fixtures::types::MyStructWithForwardRefEnum> {
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<::apache::thrift::fixtures::types::TrivialNumeric> {
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<::apache::thrift::fixtures::types::TrivialNestedWithDefault> {
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<::apache::thrift::fixtures::types::ComplexString> {
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<::apache::thrift::fixtures::types::ComplexNestedWithDefault> {
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<::apache::thrift::fixtures::types::MinPadding> {
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<::apache::thrift::fixtures::types::MyDataItem> {
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<::apache::thrift::fixtures::types::MyStruct> {
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<::apache::thrift::fixtures::types::Renaming> {
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<::apache::thrift::fixtures::types::AnnotatedTypes> {
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<::apache::thrift::fixtures::types::ForwardUsageStruct> {
146 static void translateFieldName(
147 folly::StringPiece _fname,
148 int16_t& fid,
149 apache::thrift::protocol::TType& _ftype) noexcept;
150 };
151 template <>
152 struct TccStructTraits<::apache::thrift::fixtures::types::ForwardUsageRoot> {
153 static void translateFieldName(
154 folly::StringPiece _fname,
155 int16_t& fid,
156 apache::thrift::protocol::TType& _ftype) noexcept;
157 };
158 template <>
159 struct TccStructTraits<::apache::thrift::fixtures::types::ForwardUsageByRef> {
160 static void translateFieldName(
161 folly::StringPiece _fname,
162 int16_t& fid,
163 apache::thrift::protocol::TType& _ftype) noexcept;
164 };
165 template <>
166 struct TccStructTraits<::apache::thrift::fixtures::types::NoexceptMoveEmpty> {
167 static void translateFieldName(
168 folly::StringPiece _fname,
169 int16_t& fid,
170 apache::thrift::protocol::TType& _ftype) noexcept;
171 };
172 template <>
173 struct TccStructTraits<::apache::thrift::fixtures::types::NoexceptMoveSimpleStruct> {
174 static void translateFieldName(
175 folly::StringPiece _fname,
176 int16_t& fid,
177 apache::thrift::protocol::TType& _ftype) noexcept;
178 };
179 template <>
180 struct TccStructTraits<::apache::thrift::fixtures::types::NoexceptMoveComplexStruct> {
181 static void translateFieldName(
182 folly::StringPiece _fname,
183 int16_t& fid,
184 apache::thrift::protocol::TType& _ftype) noexcept;
185 };
186 template <>
187 struct TccStructTraits<::apache::thrift::fixtures::types::NoExceptMoveUnion> {
188 static void translateFieldName(
189 folly::StringPiece _fname,
190 int16_t& fid,
191 apache::thrift::protocol::TType& _ftype) noexcept;
192 };
193 template <>
194 struct TccStructTraits<::apache::thrift::fixtures::types::AllocatorAware> {
195 static void translateFieldName(
196 folly::StringPiece _fname,
197 int16_t& fid,
198 apache::thrift::protocol::TType& _ftype) noexcept;
199 };
200 template <>
201 struct TccStructTraits<::apache::thrift::fixtures::types::AllocatorAware2> {
202 static void translateFieldName(
203 folly::StringPiece _fname,
204 int16_t& fid,
205 apache::thrift::protocol::TType& _ftype) noexcept;
206 };
207 template <>
208 struct TccStructTraits<::apache::thrift::fixtures::types::TypedefStruct> {
209 static void translateFieldName(
210 folly::StringPiece _fname,
211 int16_t& fid,
212 apache::thrift::protocol::TType& _ftype) noexcept;
213 };
214 template <>
215 struct TccStructTraits<::apache::thrift::fixtures::types::StructWithDoubleUnderscores> {
216 static void translateFieldName(
217 folly::StringPiece _fname,
218 int16_t& fid,
219 apache::thrift::protocol::TType& _ftype) noexcept;
220 };
221
222 } // namespace detail
223 } // namespace thrift
224 } // namespace apache
225
226 namespace apache { namespace thrift { namespace fixtures { namespace types {
227
228 template <class Protocol_>
readNoXfer(Protocol_ * iprot)229 void decorated_struct::readNoXfer(Protocol_* iprot) {
230 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
231
232 _readState.readStructBegin(iprot);
233
234 using apache::thrift::TProtocolException;
235
236
237 if (UNLIKELY(!_readState.advanceToNextField(
238 iprot,
239 0,
240 1,
241 apache::thrift::protocol::T_STRING))) {
242 goto _loop;
243 }
244 _readField_field:
245 {
246 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_field, _readState);
247
248 }
249 this->__isset.set(0, true);
250
251 if (UNLIKELY(!_readState.advanceToNextField(
252 iprot,
253 1,
254 0,
255 apache::thrift::protocol::T_STOP))) {
256 goto _loop;
257 }
258
259 _end:
260 _readState.readStructEnd(iprot);
261
262 return;
263
264 _loop:
265 _readState.afterAdvanceFailure(iprot);
266 if (_readState.atStop()) {
267 goto _end;
268 }
269 if (iprot->kUsesFieldNames()) {
270 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<decorated_struct>>();
271 }
272
273 switch (_readState.fieldId) {
274 case 1:
275 {
276 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
277 goto _readField_field;
278 } else {
279 goto _skip;
280 }
281 }
282 default:
283 {
284 _skip:
285 _readState.skip(iprot);
286 _readState.readFieldEnd(iprot);
287 _readState.readFieldBeginNoInline(iprot);
288 goto _loop;
289 }
290 }
291 }
292
293 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const294 uint32_t decorated_struct::serializedSize(Protocol_ const* prot_) const {
295 uint32_t xfer = 0;
296 xfer += prot_->serializedStructSize("decorated_struct");
297 {
298 xfer += prot_->serializedFieldSize("field", apache::thrift::protocol::T_STRING, 1);
299 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_field);
300 }
301 xfer += prot_->serializedSizeStop();
302 return xfer;
303 }
304
305 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const306 uint32_t decorated_struct::serializedSizeZC(Protocol_ const* prot_) const {
307 uint32_t xfer = 0;
308 xfer += prot_->serializedStructSize("decorated_struct");
309 {
310 xfer += prot_->serializedFieldSize("field", apache::thrift::protocol::T_STRING, 1);
311 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_field);
312 }
313 xfer += prot_->serializedSizeStop();
314 return xfer;
315 }
316
317 template <class Protocol_>
write(Protocol_ * prot_) const318 uint32_t decorated_struct::write(Protocol_* prot_) const {
319 uint32_t xfer = 0;
320 xfer += prot_->writeStructBegin("decorated_struct");
321 bool previousFieldHasValue = true;
322 {
323 constexpr int16_t kPrevFieldId = 0;
324 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 1, kPrevFieldId>(*prot_, "field", previousFieldHasValue);
325 previousFieldHasValue = true;
326 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_field);
327 xfer += prot_->writeFieldEnd();
328 }
329 xfer += prot_->writeFieldStop();
330 xfer += prot_->writeStructEnd();
331 return xfer;
332 }
333
334 extern template void decorated_struct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
335 extern template uint32_t decorated_struct::write<>(apache::thrift::BinaryProtocolWriter*) const;
336 extern template uint32_t decorated_struct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
337 extern template uint32_t decorated_struct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
338 extern template void decorated_struct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
339 extern template uint32_t decorated_struct::write<>(apache::thrift::CompactProtocolWriter*) const;
340 extern template uint32_t decorated_struct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
341 extern template uint32_t decorated_struct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
342
343 }}}} // apache::thrift::fixtures::types
344 namespace apache { namespace thrift { namespace fixtures { namespace types {
345
346 template <class Protocol_>
readNoXfer(Protocol_ * iprot)347 void ContainerStruct::readNoXfer(Protocol_* iprot) {
348 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
349
350 _readState.readStructBegin(iprot);
351
352 using apache::thrift::TProtocolException;
353
354
355 if (UNLIKELY(!_readState.advanceToNextField(
356 iprot,
357 0,
358 12,
359 apache::thrift::protocol::T_LIST))) {
360 goto _loop;
361 }
362 _readField_fieldA:
363 {
364 _readState.beforeSubobject(iprot);
365 this->__fbthrift_field_fieldA = ::std::vector<::std::int32_t>();
366 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int32_t>>::readWithContext(*iprot, this->__fbthrift_field_fieldA, _readState);
367 _readState.afterSubobject(iprot);
368
369 }
370 this->__isset.set(0, true);
371
372 if (UNLIKELY(!_readState.advanceToNextField(
373 iprot,
374 12,
375 2,
376 apache::thrift::protocol::T_LIST))) {
377 goto _loop;
378 }
379 _readField_fieldB:
380 {
381 _readState.beforeSubobject(iprot);
382 this->__fbthrift_field_fieldB = std::list<::std::int32_t>();
383 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, std::list<::std::int32_t>>::readWithContext(*iprot, this->__fbthrift_field_fieldB, _readState);
384 _readState.afterSubobject(iprot);
385
386 }
387 this->__isset.set(1, true);
388
389 if (UNLIKELY(!_readState.advanceToNextField(
390 iprot,
391 2,
392 3,
393 apache::thrift::protocol::T_LIST))) {
394 goto _loop;
395 }
396 _readField_fieldC:
397 {
398 _readState.beforeSubobject(iprot);
399 this->__fbthrift_field_fieldC = std::deque<::std::int32_t>();
400 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, std::deque<::std::int32_t>>::readWithContext(*iprot, this->__fbthrift_field_fieldC, _readState);
401 _readState.afterSubobject(iprot);
402
403 }
404 this->__isset.set(2, true);
405
406 if (UNLIKELY(!_readState.advanceToNextField(
407 iprot,
408 3,
409 4,
410 apache::thrift::protocol::T_LIST))) {
411 goto _loop;
412 }
413 _readField_fieldD:
414 {
415 _readState.beforeSubobject(iprot);
416 this->__fbthrift_field_fieldD = folly::fbvector<::std::int32_t>();
417 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, folly::fbvector<::std::int32_t>>::readWithContext(*iprot, this->__fbthrift_field_fieldD, _readState);
418 _readState.afterSubobject(iprot);
419
420 }
421 this->__isset.set(3, true);
422
423 if (UNLIKELY(!_readState.advanceToNextField(
424 iprot,
425 4,
426 5,
427 apache::thrift::protocol::T_LIST))) {
428 goto _loop;
429 }
430 _readField_fieldE:
431 {
432 _readState.beforeSubobject(iprot);
433 this->__fbthrift_field_fieldE = folly::small_vector<::std::int32_t>();
434 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, folly::small_vector<::std::int32_t>>::readWithContext(*iprot, this->__fbthrift_field_fieldE, _readState);
435 _readState.afterSubobject(iprot);
436
437 }
438 this->__isset.set(4, true);
439
440 if (UNLIKELY(!_readState.advanceToNextField(
441 iprot,
442 5,
443 6,
444 apache::thrift::protocol::T_SET))) {
445 goto _loop;
446 }
447 _readField_fieldF:
448 {
449 _readState.beforeSubobject(iprot);
450 this->__fbthrift_field_fieldF = folly::sorted_vector_set<::std::int32_t>();
451 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, folly::sorted_vector_set<::std::int32_t>>::readWithContext(*iprot, this->__fbthrift_field_fieldF, _readState);
452 _readState.afterSubobject(iprot);
453
454 }
455 this->__isset.set(5, true);
456
457 if (UNLIKELY(!_readState.advanceToNextField(
458 iprot,
459 6,
460 7,
461 apache::thrift::protocol::T_MAP))) {
462 goto _loop;
463 }
464 _readField_fieldG:
465 {
466 _readState.beforeSubobject(iprot);
467 this->__fbthrift_field_fieldG = folly::sorted_vector_map<::std::int32_t, ::std::string>();
468 ::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::int32_t, ::std::string>>::readWithContext(*iprot, this->__fbthrift_field_fieldG, _readState);
469 _readState.afterSubobject(iprot);
470
471 }
472 this->__isset.set(6, true);
473
474 if (UNLIKELY(!_readState.advanceToNextField(
475 iprot,
476 7,
477 8,
478 apache::thrift::protocol::T_MAP))) {
479 goto _loop;
480 }
481 _readField_fieldH:
482 {
483 _readState.beforeSubobject(iprot);
484 this->__fbthrift_field_fieldH = ::apache::thrift::fixtures::types::SomeMap();
485 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::string>, ::apache::thrift::fixtures::types::SomeMap>::readWithContext(*iprot, this->__fbthrift_field_fieldH, _readState);
486 _readState.afterSubobject(iprot);
487
488 }
489 this->__isset.set(7, true);
490
491 if (UNLIKELY(!_readState.advanceToNextField(
492 iprot,
493 8,
494 0,
495 apache::thrift::protocol::T_STOP))) {
496 goto _loop;
497 }
498
499 _end:
500 _readState.readStructEnd(iprot);
501
502 return;
503
504 _loop:
505 _readState.afterAdvanceFailure(iprot);
506 if (_readState.atStop()) {
507 goto _end;
508 }
509 if (iprot->kUsesFieldNames()) {
510 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<ContainerStruct>>();
511 }
512
513 switch (_readState.fieldId) {
514 case 12:
515 {
516 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
517 goto _readField_fieldA;
518 } else {
519 goto _skip;
520 }
521 }
522 case 2:
523 {
524 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
525 goto _readField_fieldB;
526 } else {
527 goto _skip;
528 }
529 }
530 case 3:
531 {
532 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
533 goto _readField_fieldC;
534 } else {
535 goto _skip;
536 }
537 }
538 case 4:
539 {
540 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
541 goto _readField_fieldD;
542 } else {
543 goto _skip;
544 }
545 }
546 case 5:
547 {
548 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
549 goto _readField_fieldE;
550 } else {
551 goto _skip;
552 }
553 }
554 case 6:
555 {
556 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
557 goto _readField_fieldF;
558 } else {
559 goto _skip;
560 }
561 }
562 case 7:
563 {
564 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
565 goto _readField_fieldG;
566 } else {
567 goto _skip;
568 }
569 }
570 case 8:
571 {
572 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
573 goto _readField_fieldH;
574 } else {
575 goto _skip;
576 }
577 }
578 default:
579 {
580 _skip:
581 _readState.skip(iprot);
582 _readState.readFieldEnd(iprot);
583 _readState.readFieldBeginNoInline(iprot);
584 goto _loop;
585 }
586 }
587 }
588
589 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const590 uint32_t ContainerStruct::serializedSize(Protocol_ const* prot_) const {
591 uint32_t xfer = 0;
592 xfer += prot_->serializedStructSize("ContainerStruct");
593 {
594 xfer += prot_->serializedFieldSize("fieldA", apache::thrift::protocol::T_LIST, 12);
595 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->__fbthrift_field_fieldA);
596 }
597 {
598 xfer += prot_->serializedFieldSize("fieldB", apache::thrift::protocol::T_LIST, 2);
599 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->__fbthrift_field_fieldB);
600 }
601 {
602 xfer += prot_->serializedFieldSize("fieldC", apache::thrift::protocol::T_LIST, 3);
603 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, std::deque<::std::int32_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_fieldC);
604 }
605 {
606 xfer += prot_->serializedFieldSize("fieldD", apache::thrift::protocol::T_LIST, 4);
607 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, folly::fbvector<::std::int32_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_fieldD);
608 }
609 {
610 xfer += prot_->serializedFieldSize("fieldE", apache::thrift::protocol::T_LIST, 5);
611 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, folly::small_vector<::std::int32_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_fieldE);
612 }
613 {
614 xfer += prot_->serializedFieldSize("fieldF", apache::thrift::protocol::T_SET, 6);
615 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, folly::sorted_vector_set<::std::int32_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_fieldF);
616 }
617 {
618 xfer += prot_->serializedFieldSize("fieldG", apache::thrift::protocol::T_MAP, 7);
619 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::int32_t, ::std::string>>::serializedSize<false>(*prot_, this->__fbthrift_field_fieldG);
620 }
621 {
622 xfer += prot_->serializedFieldSize("fieldH", apache::thrift::protocol::T_MAP, 8);
623 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::string>, ::apache::thrift::fixtures::types::SomeMap>::serializedSize<false>(*prot_, this->__fbthrift_field_fieldH);
624 }
625 xfer += prot_->serializedSizeStop();
626 return xfer;
627 }
628
629 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const630 uint32_t ContainerStruct::serializedSizeZC(Protocol_ const* prot_) const {
631 uint32_t xfer = 0;
632 xfer += prot_->serializedStructSize("ContainerStruct");
633 {
634 xfer += prot_->serializedFieldSize("fieldA", apache::thrift::protocol::T_LIST, 12);
635 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->__fbthrift_field_fieldA);
636 }
637 {
638 xfer += prot_->serializedFieldSize("fieldB", apache::thrift::protocol::T_LIST, 2);
639 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->__fbthrift_field_fieldB);
640 }
641 {
642 xfer += prot_->serializedFieldSize("fieldC", apache::thrift::protocol::T_LIST, 3);
643 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, std::deque<::std::int32_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_fieldC);
644 }
645 {
646 xfer += prot_->serializedFieldSize("fieldD", apache::thrift::protocol::T_LIST, 4);
647 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, folly::fbvector<::std::int32_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_fieldD);
648 }
649 {
650 xfer += prot_->serializedFieldSize("fieldE", apache::thrift::protocol::T_LIST, 5);
651 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, folly::small_vector<::std::int32_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_fieldE);
652 }
653 {
654 xfer += prot_->serializedFieldSize("fieldF", apache::thrift::protocol::T_SET, 6);
655 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, folly::sorted_vector_set<::std::int32_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_fieldF);
656 }
657 {
658 xfer += prot_->serializedFieldSize("fieldG", apache::thrift::protocol::T_MAP, 7);
659 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::int32_t, ::std::string>>::serializedSize<false>(*prot_, this->__fbthrift_field_fieldG);
660 }
661 {
662 xfer += prot_->serializedFieldSize("fieldH", apache::thrift::protocol::T_MAP, 8);
663 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::string>, ::apache::thrift::fixtures::types::SomeMap>::serializedSize<false>(*prot_, this->__fbthrift_field_fieldH);
664 }
665 xfer += prot_->serializedSizeStop();
666 return xfer;
667 }
668
669 template <class Protocol_>
write(Protocol_ * prot_) const670 uint32_t ContainerStruct::write(Protocol_* prot_) const {
671 uint32_t xfer = 0;
672 xfer += prot_->writeStructBegin("ContainerStruct");
673 bool previousFieldHasValue = true;
674 {
675 constexpr int16_t kPrevFieldId = 0;
676 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 12, kPrevFieldId>(*prot_, "fieldA", previousFieldHasValue);
677 previousFieldHasValue = true;
678 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->__fbthrift_field_fieldA);
679 xfer += prot_->writeFieldEnd();
680 }
681 {
682 constexpr int16_t kPrevFieldId = 12;
683 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 2, kPrevFieldId>(*prot_, "fieldB", previousFieldHasValue);
684 previousFieldHasValue = true;
685 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->__fbthrift_field_fieldB);
686 xfer += prot_->writeFieldEnd();
687 }
688 {
689 constexpr int16_t kPrevFieldId = 2;
690 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 3, kPrevFieldId>(*prot_, "fieldC", previousFieldHasValue);
691 previousFieldHasValue = true;
692 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, std::deque<::std::int32_t>>::write(*prot_, this->__fbthrift_field_fieldC);
693 xfer += prot_->writeFieldEnd();
694 }
695 {
696 constexpr int16_t kPrevFieldId = 3;
697 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 4, kPrevFieldId>(*prot_, "fieldD", previousFieldHasValue);
698 previousFieldHasValue = true;
699 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, folly::fbvector<::std::int32_t>>::write(*prot_, this->__fbthrift_field_fieldD);
700 xfer += prot_->writeFieldEnd();
701 }
702 {
703 constexpr int16_t kPrevFieldId = 4;
704 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 5, kPrevFieldId>(*prot_, "fieldE", previousFieldHasValue);
705 previousFieldHasValue = true;
706 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, folly::small_vector<::std::int32_t>>::write(*prot_, this->__fbthrift_field_fieldE);
707 xfer += prot_->writeFieldEnd();
708 }
709 {
710 constexpr int16_t kPrevFieldId = 5;
711 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 6, kPrevFieldId>(*prot_, "fieldF", previousFieldHasValue);
712 previousFieldHasValue = true;
713 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, folly::sorted_vector_set<::std::int32_t>>::write(*prot_, this->__fbthrift_field_fieldF);
714 xfer += prot_->writeFieldEnd();
715 }
716 {
717 constexpr int16_t kPrevFieldId = 6;
718 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 7, kPrevFieldId>(*prot_, "fieldG", previousFieldHasValue);
719 previousFieldHasValue = true;
720 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::int32_t, ::std::string>>::write(*prot_, this->__fbthrift_field_fieldG);
721 xfer += prot_->writeFieldEnd();
722 }
723 {
724 constexpr int16_t kPrevFieldId = 7;
725 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 8, kPrevFieldId>(*prot_, "fieldH", previousFieldHasValue);
726 previousFieldHasValue = true;
727 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::string>, ::apache::thrift::fixtures::types::SomeMap>::write(*prot_, this->__fbthrift_field_fieldH);
728 xfer += prot_->writeFieldEnd();
729 }
730 xfer += prot_->writeFieldStop();
731 xfer += prot_->writeStructEnd();
732 return xfer;
733 }
734
735 extern template void ContainerStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
736 extern template uint32_t ContainerStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
737 extern template uint32_t ContainerStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
738 extern template uint32_t ContainerStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
739 extern template void ContainerStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
740 extern template uint32_t ContainerStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
741 extern template uint32_t ContainerStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
742 extern template uint32_t ContainerStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
743
744 }}}} // apache::thrift::fixtures::types
745 namespace apache { namespace thrift { namespace fixtures { namespace types {
746
747 template <class Protocol_>
readNoXfer(Protocol_ * iprot)748 void CppTypeStruct::readNoXfer(Protocol_* iprot) {
749 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
750
751 _readState.readStructBegin(iprot);
752
753 using apache::thrift::TProtocolException;
754
755
756 if (UNLIKELY(!_readState.advanceToNextField(
757 iprot,
758 0,
759 1,
760 apache::thrift::protocol::T_LIST))) {
761 goto _loop;
762 }
763 _readField_fieldA:
764 {
765 _readState.beforeSubobject(iprot);
766 this->__fbthrift_field_fieldA = std::list<int32_t>();
767 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, std::list<int32_t>>::readWithContext(*iprot, this->__fbthrift_field_fieldA, _readState);
768 _readState.afterSubobject(iprot);
769
770 }
771 this->__isset.set(0, true);
772
773 if (UNLIKELY(!_readState.advanceToNextField(
774 iprot,
775 1,
776 0,
777 apache::thrift::protocol::T_STOP))) {
778 goto _loop;
779 }
780
781 _end:
782 _readState.readStructEnd(iprot);
783
784 return;
785
786 _loop:
787 _readState.afterAdvanceFailure(iprot);
788 if (_readState.atStop()) {
789 goto _end;
790 }
791 if (iprot->kUsesFieldNames()) {
792 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<CppTypeStruct>>();
793 }
794
795 switch (_readState.fieldId) {
796 case 1:
797 {
798 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
799 goto _readField_fieldA;
800 } else {
801 goto _skip;
802 }
803 }
804 default:
805 {
806 _skip:
807 _readState.skip(iprot);
808 _readState.readFieldEnd(iprot);
809 _readState.readFieldBeginNoInline(iprot);
810 goto _loop;
811 }
812 }
813 }
814
815 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const816 uint32_t CppTypeStruct::serializedSize(Protocol_ const* prot_) const {
817 uint32_t xfer = 0;
818 xfer += prot_->serializedStructSize("CppTypeStruct");
819 {
820 xfer += prot_->serializedFieldSize("fieldA", apache::thrift::protocol::T_LIST, 1);
821 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, std::list<int32_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_fieldA);
822 }
823 xfer += prot_->serializedSizeStop();
824 return xfer;
825 }
826
827 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const828 uint32_t CppTypeStruct::serializedSizeZC(Protocol_ const* prot_) const {
829 uint32_t xfer = 0;
830 xfer += prot_->serializedStructSize("CppTypeStruct");
831 {
832 xfer += prot_->serializedFieldSize("fieldA", apache::thrift::protocol::T_LIST, 1);
833 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, std::list<int32_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_fieldA);
834 }
835 xfer += prot_->serializedSizeStop();
836 return xfer;
837 }
838
839 template <class Protocol_>
write(Protocol_ * prot_) const840 uint32_t CppTypeStruct::write(Protocol_* prot_) const {
841 uint32_t xfer = 0;
842 xfer += prot_->writeStructBegin("CppTypeStruct");
843 bool previousFieldHasValue = true;
844 {
845 constexpr int16_t kPrevFieldId = 0;
846 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 1, kPrevFieldId>(*prot_, "fieldA", previousFieldHasValue);
847 previousFieldHasValue = true;
848 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, std::list<int32_t>>::write(*prot_, this->__fbthrift_field_fieldA);
849 xfer += prot_->writeFieldEnd();
850 }
851 xfer += prot_->writeFieldStop();
852 xfer += prot_->writeStructEnd();
853 return xfer;
854 }
855
856 extern template void CppTypeStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
857 extern template uint32_t CppTypeStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
858 extern template uint32_t CppTypeStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
859 extern template uint32_t CppTypeStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
860 extern template void CppTypeStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
861 extern template uint32_t CppTypeStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
862 extern template uint32_t CppTypeStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
863 extern template uint32_t CppTypeStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
864
865 }}}} // apache::thrift::fixtures::types
866 namespace apache { namespace thrift { namespace fixtures { namespace types {
867
868 template <class Protocol_>
readNoXfer(Protocol_ * iprot)869 void VirtualStruct::readNoXfer(Protocol_* iprot) {
870 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
871
872 _readState.readStructBegin(iprot);
873
874 using apache::thrift::TProtocolException;
875
876
877 if (UNLIKELY(!_readState.advanceToNextField(
878 iprot,
879 0,
880 1,
881 apache::thrift::protocol::T_I64))) {
882 goto _loop;
883 }
884 _readField_MyIntField:
885 {
886 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, this->__fbthrift_field_MyIntField, _readState);
887
888 }
889 this->__isset.set(0, true);
890
891 if (UNLIKELY(!_readState.advanceToNextField(
892 iprot,
893 1,
894 0,
895 apache::thrift::protocol::T_STOP))) {
896 goto _loop;
897 }
898
899 _end:
900 _readState.readStructEnd(iprot);
901
902 return;
903
904 _loop:
905 _readState.afterAdvanceFailure(iprot);
906 if (_readState.atStop()) {
907 goto _end;
908 }
909 if (iprot->kUsesFieldNames()) {
910 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<VirtualStruct>>();
911 }
912
913 switch (_readState.fieldId) {
914 case 1:
915 {
916 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
917 goto _readField_MyIntField;
918 } else {
919 goto _skip;
920 }
921 }
922 default:
923 {
924 _skip:
925 _readState.skip(iprot);
926 _readState.readFieldEnd(iprot);
927 _readState.readFieldBeginNoInline(iprot);
928 goto _loop;
929 }
930 }
931 }
932
933 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const934 uint32_t VirtualStruct::serializedSize(Protocol_ const* prot_) const {
935 uint32_t xfer = 0;
936 xfer += prot_->serializedStructSize("VirtualStruct");
937 {
938 xfer += prot_->serializedFieldSize("MyIntField", apache::thrift::protocol::T_I64, 1);
939 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_MyIntField);
940 }
941 xfer += prot_->serializedSizeStop();
942 return xfer;
943 }
944
945 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const946 uint32_t VirtualStruct::serializedSizeZC(Protocol_ const* prot_) const {
947 uint32_t xfer = 0;
948 xfer += prot_->serializedStructSize("VirtualStruct");
949 {
950 xfer += prot_->serializedFieldSize("MyIntField", apache::thrift::protocol::T_I64, 1);
951 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_MyIntField);
952 }
953 xfer += prot_->serializedSizeStop();
954 return xfer;
955 }
956
957 template <class Protocol_>
write(Protocol_ * prot_) const958 uint32_t VirtualStruct::write(Protocol_* prot_) const {
959 uint32_t xfer = 0;
960 xfer += prot_->writeStructBegin("VirtualStruct");
961 bool previousFieldHasValue = true;
962 {
963 constexpr int16_t kPrevFieldId = 0;
964 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 1, kPrevFieldId>(*prot_, "MyIntField", previousFieldHasValue);
965 previousFieldHasValue = true;
966 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, this->__fbthrift_field_MyIntField);
967 xfer += prot_->writeFieldEnd();
968 }
969 xfer += prot_->writeFieldStop();
970 xfer += prot_->writeStructEnd();
971 return xfer;
972 }
973
974 extern template void VirtualStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
975 extern template uint32_t VirtualStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
976 extern template uint32_t VirtualStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
977 extern template uint32_t VirtualStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
978 extern template void VirtualStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
979 extern template uint32_t VirtualStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
980 extern template uint32_t VirtualStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
981 extern template uint32_t VirtualStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
982
983 }}}} // apache::thrift::fixtures::types
984 namespace apache { namespace thrift { namespace fixtures { namespace types {
985
986 template <class Protocol_>
readNoXfer(Protocol_ * iprot)987 void MyStructWithForwardRefEnum::readNoXfer(Protocol_* iprot) {
988 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
989
990 _readState.readStructBegin(iprot);
991
992 using apache::thrift::TProtocolException;
993
994
995 if (UNLIKELY(!_readState.advanceToNextField(
996 iprot,
997 0,
998 1,
999 apache::thrift::protocol::T_I32))) {
1000 goto _loop;
1001 }
1002 _readField_a:
1003 {
1004 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::apache::thrift::fixtures::types::MyForwardRefEnum>::readWithContext(*iprot, this->__fbthrift_field_a, _readState);
1005
1006 }
1007 this->__isset.set(0, true);
1008
1009 if (UNLIKELY(!_readState.advanceToNextField(
1010 iprot,
1011 1,
1012 2,
1013 apache::thrift::protocol::T_I32))) {
1014 goto _loop;
1015 }
1016 _readField_b:
1017 {
1018 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::apache::thrift::fixtures::types::MyForwardRefEnum>::readWithContext(*iprot, this->__fbthrift_field_b, _readState);
1019
1020 }
1021 this->__isset.set(1, true);
1022
1023 if (UNLIKELY(!_readState.advanceToNextField(
1024 iprot,
1025 2,
1026 0,
1027 apache::thrift::protocol::T_STOP))) {
1028 goto _loop;
1029 }
1030
1031 _end:
1032 _readState.readStructEnd(iprot);
1033
1034 return;
1035
1036 _loop:
1037 _readState.afterAdvanceFailure(iprot);
1038 if (_readState.atStop()) {
1039 goto _end;
1040 }
1041 if (iprot->kUsesFieldNames()) {
1042 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<MyStructWithForwardRefEnum>>();
1043 }
1044
1045 switch (_readState.fieldId) {
1046 case 1:
1047 {
1048 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
1049 goto _readField_a;
1050 } else {
1051 goto _skip;
1052 }
1053 }
1054 case 2:
1055 {
1056 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
1057 goto _readField_b;
1058 } else {
1059 goto _skip;
1060 }
1061 }
1062 default:
1063 {
1064 _skip:
1065 _readState.skip(iprot);
1066 _readState.readFieldEnd(iprot);
1067 _readState.readFieldBeginNoInline(iprot);
1068 goto _loop;
1069 }
1070 }
1071 }
1072
1073 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const1074 uint32_t MyStructWithForwardRefEnum::serializedSize(Protocol_ const* prot_) const {
1075 uint32_t xfer = 0;
1076 xfer += prot_->serializedStructSize("MyStructWithForwardRefEnum");
1077 {
1078 xfer += prot_->serializedFieldSize("a", apache::thrift::protocol::T_I32, 1);
1079 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::apache::thrift::fixtures::types::MyForwardRefEnum>::serializedSize<false>(*prot_, this->__fbthrift_field_a);
1080 }
1081 {
1082 xfer += prot_->serializedFieldSize("b", apache::thrift::protocol::T_I32, 2);
1083 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::apache::thrift::fixtures::types::MyForwardRefEnum>::serializedSize<false>(*prot_, this->__fbthrift_field_b);
1084 }
1085 xfer += prot_->serializedSizeStop();
1086 return xfer;
1087 }
1088
1089 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const1090 uint32_t MyStructWithForwardRefEnum::serializedSizeZC(Protocol_ const* prot_) const {
1091 uint32_t xfer = 0;
1092 xfer += prot_->serializedStructSize("MyStructWithForwardRefEnum");
1093 {
1094 xfer += prot_->serializedFieldSize("a", apache::thrift::protocol::T_I32, 1);
1095 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::apache::thrift::fixtures::types::MyForwardRefEnum>::serializedSize<false>(*prot_, this->__fbthrift_field_a);
1096 }
1097 {
1098 xfer += prot_->serializedFieldSize("b", apache::thrift::protocol::T_I32, 2);
1099 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::apache::thrift::fixtures::types::MyForwardRefEnum>::serializedSize<false>(*prot_, this->__fbthrift_field_b);
1100 }
1101 xfer += prot_->serializedSizeStop();
1102 return xfer;
1103 }
1104
1105 template <class Protocol_>
write(Protocol_ * prot_) const1106 uint32_t MyStructWithForwardRefEnum::write(Protocol_* prot_) const {
1107 uint32_t xfer = 0;
1108 xfer += prot_->writeStructBegin("MyStructWithForwardRefEnum");
1109 bool previousFieldHasValue = true;
1110 {
1111 constexpr int16_t kPrevFieldId = 0;
1112 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 1, kPrevFieldId>(*prot_, "a", previousFieldHasValue);
1113 previousFieldHasValue = true;
1114 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::apache::thrift::fixtures::types::MyForwardRefEnum>::write(*prot_, this->__fbthrift_field_a);
1115 xfer += prot_->writeFieldEnd();
1116 }
1117 {
1118 constexpr int16_t kPrevFieldId = 1;
1119 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 2, kPrevFieldId>(*prot_, "b", previousFieldHasValue);
1120 previousFieldHasValue = true;
1121 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::apache::thrift::fixtures::types::MyForwardRefEnum>::write(*prot_, this->__fbthrift_field_b);
1122 xfer += prot_->writeFieldEnd();
1123 }
1124 xfer += prot_->writeFieldStop();
1125 xfer += prot_->writeStructEnd();
1126 return xfer;
1127 }
1128
1129 extern template void MyStructWithForwardRefEnum::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
1130 extern template uint32_t MyStructWithForwardRefEnum::write<>(apache::thrift::BinaryProtocolWriter*) const;
1131 extern template uint32_t MyStructWithForwardRefEnum::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
1132 extern template uint32_t MyStructWithForwardRefEnum::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
1133 extern template void MyStructWithForwardRefEnum::readNoXfer<>(apache::thrift::CompactProtocolReader*);
1134 extern template uint32_t MyStructWithForwardRefEnum::write<>(apache::thrift::CompactProtocolWriter*) const;
1135 extern template uint32_t MyStructWithForwardRefEnum::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
1136 extern template uint32_t MyStructWithForwardRefEnum::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
1137
1138 }}}} // apache::thrift::fixtures::types
1139 namespace apache { namespace thrift { namespace fixtures { namespace types {
1140
1141 template <class Protocol_>
readNoXfer(Protocol_ * iprot)1142 void TrivialNumeric::readNoXfer(Protocol_* iprot) {
1143 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
1144
1145 _readState.readStructBegin(iprot);
1146
1147 using apache::thrift::TProtocolException;
1148
1149
1150 if (UNLIKELY(!_readState.advanceToNextField(
1151 iprot,
1152 0,
1153 1,
1154 apache::thrift::protocol::T_I32))) {
1155 goto _loop;
1156 }
1157 _readField_a:
1158 {
1159 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->__fbthrift_field_a, _readState);
1160
1161 }
1162 this->__isset.set(0, true);
1163
1164 if (UNLIKELY(!_readState.advanceToNextField(
1165 iprot,
1166 1,
1167 2,
1168 apache::thrift::protocol::T_BOOL))) {
1169 goto _loop;
1170 }
1171 _readField_b:
1172 {
1173 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::readWithContext(*iprot, this->__fbthrift_field_b, _readState);
1174
1175 }
1176 this->__isset.set(1, true);
1177
1178 if (UNLIKELY(!_readState.advanceToNextField(
1179 iprot,
1180 2,
1181 0,
1182 apache::thrift::protocol::T_STOP))) {
1183 goto _loop;
1184 }
1185
1186 _end:
1187 _readState.readStructEnd(iprot);
1188
1189 return;
1190
1191 _loop:
1192 _readState.afterAdvanceFailure(iprot);
1193 if (_readState.atStop()) {
1194 goto _end;
1195 }
1196 if (iprot->kUsesFieldNames()) {
1197 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<TrivialNumeric>>();
1198 }
1199
1200 switch (_readState.fieldId) {
1201 case 1:
1202 {
1203 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
1204 goto _readField_a;
1205 } else {
1206 goto _skip;
1207 }
1208 }
1209 case 2:
1210 {
1211 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BOOL))) {
1212 goto _readField_b;
1213 } else {
1214 goto _skip;
1215 }
1216 }
1217 default:
1218 {
1219 _skip:
1220 _readState.skip(iprot);
1221 _readState.readFieldEnd(iprot);
1222 _readState.readFieldBeginNoInline(iprot);
1223 goto _loop;
1224 }
1225 }
1226 }
1227
1228 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const1229 uint32_t TrivialNumeric::serializedSize(Protocol_ const* prot_) const {
1230 uint32_t xfer = 0;
1231 xfer += prot_->serializedStructSize("TrivialNumeric");
1232 {
1233 xfer += prot_->serializedFieldSize("a", apache::thrift::protocol::T_I32, 1);
1234 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_a);
1235 }
1236 {
1237 xfer += prot_->serializedFieldSize("b", apache::thrift::protocol::T_BOOL, 2);
1238 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->__fbthrift_field_b);
1239 }
1240 xfer += prot_->serializedSizeStop();
1241 return xfer;
1242 }
1243
1244 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const1245 uint32_t TrivialNumeric::serializedSizeZC(Protocol_ const* prot_) const {
1246 uint32_t xfer = 0;
1247 xfer += prot_->serializedStructSize("TrivialNumeric");
1248 {
1249 xfer += prot_->serializedFieldSize("a", apache::thrift::protocol::T_I32, 1);
1250 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_a);
1251 }
1252 {
1253 xfer += prot_->serializedFieldSize("b", apache::thrift::protocol::T_BOOL, 2);
1254 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->__fbthrift_field_b);
1255 }
1256 xfer += prot_->serializedSizeStop();
1257 return xfer;
1258 }
1259
1260 template <class Protocol_>
write(Protocol_ * prot_) const1261 uint32_t TrivialNumeric::write(Protocol_* prot_) const {
1262 uint32_t xfer = 0;
1263 xfer += prot_->writeStructBegin("TrivialNumeric");
1264 bool previousFieldHasValue = true;
1265 {
1266 constexpr int16_t kPrevFieldId = 0;
1267 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 1, kPrevFieldId>(*prot_, "a", previousFieldHasValue);
1268 previousFieldHasValue = true;
1269 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->__fbthrift_field_a);
1270 xfer += prot_->writeFieldEnd();
1271 }
1272 {
1273 constexpr int16_t kPrevFieldId = 1;
1274 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BOOL, 2, kPrevFieldId>(*prot_, "b", previousFieldHasValue);
1275 previousFieldHasValue = true;
1276 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::write(*prot_, this->__fbthrift_field_b);
1277 xfer += prot_->writeFieldEnd();
1278 }
1279 xfer += prot_->writeFieldStop();
1280 xfer += prot_->writeStructEnd();
1281 return xfer;
1282 }
1283
1284 extern template void TrivialNumeric::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
1285 extern template uint32_t TrivialNumeric::write<>(apache::thrift::BinaryProtocolWriter*) const;
1286 extern template uint32_t TrivialNumeric::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
1287 extern template uint32_t TrivialNumeric::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
1288 extern template void TrivialNumeric::readNoXfer<>(apache::thrift::CompactProtocolReader*);
1289 extern template uint32_t TrivialNumeric::write<>(apache::thrift::CompactProtocolWriter*) const;
1290 extern template uint32_t TrivialNumeric::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
1291 extern template uint32_t TrivialNumeric::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
1292
1293 }}}} // apache::thrift::fixtures::types
1294 namespace apache { namespace thrift { namespace fixtures { namespace types {
1295
1296 template <class Protocol_>
readNoXfer(Protocol_ * iprot)1297 void TrivialNestedWithDefault::readNoXfer(Protocol_* iprot) {
1298 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
1299
1300 _readState.readStructBegin(iprot);
1301
1302 using apache::thrift::TProtocolException;
1303
1304
1305 if (UNLIKELY(!_readState.advanceToNextField(
1306 iprot,
1307 0,
1308 1,
1309 apache::thrift::protocol::T_I32))) {
1310 goto _loop;
1311 }
1312 _readField_z:
1313 {
1314 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->__fbthrift_field_z, _readState);
1315
1316 }
1317 this->__isset.set(0, true);
1318
1319 if (UNLIKELY(!_readState.advanceToNextField(
1320 iprot,
1321 1,
1322 2,
1323 apache::thrift::protocol::T_STRUCT))) {
1324 goto _loop;
1325 }
1326 _readField_n:
1327 {
1328 _readState.beforeSubobject(iprot);
1329 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::TrivialNumeric>::readWithContext(*iprot, this->__fbthrift_field_n, _readState);
1330 _readState.afterSubobject(iprot);
1331
1332 }
1333 this->__isset.set(1, true);
1334
1335 if (UNLIKELY(!_readState.advanceToNextField(
1336 iprot,
1337 2,
1338 0,
1339 apache::thrift::protocol::T_STOP))) {
1340 goto _loop;
1341 }
1342
1343 _end:
1344 _readState.readStructEnd(iprot);
1345
1346 return;
1347
1348 _loop:
1349 _readState.afterAdvanceFailure(iprot);
1350 if (_readState.atStop()) {
1351 goto _end;
1352 }
1353 if (iprot->kUsesFieldNames()) {
1354 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<TrivialNestedWithDefault>>();
1355 }
1356
1357 switch (_readState.fieldId) {
1358 case 1:
1359 {
1360 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
1361 goto _readField_z;
1362 } else {
1363 goto _skip;
1364 }
1365 }
1366 case 2:
1367 {
1368 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
1369 goto _readField_n;
1370 } else {
1371 goto _skip;
1372 }
1373 }
1374 default:
1375 {
1376 _skip:
1377 _readState.skip(iprot);
1378 _readState.readFieldEnd(iprot);
1379 _readState.readFieldBeginNoInline(iprot);
1380 goto _loop;
1381 }
1382 }
1383 }
1384
1385 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const1386 uint32_t TrivialNestedWithDefault::serializedSize(Protocol_ const* prot_) const {
1387 uint32_t xfer = 0;
1388 xfer += prot_->serializedStructSize("TrivialNestedWithDefault");
1389 {
1390 xfer += prot_->serializedFieldSize("z", apache::thrift::protocol::T_I32, 1);
1391 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_z);
1392 }
1393 {
1394 xfer += prot_->serializedFieldSize("n", apache::thrift::protocol::T_STRUCT, 2);
1395 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::TrivialNumeric>::serializedSize<false>(*prot_, this->__fbthrift_field_n);
1396 }
1397 xfer += prot_->serializedSizeStop();
1398 return xfer;
1399 }
1400
1401 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const1402 uint32_t TrivialNestedWithDefault::serializedSizeZC(Protocol_ const* prot_) const {
1403 uint32_t xfer = 0;
1404 xfer += prot_->serializedStructSize("TrivialNestedWithDefault");
1405 {
1406 xfer += prot_->serializedFieldSize("z", apache::thrift::protocol::T_I32, 1);
1407 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_z);
1408 }
1409 {
1410 xfer += prot_->serializedFieldSize("n", apache::thrift::protocol::T_STRUCT, 2);
1411 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::TrivialNumeric>::serializedSize<true>(*prot_, this->__fbthrift_field_n);
1412 }
1413 xfer += prot_->serializedSizeStop();
1414 return xfer;
1415 }
1416
1417 template <class Protocol_>
write(Protocol_ * prot_) const1418 uint32_t TrivialNestedWithDefault::write(Protocol_* prot_) const {
1419 uint32_t xfer = 0;
1420 xfer += prot_->writeStructBegin("TrivialNestedWithDefault");
1421 bool previousFieldHasValue = true;
1422 {
1423 constexpr int16_t kPrevFieldId = 0;
1424 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 1, kPrevFieldId>(*prot_, "z", previousFieldHasValue);
1425 previousFieldHasValue = true;
1426 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->__fbthrift_field_z);
1427 xfer += prot_->writeFieldEnd();
1428 }
1429 {
1430 constexpr int16_t kPrevFieldId = 1;
1431 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 2, kPrevFieldId>(*prot_, "n", previousFieldHasValue);
1432 previousFieldHasValue = true;
1433 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::TrivialNumeric>::write(*prot_, this->__fbthrift_field_n);
1434 xfer += prot_->writeFieldEnd();
1435 }
1436 xfer += prot_->writeFieldStop();
1437 xfer += prot_->writeStructEnd();
1438 return xfer;
1439 }
1440
1441 extern template void TrivialNestedWithDefault::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
1442 extern template uint32_t TrivialNestedWithDefault::write<>(apache::thrift::BinaryProtocolWriter*) const;
1443 extern template uint32_t TrivialNestedWithDefault::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
1444 extern template uint32_t TrivialNestedWithDefault::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
1445 extern template void TrivialNestedWithDefault::readNoXfer<>(apache::thrift::CompactProtocolReader*);
1446 extern template uint32_t TrivialNestedWithDefault::write<>(apache::thrift::CompactProtocolWriter*) const;
1447 extern template uint32_t TrivialNestedWithDefault::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
1448 extern template uint32_t TrivialNestedWithDefault::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
1449
1450 }}}} // apache::thrift::fixtures::types
1451 namespace apache { namespace thrift { namespace fixtures { namespace types {
1452
1453 template <class Protocol_>
readNoXfer(Protocol_ * iprot)1454 void ComplexString::readNoXfer(Protocol_* iprot) {
1455 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
1456
1457 _readState.readStructBegin(iprot);
1458
1459 using apache::thrift::TProtocolException;
1460
1461
1462 if (UNLIKELY(!_readState.advanceToNextField(
1463 iprot,
1464 0,
1465 1,
1466 apache::thrift::protocol::T_STRING))) {
1467 goto _loop;
1468 }
1469 _readField_a:
1470 {
1471 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_a, _readState);
1472
1473 }
1474 this->__isset.set(0, true);
1475
1476 if (UNLIKELY(!_readState.advanceToNextField(
1477 iprot,
1478 1,
1479 2,
1480 apache::thrift::protocol::T_MAP))) {
1481 goto _loop;
1482 }
1483 _readField_b:
1484 {
1485 _readState.beforeSubobject(iprot);
1486 this->__fbthrift_field_b = ::std::map<::std::string, ::std::int32_t>();
1487 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::integral>, ::std::map<::std::string, ::std::int32_t>>::readWithContext(*iprot, this->__fbthrift_field_b, _readState);
1488 _readState.afterSubobject(iprot);
1489
1490 }
1491 this->__isset.set(1, true);
1492
1493 if (UNLIKELY(!_readState.advanceToNextField(
1494 iprot,
1495 2,
1496 0,
1497 apache::thrift::protocol::T_STOP))) {
1498 goto _loop;
1499 }
1500
1501 _end:
1502 _readState.readStructEnd(iprot);
1503
1504 return;
1505
1506 _loop:
1507 _readState.afterAdvanceFailure(iprot);
1508 if (_readState.atStop()) {
1509 goto _end;
1510 }
1511 if (iprot->kUsesFieldNames()) {
1512 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<ComplexString>>();
1513 }
1514
1515 switch (_readState.fieldId) {
1516 case 1:
1517 {
1518 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
1519 goto _readField_a;
1520 } else {
1521 goto _skip;
1522 }
1523 }
1524 case 2:
1525 {
1526 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
1527 goto _readField_b;
1528 } else {
1529 goto _skip;
1530 }
1531 }
1532 default:
1533 {
1534 _skip:
1535 _readState.skip(iprot);
1536 _readState.readFieldEnd(iprot);
1537 _readState.readFieldBeginNoInline(iprot);
1538 goto _loop;
1539 }
1540 }
1541 }
1542
1543 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const1544 uint32_t ComplexString::serializedSize(Protocol_ const* prot_) const {
1545 uint32_t xfer = 0;
1546 xfer += prot_->serializedStructSize("ComplexString");
1547 {
1548 xfer += prot_->serializedFieldSize("a", apache::thrift::protocol::T_STRING, 1);
1549 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_a);
1550 }
1551 {
1552 xfer += prot_->serializedFieldSize("b", apache::thrift::protocol::T_MAP, 2);
1553 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::integral>, ::std::map<::std::string, ::std::int32_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_b);
1554 }
1555 xfer += prot_->serializedSizeStop();
1556 return xfer;
1557 }
1558
1559 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const1560 uint32_t ComplexString::serializedSizeZC(Protocol_ const* prot_) const {
1561 uint32_t xfer = 0;
1562 xfer += prot_->serializedStructSize("ComplexString");
1563 {
1564 xfer += prot_->serializedFieldSize("a", apache::thrift::protocol::T_STRING, 1);
1565 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_a);
1566 }
1567 {
1568 xfer += prot_->serializedFieldSize("b", apache::thrift::protocol::T_MAP, 2);
1569 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::integral>, ::std::map<::std::string, ::std::int32_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_b);
1570 }
1571 xfer += prot_->serializedSizeStop();
1572 return xfer;
1573 }
1574
1575 template <class Protocol_>
write(Protocol_ * prot_) const1576 uint32_t ComplexString::write(Protocol_* prot_) const {
1577 uint32_t xfer = 0;
1578 xfer += prot_->writeStructBegin("ComplexString");
1579 bool previousFieldHasValue = true;
1580 {
1581 constexpr int16_t kPrevFieldId = 0;
1582 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 1, kPrevFieldId>(*prot_, "a", previousFieldHasValue);
1583 previousFieldHasValue = true;
1584 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_a);
1585 xfer += prot_->writeFieldEnd();
1586 }
1587 {
1588 constexpr int16_t kPrevFieldId = 1;
1589 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 2, kPrevFieldId>(*prot_, "b", previousFieldHasValue);
1590 previousFieldHasValue = true;
1591 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::string, ::apache::thrift::type_class::integral>, ::std::map<::std::string, ::std::int32_t>>::write(*prot_, this->__fbthrift_field_b);
1592 xfer += prot_->writeFieldEnd();
1593 }
1594 xfer += prot_->writeFieldStop();
1595 xfer += prot_->writeStructEnd();
1596 return xfer;
1597 }
1598
1599 extern template void ComplexString::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
1600 extern template uint32_t ComplexString::write<>(apache::thrift::BinaryProtocolWriter*) const;
1601 extern template uint32_t ComplexString::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
1602 extern template uint32_t ComplexString::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
1603 extern template void ComplexString::readNoXfer<>(apache::thrift::CompactProtocolReader*);
1604 extern template uint32_t ComplexString::write<>(apache::thrift::CompactProtocolWriter*) const;
1605 extern template uint32_t ComplexString::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
1606 extern template uint32_t ComplexString::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
1607
1608 }}}} // apache::thrift::fixtures::types
1609 namespace apache { namespace thrift { namespace fixtures { namespace types {
1610
1611 template <class Protocol_>
readNoXfer(Protocol_ * iprot)1612 void ComplexNestedWithDefault::readNoXfer(Protocol_* iprot) {
1613 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
1614
1615 _readState.readStructBegin(iprot);
1616
1617 using apache::thrift::TProtocolException;
1618
1619
1620 if (UNLIKELY(!_readState.advanceToNextField(
1621 iprot,
1622 0,
1623 1,
1624 apache::thrift::protocol::T_STRING))) {
1625 goto _loop;
1626 }
1627 _readField_z:
1628 {
1629 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_z, _readState);
1630
1631 }
1632 this->__isset.set(0, true);
1633
1634 if (UNLIKELY(!_readState.advanceToNextField(
1635 iprot,
1636 1,
1637 2,
1638 apache::thrift::protocol::T_STRUCT))) {
1639 goto _loop;
1640 }
1641 _readField_n:
1642 {
1643 _readState.beforeSubobject(iprot);
1644 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ComplexString>::readWithContext(*iprot, this->__fbthrift_field_n, _readState);
1645 _readState.afterSubobject(iprot);
1646
1647 }
1648 this->__isset.set(1, true);
1649
1650 if (UNLIKELY(!_readState.advanceToNextField(
1651 iprot,
1652 2,
1653 0,
1654 apache::thrift::protocol::T_STOP))) {
1655 goto _loop;
1656 }
1657
1658 _end:
1659 _readState.readStructEnd(iprot);
1660
1661 return;
1662
1663 _loop:
1664 _readState.afterAdvanceFailure(iprot);
1665 if (_readState.atStop()) {
1666 goto _end;
1667 }
1668 if (iprot->kUsesFieldNames()) {
1669 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<ComplexNestedWithDefault>>();
1670 }
1671
1672 switch (_readState.fieldId) {
1673 case 1:
1674 {
1675 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
1676 goto _readField_z;
1677 } else {
1678 goto _skip;
1679 }
1680 }
1681 case 2:
1682 {
1683 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
1684 goto _readField_n;
1685 } else {
1686 goto _skip;
1687 }
1688 }
1689 default:
1690 {
1691 _skip:
1692 _readState.skip(iprot);
1693 _readState.readFieldEnd(iprot);
1694 _readState.readFieldBeginNoInline(iprot);
1695 goto _loop;
1696 }
1697 }
1698 }
1699
1700 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const1701 uint32_t ComplexNestedWithDefault::serializedSize(Protocol_ const* prot_) const {
1702 uint32_t xfer = 0;
1703 xfer += prot_->serializedStructSize("ComplexNestedWithDefault");
1704 {
1705 xfer += prot_->serializedFieldSize("z", apache::thrift::protocol::T_STRING, 1);
1706 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_z);
1707 }
1708 {
1709 xfer += prot_->serializedFieldSize("n", apache::thrift::protocol::T_STRUCT, 2);
1710 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ComplexString>::serializedSize<false>(*prot_, this->__fbthrift_field_n);
1711 }
1712 xfer += prot_->serializedSizeStop();
1713 return xfer;
1714 }
1715
1716 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const1717 uint32_t ComplexNestedWithDefault::serializedSizeZC(Protocol_ const* prot_) const {
1718 uint32_t xfer = 0;
1719 xfer += prot_->serializedStructSize("ComplexNestedWithDefault");
1720 {
1721 xfer += prot_->serializedFieldSize("z", apache::thrift::protocol::T_STRING, 1);
1722 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_z);
1723 }
1724 {
1725 xfer += prot_->serializedFieldSize("n", apache::thrift::protocol::T_STRUCT, 2);
1726 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ComplexString>::serializedSize<true>(*prot_, this->__fbthrift_field_n);
1727 }
1728 xfer += prot_->serializedSizeStop();
1729 return xfer;
1730 }
1731
1732 template <class Protocol_>
write(Protocol_ * prot_) const1733 uint32_t ComplexNestedWithDefault::write(Protocol_* prot_) const {
1734 uint32_t xfer = 0;
1735 xfer += prot_->writeStructBegin("ComplexNestedWithDefault");
1736 bool previousFieldHasValue = true;
1737 {
1738 constexpr int16_t kPrevFieldId = 0;
1739 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 1, kPrevFieldId>(*prot_, "z", previousFieldHasValue);
1740 previousFieldHasValue = true;
1741 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_z);
1742 xfer += prot_->writeFieldEnd();
1743 }
1744 {
1745 constexpr int16_t kPrevFieldId = 1;
1746 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 2, kPrevFieldId>(*prot_, "n", previousFieldHasValue);
1747 previousFieldHasValue = true;
1748 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ComplexString>::write(*prot_, this->__fbthrift_field_n);
1749 xfer += prot_->writeFieldEnd();
1750 }
1751 xfer += prot_->writeFieldStop();
1752 xfer += prot_->writeStructEnd();
1753 return xfer;
1754 }
1755
1756 extern template void ComplexNestedWithDefault::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
1757 extern template uint32_t ComplexNestedWithDefault::write<>(apache::thrift::BinaryProtocolWriter*) const;
1758 extern template uint32_t ComplexNestedWithDefault::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
1759 extern template uint32_t ComplexNestedWithDefault::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
1760 extern template void ComplexNestedWithDefault::readNoXfer<>(apache::thrift::CompactProtocolReader*);
1761 extern template uint32_t ComplexNestedWithDefault::write<>(apache::thrift::CompactProtocolWriter*) const;
1762 extern template uint32_t ComplexNestedWithDefault::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
1763 extern template uint32_t ComplexNestedWithDefault::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
1764
1765 }}}} // apache::thrift::fixtures::types
1766 namespace apache { namespace thrift { namespace fixtures { namespace types {
1767
1768 template <class Protocol_>
readNoXfer(Protocol_ * iprot)1769 void MinPadding::readNoXfer(Protocol_* iprot) {
1770 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
1771
1772 _readState.readStructBegin(iprot);
1773
1774 using apache::thrift::TProtocolException;
1775
1776
1777 if (UNLIKELY(!_readState.advanceToNextField(
1778 iprot,
1779 0,
1780 1,
1781 apache::thrift::protocol::T_BYTE))) {
1782 goto _loop;
1783 }
1784 _readField_small:
1785 {
1786 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::readWithContext(*iprot, this->small, _readState);
1787
1788 }
1789
1790 if (UNLIKELY(!_readState.advanceToNextField(
1791 iprot,
1792 1,
1793 2,
1794 apache::thrift::protocol::T_I64))) {
1795 goto _loop;
1796 }
1797 _readField_big:
1798 {
1799 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, this->big, _readState);
1800
1801 }
1802
1803 if (UNLIKELY(!_readState.advanceToNextField(
1804 iprot,
1805 2,
1806 3,
1807 apache::thrift::protocol::T_I16))) {
1808 goto _loop;
1809 }
1810 _readField_medium:
1811 {
1812 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::readWithContext(*iprot, this->medium, _readState);
1813
1814 }
1815
1816 if (UNLIKELY(!_readState.advanceToNextField(
1817 iprot,
1818 3,
1819 4,
1820 apache::thrift::protocol::T_I32))) {
1821 goto _loop;
1822 }
1823 _readField_biggish:
1824 {
1825 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->biggish, _readState);
1826
1827 }
1828
1829 if (UNLIKELY(!_readState.advanceToNextField(
1830 iprot,
1831 4,
1832 5,
1833 apache::thrift::protocol::T_BYTE))) {
1834 goto _loop;
1835 }
1836 _readField_tiny:
1837 {
1838 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::readWithContext(*iprot, this->tiny, _readState);
1839
1840 }
1841
1842 if (UNLIKELY(!_readState.advanceToNextField(
1843 iprot,
1844 5,
1845 0,
1846 apache::thrift::protocol::T_STOP))) {
1847 goto _loop;
1848 }
1849
1850 _end:
1851 _readState.readStructEnd(iprot);
1852
1853 return;
1854
1855 _loop:
1856 _readState.afterAdvanceFailure(iprot);
1857 if (_readState.atStop()) {
1858 goto _end;
1859 }
1860 if (iprot->kUsesFieldNames()) {
1861 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<MinPadding>>();
1862 }
1863
1864 switch (_readState.fieldId) {
1865 case 1:
1866 {
1867 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BYTE))) {
1868 goto _readField_small;
1869 } else {
1870 goto _skip;
1871 }
1872 }
1873 case 2:
1874 {
1875 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
1876 goto _readField_big;
1877 } else {
1878 goto _skip;
1879 }
1880 }
1881 case 3:
1882 {
1883 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I16))) {
1884 goto _readField_medium;
1885 } else {
1886 goto _skip;
1887 }
1888 }
1889 case 4:
1890 {
1891 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
1892 goto _readField_biggish;
1893 } else {
1894 goto _skip;
1895 }
1896 }
1897 case 5:
1898 {
1899 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BYTE))) {
1900 goto _readField_tiny;
1901 } else {
1902 goto _skip;
1903 }
1904 }
1905 default:
1906 {
1907 _skip:
1908 _readState.skip(iprot);
1909 _readState.readFieldEnd(iprot);
1910 _readState.readFieldBeginNoInline(iprot);
1911 goto _loop;
1912 }
1913 }
1914 }
1915
1916 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const1917 uint32_t MinPadding::serializedSize(Protocol_ const* prot_) const {
1918 uint32_t xfer = 0;
1919 xfer += prot_->serializedStructSize("MinPadding");
1920 {
1921 xfer += prot_->serializedFieldSize("small", apache::thrift::protocol::T_BYTE, 1);
1922 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::serializedSize<false>(*prot_, this->small);
1923 }
1924 {
1925 xfer += prot_->serializedFieldSize("big", apache::thrift::protocol::T_I64, 2);
1926 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->big);
1927 }
1928 {
1929 xfer += prot_->serializedFieldSize("medium", apache::thrift::protocol::T_I16, 3);
1930 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, this->medium);
1931 }
1932 {
1933 xfer += prot_->serializedFieldSize("biggish", apache::thrift::protocol::T_I32, 4);
1934 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->biggish);
1935 }
1936 {
1937 xfer += prot_->serializedFieldSize("tiny", apache::thrift::protocol::T_BYTE, 5);
1938 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::serializedSize<false>(*prot_, this->tiny);
1939 }
1940 xfer += prot_->serializedSizeStop();
1941 return xfer;
1942 }
1943
1944 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const1945 uint32_t MinPadding::serializedSizeZC(Protocol_ const* prot_) const {
1946 uint32_t xfer = 0;
1947 xfer += prot_->serializedStructSize("MinPadding");
1948 {
1949 xfer += prot_->serializedFieldSize("small", apache::thrift::protocol::T_BYTE, 1);
1950 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::serializedSize<false>(*prot_, this->small);
1951 }
1952 {
1953 xfer += prot_->serializedFieldSize("big", apache::thrift::protocol::T_I64, 2);
1954 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->big);
1955 }
1956 {
1957 xfer += prot_->serializedFieldSize("medium", apache::thrift::protocol::T_I16, 3);
1958 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, this->medium);
1959 }
1960 {
1961 xfer += prot_->serializedFieldSize("biggish", apache::thrift::protocol::T_I32, 4);
1962 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->biggish);
1963 }
1964 {
1965 xfer += prot_->serializedFieldSize("tiny", apache::thrift::protocol::T_BYTE, 5);
1966 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::serializedSize<false>(*prot_, this->tiny);
1967 }
1968 xfer += prot_->serializedSizeStop();
1969 return xfer;
1970 }
1971
1972 template <class Protocol_>
write(Protocol_ * prot_) const1973 uint32_t MinPadding::write(Protocol_* prot_) const {
1974 uint32_t xfer = 0;
1975 xfer += prot_->writeStructBegin("MinPadding");
1976 bool previousFieldHasValue = true;
1977 {
1978 constexpr int16_t kPrevFieldId = 0;
1979 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BYTE, 1, kPrevFieldId>(*prot_, "small", previousFieldHasValue);
1980 previousFieldHasValue = true;
1981 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::write(*prot_, this->small);
1982 xfer += prot_->writeFieldEnd();
1983 }
1984 {
1985 constexpr int16_t kPrevFieldId = 1;
1986 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 2, kPrevFieldId>(*prot_, "big", previousFieldHasValue);
1987 previousFieldHasValue = true;
1988 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, this->big);
1989 xfer += prot_->writeFieldEnd();
1990 }
1991 {
1992 constexpr int16_t kPrevFieldId = 2;
1993 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I16, 3, kPrevFieldId>(*prot_, "medium", previousFieldHasValue);
1994 previousFieldHasValue = true;
1995 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::write(*prot_, this->medium);
1996 xfer += prot_->writeFieldEnd();
1997 }
1998 {
1999 constexpr int16_t kPrevFieldId = 3;
2000 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 4, kPrevFieldId>(*prot_, "biggish", previousFieldHasValue);
2001 previousFieldHasValue = true;
2002 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->biggish);
2003 xfer += prot_->writeFieldEnd();
2004 }
2005 {
2006 constexpr int16_t kPrevFieldId = 4;
2007 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BYTE, 5, kPrevFieldId>(*prot_, "tiny", previousFieldHasValue);
2008 previousFieldHasValue = true;
2009 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::write(*prot_, this->tiny);
2010 xfer += prot_->writeFieldEnd();
2011 }
2012 xfer += prot_->writeFieldStop();
2013 xfer += prot_->writeStructEnd();
2014 return xfer;
2015 }
2016
2017 extern template void MinPadding::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
2018 extern template uint32_t MinPadding::write<>(apache::thrift::BinaryProtocolWriter*) const;
2019 extern template uint32_t MinPadding::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
2020 extern template uint32_t MinPadding::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
2021 extern template void MinPadding::readNoXfer<>(apache::thrift::CompactProtocolReader*);
2022 extern template uint32_t MinPadding::write<>(apache::thrift::CompactProtocolWriter*) const;
2023 extern template uint32_t MinPadding::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
2024 extern template uint32_t MinPadding::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
2025
2026 }}}} // apache::thrift::fixtures::types
2027 namespace apache { namespace thrift { namespace fixtures { namespace types {
2028
2029 template <class Protocol_>
readNoXfer(Protocol_ * iprot)2030 void MyDataItem::readNoXfer(Protocol_* iprot) {
2031 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
2032
2033 _readState.readStructBegin(iprot);
2034
2035 using apache::thrift::TProtocolException;
2036
2037
2038 if (UNLIKELY(!_readState.advanceToNextField(
2039 iprot,
2040 0,
2041 0,
2042 apache::thrift::protocol::T_STOP))) {
2043 goto _loop;
2044 }
2045
2046 _end:
2047 _readState.readStructEnd(iprot);
2048
2049 return;
2050
2051 _loop:
2052 _readState.afterAdvanceFailure(iprot);
2053 if (_readState.atStop()) {
2054 goto _end;
2055 }
2056 if (iprot->kUsesFieldNames()) {
2057 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<MyDataItem>>();
2058 }
2059
2060 switch (_readState.fieldId) {
2061 default:
2062 {
2063 _readState.skip(iprot);
2064 _readState.readFieldEnd(iprot);
2065 _readState.readFieldBeginNoInline(iprot);
2066 goto _loop;
2067 }
2068 }
2069 }
2070
2071 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const2072 uint32_t MyDataItem::serializedSize(Protocol_ const* prot_) const {
2073 uint32_t xfer = 0;
2074 xfer += prot_->serializedStructSize("MyDataItem");
2075 xfer += prot_->serializedSizeStop();
2076 return xfer;
2077 }
2078
2079 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const2080 uint32_t MyDataItem::serializedSizeZC(Protocol_ const* prot_) const {
2081 uint32_t xfer = 0;
2082 xfer += prot_->serializedStructSize("MyDataItem");
2083 xfer += prot_->serializedSizeStop();
2084 return xfer;
2085 }
2086
2087 template <class Protocol_>
write(Protocol_ * prot_) const2088 uint32_t MyDataItem::write(Protocol_* prot_) const {
2089 uint32_t xfer = 0;
2090 xfer += prot_->writeStructBegin("MyDataItem");
2091 xfer += prot_->writeFieldStop();
2092 xfer += prot_->writeStructEnd();
2093 return xfer;
2094 }
2095
2096 extern template void MyDataItem::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
2097 extern template uint32_t MyDataItem::write<>(apache::thrift::BinaryProtocolWriter*) const;
2098 extern template uint32_t MyDataItem::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
2099 extern template uint32_t MyDataItem::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
2100 extern template void MyDataItem::readNoXfer<>(apache::thrift::CompactProtocolReader*);
2101 extern template uint32_t MyDataItem::write<>(apache::thrift::CompactProtocolWriter*) const;
2102 extern template uint32_t MyDataItem::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
2103 extern template uint32_t MyDataItem::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
2104
2105 }}}} // apache::thrift::fixtures::types
2106 namespace apache { namespace thrift { namespace fixtures { namespace types {
2107
2108 template <class Protocol_>
readNoXfer(Protocol_ * iprot)2109 void MyStruct::readNoXfer(Protocol_* iprot) {
2110 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
2111
2112 _readState.readStructBegin(iprot);
2113
2114 using apache::thrift::TProtocolException;
2115
2116
2117 if (UNLIKELY(!_readState.advanceToNextField(
2118 iprot,
2119 0,
2120 1,
2121 apache::thrift::protocol::T_I64))) {
2122 goto _loop;
2123 }
2124 _readField_MyIntField:
2125 {
2126 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, this->__fbthrift_field_MyIntField, _readState);
2127
2128 }
2129 this->__isset.set(0, true);
2130
2131 if (UNLIKELY(!_readState.advanceToNextField(
2132 iprot,
2133 1,
2134 2,
2135 apache::thrift::protocol::T_STRING))) {
2136 goto _loop;
2137 }
2138 _readField_MyStringField:
2139 {
2140 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_MyStringField, _readState);
2141
2142 }
2143 this->__isset.set(1, true);
2144
2145 if (UNLIKELY(!_readState.advanceToNextField(
2146 iprot,
2147 2,
2148 3,
2149 apache::thrift::protocol::T_I64))) {
2150 goto _loop;
2151 }
2152 _readField_majorVer:
2153 {
2154 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, this->__fbthrift_field_majorVer, _readState);
2155
2156 }
2157 this->__isset.set(2, true);
2158
2159 if (UNLIKELY(!_readState.advanceToNextField(
2160 iprot,
2161 3,
2162 4,
2163 apache::thrift::protocol::T_STRUCT))) {
2164 goto _loop;
2165 }
2166 _readField_data:
2167 {
2168 _readState.beforeSubobject(iprot);
2169 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::MyDataItem>::readWithContext(*iprot, this->__fbthrift_field_data, _readState);
2170 _readState.afterSubobject(iprot);
2171
2172 }
2173 this->__isset.set(3, true);
2174
2175 if (UNLIKELY(!_readState.advanceToNextField(
2176 iprot,
2177 4,
2178 0,
2179 apache::thrift::protocol::T_STOP))) {
2180 goto _loop;
2181 }
2182
2183 _end:
2184 _readState.readStructEnd(iprot);
2185
2186 return;
2187
2188 _loop:
2189 _readState.afterAdvanceFailure(iprot);
2190 if (_readState.atStop()) {
2191 goto _end;
2192 }
2193 if (iprot->kUsesFieldNames()) {
2194 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<MyStruct>>();
2195 }
2196
2197 switch (_readState.fieldId) {
2198 case 1:
2199 {
2200 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
2201 goto _readField_MyIntField;
2202 } else {
2203 goto _skip;
2204 }
2205 }
2206 case 2:
2207 {
2208 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
2209 goto _readField_MyStringField;
2210 } else {
2211 goto _skip;
2212 }
2213 }
2214 case 3:
2215 {
2216 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
2217 goto _readField_majorVer;
2218 } else {
2219 goto _skip;
2220 }
2221 }
2222 case 4:
2223 {
2224 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
2225 goto _readField_data;
2226 } else {
2227 goto _skip;
2228 }
2229 }
2230 default:
2231 {
2232 _skip:
2233 _readState.skip(iprot);
2234 _readState.readFieldEnd(iprot);
2235 _readState.readFieldBeginNoInline(iprot);
2236 goto _loop;
2237 }
2238 }
2239 }
2240
2241 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const2242 uint32_t MyStruct::serializedSize(Protocol_ const* prot_) const {
2243 uint32_t xfer = 0;
2244 xfer += prot_->serializedStructSize("MyStruct");
2245 {
2246 xfer += prot_->serializedFieldSize("MyIntField", apache::thrift::protocol::T_I64, 1);
2247 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_MyIntField);
2248 }
2249 {
2250 xfer += prot_->serializedFieldSize("MyStringField", apache::thrift::protocol::T_STRING, 2);
2251 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_MyStringField);
2252 }
2253 {
2254 xfer += prot_->serializedFieldSize("majorVer", apache::thrift::protocol::T_I64, 3);
2255 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_majorVer);
2256 }
2257 {
2258 xfer += prot_->serializedFieldSize("data", apache::thrift::protocol::T_STRUCT, 4);
2259 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::MyDataItem>::serializedSize<false>(*prot_, this->__fbthrift_field_data);
2260 }
2261 xfer += prot_->serializedSizeStop();
2262 return xfer;
2263 }
2264
2265 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const2266 uint32_t MyStruct::serializedSizeZC(Protocol_ const* prot_) const {
2267 uint32_t xfer = 0;
2268 xfer += prot_->serializedStructSize("MyStruct");
2269 {
2270 xfer += prot_->serializedFieldSize("MyIntField", apache::thrift::protocol::T_I64, 1);
2271 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_MyIntField);
2272 }
2273 {
2274 xfer += prot_->serializedFieldSize("MyStringField", apache::thrift::protocol::T_STRING, 2);
2275 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_MyStringField);
2276 }
2277 {
2278 xfer += prot_->serializedFieldSize("majorVer", apache::thrift::protocol::T_I64, 3);
2279 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_majorVer);
2280 }
2281 {
2282 xfer += prot_->serializedFieldSize("data", apache::thrift::protocol::T_STRUCT, 4);
2283 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::MyDataItem>::serializedSize<true>(*prot_, this->__fbthrift_field_data);
2284 }
2285 xfer += prot_->serializedSizeStop();
2286 return xfer;
2287 }
2288
2289 template <class Protocol_>
write(Protocol_ * prot_) const2290 uint32_t MyStruct::write(Protocol_* prot_) const {
2291 uint32_t xfer = 0;
2292 xfer += prot_->writeStructBegin("MyStruct");
2293 bool previousFieldHasValue = true;
2294 {
2295 constexpr int16_t kPrevFieldId = 0;
2296 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 1, kPrevFieldId>(*prot_, "MyIntField", previousFieldHasValue);
2297 previousFieldHasValue = true;
2298 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, this->__fbthrift_field_MyIntField);
2299 xfer += prot_->writeFieldEnd();
2300 }
2301 {
2302 constexpr int16_t kPrevFieldId = 1;
2303 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 2, kPrevFieldId>(*prot_, "MyStringField", previousFieldHasValue);
2304 previousFieldHasValue = true;
2305 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_MyStringField);
2306 xfer += prot_->writeFieldEnd();
2307 }
2308 {
2309 constexpr int16_t kPrevFieldId = 2;
2310 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 3, kPrevFieldId>(*prot_, "majorVer", previousFieldHasValue);
2311 previousFieldHasValue = true;
2312 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, this->__fbthrift_field_majorVer);
2313 xfer += prot_->writeFieldEnd();
2314 }
2315 {
2316 constexpr int16_t kPrevFieldId = 3;
2317 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 4, kPrevFieldId>(*prot_, "data", previousFieldHasValue);
2318 previousFieldHasValue = true;
2319 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::MyDataItem>::write(*prot_, this->__fbthrift_field_data);
2320 xfer += prot_->writeFieldEnd();
2321 }
2322 xfer += prot_->writeFieldStop();
2323 xfer += prot_->writeStructEnd();
2324 return xfer;
2325 }
2326
2327 extern template void MyStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
2328 extern template uint32_t MyStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
2329 extern template uint32_t MyStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
2330 extern template uint32_t MyStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
2331 extern template void MyStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
2332 extern template uint32_t MyStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
2333 extern template uint32_t MyStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
2334 extern template uint32_t MyStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
2335
2336 }}}} // apache::thrift::fixtures::types
2337 namespace apache { namespace thrift { namespace fixtures { namespace types {
2338
2339 template <class Protocol_>
readNoXfer(Protocol_ * iprot)2340 void Renaming::readNoXfer(Protocol_* iprot) {
2341 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
2342
2343 _readState.readStructBegin(iprot);
2344
2345 using apache::thrift::TProtocolException;
2346
2347
2348 if (UNLIKELY(!_readState.advanceToNextField(
2349 iprot,
2350 0,
2351 1,
2352 apache::thrift::protocol::T_I64))) {
2353 goto _loop;
2354 }
2355 _readField_bar:
2356 {
2357 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, this->__fbthrift_field_bar, _readState);
2358
2359 }
2360 this->__isset.set(0, true);
2361
2362 if (UNLIKELY(!_readState.advanceToNextField(
2363 iprot,
2364 1,
2365 0,
2366 apache::thrift::protocol::T_STOP))) {
2367 goto _loop;
2368 }
2369
2370 _end:
2371 _readState.readStructEnd(iprot);
2372
2373 return;
2374
2375 _loop:
2376 _readState.afterAdvanceFailure(iprot);
2377 if (_readState.atStop()) {
2378 goto _end;
2379 }
2380 if (iprot->kUsesFieldNames()) {
2381 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<Renaming>>();
2382 }
2383
2384 switch (_readState.fieldId) {
2385 case 1:
2386 {
2387 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
2388 goto _readField_bar;
2389 } else {
2390 goto _skip;
2391 }
2392 }
2393 default:
2394 {
2395 _skip:
2396 _readState.skip(iprot);
2397 _readState.readFieldEnd(iprot);
2398 _readState.readFieldBeginNoInline(iprot);
2399 goto _loop;
2400 }
2401 }
2402 }
2403
2404 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const2405 uint32_t Renaming::serializedSize(Protocol_ const* prot_) const {
2406 uint32_t xfer = 0;
2407 xfer += prot_->serializedStructSize("Renaming");
2408 {
2409 xfer += prot_->serializedFieldSize("foo", apache::thrift::protocol::T_I64, 1);
2410 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_bar);
2411 }
2412 xfer += prot_->serializedSizeStop();
2413 return xfer;
2414 }
2415
2416 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const2417 uint32_t Renaming::serializedSizeZC(Protocol_ const* prot_) const {
2418 uint32_t xfer = 0;
2419 xfer += prot_->serializedStructSize("Renaming");
2420 {
2421 xfer += prot_->serializedFieldSize("foo", apache::thrift::protocol::T_I64, 1);
2422 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_bar);
2423 }
2424 xfer += prot_->serializedSizeStop();
2425 return xfer;
2426 }
2427
2428 template <class Protocol_>
write(Protocol_ * prot_) const2429 uint32_t Renaming::write(Protocol_* prot_) const {
2430 uint32_t xfer = 0;
2431 xfer += prot_->writeStructBegin("Renaming");
2432 bool previousFieldHasValue = true;
2433 {
2434 constexpr int16_t kPrevFieldId = 0;
2435 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 1, kPrevFieldId>(*prot_, "foo", previousFieldHasValue);
2436 previousFieldHasValue = true;
2437 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, this->__fbthrift_field_bar);
2438 xfer += prot_->writeFieldEnd();
2439 }
2440 xfer += prot_->writeFieldStop();
2441 xfer += prot_->writeStructEnd();
2442 return xfer;
2443 }
2444
2445 extern template void Renaming::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
2446 extern template uint32_t Renaming::write<>(apache::thrift::BinaryProtocolWriter*) const;
2447 extern template uint32_t Renaming::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
2448 extern template uint32_t Renaming::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
2449 extern template void Renaming::readNoXfer<>(apache::thrift::CompactProtocolReader*);
2450 extern template uint32_t Renaming::write<>(apache::thrift::CompactProtocolWriter*) const;
2451 extern template uint32_t Renaming::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
2452 extern template uint32_t Renaming::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
2453
2454 }}}} // apache::thrift::fixtures::types
2455 namespace apache { namespace thrift { namespace fixtures { namespace types {
2456
2457 template <class Protocol_>
readNoXfer(Protocol_ * iprot)2458 void AnnotatedTypes::readNoXfer(Protocol_* iprot) {
2459 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
2460
2461 _readState.readStructBegin(iprot);
2462
2463 using apache::thrift::TProtocolException;
2464
2465
2466 if (UNLIKELY(!_readState.advanceToNextField(
2467 iprot,
2468 0,
2469 1,
2470 apache::thrift::protocol::T_STRING))) {
2471 goto _loop;
2472 }
2473 _readField_binary_field:
2474 {
2475 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::apache::thrift::fixtures::types::TBinary>::readWithContext(*iprot, this->__fbthrift_field_binary_field, _readState);
2476
2477 }
2478 this->__isset.set(0, true);
2479
2480 if (UNLIKELY(!_readState.advanceToNextField(
2481 iprot,
2482 1,
2483 2,
2484 apache::thrift::protocol::T_LIST))) {
2485 goto _loop;
2486 }
2487 _readField_list_field:
2488 {
2489 _readState.beforeSubobject(iprot);
2490 this->__fbthrift_field_list_field = ::apache::thrift::fixtures::types::SomeListOfTypeMap();
2491 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::string>>, ::apache::thrift::fixtures::types::SomeListOfTypeMap>::readWithContext(*iprot, this->__fbthrift_field_list_field, _readState);
2492 _readState.afterSubobject(iprot);
2493
2494 }
2495 this->__isset.set(1, true);
2496
2497 if (UNLIKELY(!_readState.advanceToNextField(
2498 iprot,
2499 2,
2500 0,
2501 apache::thrift::protocol::T_STOP))) {
2502 goto _loop;
2503 }
2504
2505 _end:
2506 _readState.readStructEnd(iprot);
2507
2508 return;
2509
2510 _loop:
2511 _readState.afterAdvanceFailure(iprot);
2512 if (_readState.atStop()) {
2513 goto _end;
2514 }
2515 if (iprot->kUsesFieldNames()) {
2516 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<AnnotatedTypes>>();
2517 }
2518
2519 switch (_readState.fieldId) {
2520 case 1:
2521 {
2522 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
2523 goto _readField_binary_field;
2524 } else {
2525 goto _skip;
2526 }
2527 }
2528 case 2:
2529 {
2530 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
2531 goto _readField_list_field;
2532 } else {
2533 goto _skip;
2534 }
2535 }
2536 default:
2537 {
2538 _skip:
2539 _readState.skip(iprot);
2540 _readState.readFieldEnd(iprot);
2541 _readState.readFieldBeginNoInline(iprot);
2542 goto _loop;
2543 }
2544 }
2545 }
2546
2547 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const2548 uint32_t AnnotatedTypes::serializedSize(Protocol_ const* prot_) const {
2549 uint32_t xfer = 0;
2550 xfer += prot_->serializedStructSize("AnnotatedTypes");
2551 {
2552 xfer += prot_->serializedFieldSize("binary_field", apache::thrift::protocol::T_STRING, 1);
2553 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::apache::thrift::fixtures::types::TBinary>::serializedSize<false>(*prot_, this->__fbthrift_field_binary_field);
2554 }
2555 {
2556 xfer += prot_->serializedFieldSize("list_field", apache::thrift::protocol::T_LIST, 2);
2557 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::string>>, ::apache::thrift::fixtures::types::SomeListOfTypeMap>::serializedSize<false>(*prot_, this->__fbthrift_field_list_field);
2558 }
2559 xfer += prot_->serializedSizeStop();
2560 return xfer;
2561 }
2562
2563 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const2564 uint32_t AnnotatedTypes::serializedSizeZC(Protocol_ const* prot_) const {
2565 uint32_t xfer = 0;
2566 xfer += prot_->serializedStructSize("AnnotatedTypes");
2567 {
2568 xfer += prot_->serializedFieldSize("binary_field", apache::thrift::protocol::T_STRING, 1);
2569 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::apache::thrift::fixtures::types::TBinary>::serializedSize<true>(*prot_, this->__fbthrift_field_binary_field);
2570 }
2571 {
2572 xfer += prot_->serializedFieldSize("list_field", apache::thrift::protocol::T_LIST, 2);
2573 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::string>>, ::apache::thrift::fixtures::types::SomeListOfTypeMap>::serializedSize<false>(*prot_, this->__fbthrift_field_list_field);
2574 }
2575 xfer += prot_->serializedSizeStop();
2576 return xfer;
2577 }
2578
2579 template <class Protocol_>
write(Protocol_ * prot_) const2580 uint32_t AnnotatedTypes::write(Protocol_* prot_) const {
2581 uint32_t xfer = 0;
2582 xfer += prot_->writeStructBegin("AnnotatedTypes");
2583 bool previousFieldHasValue = true;
2584 {
2585 constexpr int16_t kPrevFieldId = 0;
2586 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 1, kPrevFieldId>(*prot_, "binary_field", previousFieldHasValue);
2587 previousFieldHasValue = true;
2588 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::apache::thrift::fixtures::types::TBinary>::write(*prot_, this->__fbthrift_field_binary_field);
2589 xfer += prot_->writeFieldEnd();
2590 }
2591 {
2592 constexpr int16_t kPrevFieldId = 1;
2593 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 2, kPrevFieldId>(*prot_, "list_field", previousFieldHasValue);
2594 previousFieldHasValue = true;
2595 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::string>>, ::apache::thrift::fixtures::types::SomeListOfTypeMap>::write(*prot_, this->__fbthrift_field_list_field);
2596 xfer += prot_->writeFieldEnd();
2597 }
2598 xfer += prot_->writeFieldStop();
2599 xfer += prot_->writeStructEnd();
2600 return xfer;
2601 }
2602
2603 extern template void AnnotatedTypes::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
2604 extern template uint32_t AnnotatedTypes::write<>(apache::thrift::BinaryProtocolWriter*) const;
2605 extern template uint32_t AnnotatedTypes::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
2606 extern template uint32_t AnnotatedTypes::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
2607 extern template void AnnotatedTypes::readNoXfer<>(apache::thrift::CompactProtocolReader*);
2608 extern template uint32_t AnnotatedTypes::write<>(apache::thrift::CompactProtocolWriter*) const;
2609 extern template uint32_t AnnotatedTypes::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
2610 extern template uint32_t AnnotatedTypes::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
2611
2612 }}}} // apache::thrift::fixtures::types
2613 namespace apache { namespace thrift { namespace fixtures { namespace types {
2614
2615 template <class Protocol_>
readNoXfer(Protocol_ * iprot)2616 void ForwardUsageStruct::readNoXfer(Protocol_* iprot) {
2617 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
2618
2619 _readState.readStructBegin(iprot);
2620
2621 using apache::thrift::TProtocolException;
2622
2623
2624 if (UNLIKELY(!_readState.advanceToNextField(
2625 iprot,
2626 0,
2627 1,
2628 apache::thrift::protocol::T_STRUCT))) {
2629 goto _loop;
2630 }
2631 _readField_foo:
2632 {
2633 _readState.beforeSubobject(iprot);
2634 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ForwardUsageRoot>::readWithContext(*iprot, this->__fbthrift_field_foo, _readState);
2635 _readState.afterSubobject(iprot);
2636
2637 }
2638 this->__isset.set(0, true);
2639
2640 if (UNLIKELY(!_readState.advanceToNextField(
2641 iprot,
2642 1,
2643 0,
2644 apache::thrift::protocol::T_STOP))) {
2645 goto _loop;
2646 }
2647
2648 _end:
2649 _readState.readStructEnd(iprot);
2650
2651 return;
2652
2653 _loop:
2654 _readState.afterAdvanceFailure(iprot);
2655 if (_readState.atStop()) {
2656 goto _end;
2657 }
2658 if (iprot->kUsesFieldNames()) {
2659 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<ForwardUsageStruct>>();
2660 }
2661
2662 switch (_readState.fieldId) {
2663 case 1:
2664 {
2665 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
2666 goto _readField_foo;
2667 } else {
2668 goto _skip;
2669 }
2670 }
2671 default:
2672 {
2673 _skip:
2674 _readState.skip(iprot);
2675 _readState.readFieldEnd(iprot);
2676 _readState.readFieldBeginNoInline(iprot);
2677 goto _loop;
2678 }
2679 }
2680 }
2681
2682 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const2683 uint32_t ForwardUsageStruct::serializedSize(Protocol_ const* prot_) const {
2684 uint32_t xfer = 0;
2685 xfer += prot_->serializedStructSize("ForwardUsageStruct");
2686 if (this->__isset.get(0)) {
2687 xfer += prot_->serializedFieldSize("foo", apache::thrift::protocol::T_STRUCT, 1);
2688 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ForwardUsageRoot>::serializedSize<false>(*prot_, this->__fbthrift_field_foo);
2689 }
2690 xfer += prot_->serializedSizeStop();
2691 return xfer;
2692 }
2693
2694 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const2695 uint32_t ForwardUsageStruct::serializedSizeZC(Protocol_ const* prot_) const {
2696 uint32_t xfer = 0;
2697 xfer += prot_->serializedStructSize("ForwardUsageStruct");
2698 if (this->__isset.get(0)) {
2699 xfer += prot_->serializedFieldSize("foo", apache::thrift::protocol::T_STRUCT, 1);
2700 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ForwardUsageRoot>::serializedSize<true>(*prot_, this->__fbthrift_field_foo);
2701 }
2702 xfer += prot_->serializedSizeStop();
2703 return xfer;
2704 }
2705
2706 template <class Protocol_>
write(Protocol_ * prot_) const2707 uint32_t ForwardUsageStruct::write(Protocol_* prot_) const {
2708 uint32_t xfer = 0;
2709 xfer += prot_->writeStructBegin("ForwardUsageStruct");
2710 bool previousFieldHasValue = true;
2711 if (this->__isset.get(0)) {
2712 constexpr int16_t kPrevFieldId = 0;
2713 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 1, kPrevFieldId>(*prot_, "foo", previousFieldHasValue);
2714 previousFieldHasValue = true;
2715 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ForwardUsageRoot>::write(*prot_, this->__fbthrift_field_foo);
2716 xfer += prot_->writeFieldEnd();
2717 } else {
2718 previousFieldHasValue = false;
2719 }
2720 xfer += prot_->writeFieldStop();
2721 xfer += prot_->writeStructEnd();
2722 return xfer;
2723 }
2724
2725 extern template void ForwardUsageStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
2726 extern template uint32_t ForwardUsageStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
2727 extern template uint32_t ForwardUsageStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
2728 extern template uint32_t ForwardUsageStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
2729 extern template void ForwardUsageStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
2730 extern template uint32_t ForwardUsageStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
2731 extern template uint32_t ForwardUsageStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
2732 extern template uint32_t ForwardUsageStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
2733
2734 }}}} // apache::thrift::fixtures::types
2735 namespace apache { namespace thrift { namespace fixtures { namespace types {
2736
2737 template <class Protocol_>
readNoXfer(Protocol_ * iprot)2738 void ForwardUsageRoot::readNoXfer(Protocol_* iprot) {
2739 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
2740
2741 _readState.readStructBegin(iprot);
2742
2743 using apache::thrift::TProtocolException;
2744
2745
2746 if (UNLIKELY(!_readState.advanceToNextField(
2747 iprot,
2748 0,
2749 1,
2750 apache::thrift::protocol::T_STRUCT))) {
2751 goto _loop;
2752 }
2753 _readField_ForwardUsageStruct:
2754 {
2755 _readState.beforeSubobject(iprot);
2756 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ForwardUsageStruct>::readWithContext(*iprot, this->__fbthrift_field_ForwardUsageStruct, _readState);
2757 _readState.afterSubobject(iprot);
2758
2759 }
2760 this->__isset.set(0, true);
2761
2762 if (UNLIKELY(!_readState.advanceToNextField(
2763 iprot,
2764 1,
2765 2,
2766 apache::thrift::protocol::T_STRUCT))) {
2767 goto _loop;
2768 }
2769 _readField_ForwardUsageByRef:
2770 {
2771 _readState.beforeSubobject(iprot);
2772 auto ptr = ::apache::thrift::detail::make_mutable_smart_ptr<::std::unique_ptr<::apache::thrift::fixtures::types::ForwardUsageByRef>>();
2773 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ForwardUsageByRef>::readWithContext(*iprot, *ptr, _readState);
2774 this->ForwardUsageByRef = std::move(ptr);
2775 _readState.afterSubobject(iprot);
2776
2777 }
2778
2779 if (UNLIKELY(!_readState.advanceToNextField(
2780 iprot,
2781 2,
2782 0,
2783 apache::thrift::protocol::T_STOP))) {
2784 goto _loop;
2785 }
2786
2787 _end:
2788 _readState.readStructEnd(iprot);
2789
2790 return;
2791
2792 _loop:
2793 _readState.afterAdvanceFailure(iprot);
2794 if (_readState.atStop()) {
2795 goto _end;
2796 }
2797 if (iprot->kUsesFieldNames()) {
2798 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<ForwardUsageRoot>>();
2799 }
2800
2801 switch (_readState.fieldId) {
2802 case 1:
2803 {
2804 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
2805 goto _readField_ForwardUsageStruct;
2806 } else {
2807 goto _skip;
2808 }
2809 }
2810 case 2:
2811 {
2812 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
2813 goto _readField_ForwardUsageByRef;
2814 } else {
2815 goto _skip;
2816 }
2817 }
2818 default:
2819 {
2820 _skip:
2821 _readState.skip(iprot);
2822 _readState.readFieldEnd(iprot);
2823 _readState.readFieldBeginNoInline(iprot);
2824 goto _loop;
2825 }
2826 }
2827 }
2828
2829 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const2830 uint32_t ForwardUsageRoot::serializedSize(Protocol_ const* prot_) const {
2831 uint32_t xfer = 0;
2832 xfer += prot_->serializedStructSize("ForwardUsageRoot");
2833 if (this->__isset.get(0)) {
2834 xfer += prot_->serializedFieldSize("ForwardUsageStruct", apache::thrift::protocol::T_STRUCT, 1);
2835 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ForwardUsageStruct>::serializedSize<false>(*prot_, this->__fbthrift_field_ForwardUsageStruct);
2836 }
2837 if (this->ForwardUsageByRef) {
2838 xfer += prot_->serializedFieldSize("ForwardUsageByRef", apache::thrift::protocol::T_STRUCT, 2);
2839 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ForwardUsageByRef>::serializedSize<false>(*prot_, *this->ForwardUsageByRef);
2840 }
2841 xfer += prot_->serializedSizeStop();
2842 return xfer;
2843 }
2844
2845 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const2846 uint32_t ForwardUsageRoot::serializedSizeZC(Protocol_ const* prot_) const {
2847 uint32_t xfer = 0;
2848 xfer += prot_->serializedStructSize("ForwardUsageRoot");
2849 if (this->__isset.get(0)) {
2850 xfer += prot_->serializedFieldSize("ForwardUsageStruct", apache::thrift::protocol::T_STRUCT, 1);
2851 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ForwardUsageStruct>::serializedSize<true>(*prot_, this->__fbthrift_field_ForwardUsageStruct);
2852 }
2853 if (this->ForwardUsageByRef) {
2854 xfer += prot_->serializedFieldSize("ForwardUsageByRef", apache::thrift::protocol::T_STRUCT, 2);
2855 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ForwardUsageByRef>::serializedSize<true>(*prot_, *this->ForwardUsageByRef);
2856 }
2857 xfer += prot_->serializedSizeStop();
2858 return xfer;
2859 }
2860
2861 template <class Protocol_>
write(Protocol_ * prot_) const2862 uint32_t ForwardUsageRoot::write(Protocol_* prot_) const {
2863 uint32_t xfer = 0;
2864 xfer += prot_->writeStructBegin("ForwardUsageRoot");
2865 bool previousFieldHasValue = true;
2866 if (this->__isset.get(0)) {
2867 constexpr int16_t kPrevFieldId = 0;
2868 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 1, kPrevFieldId>(*prot_, "ForwardUsageStruct", previousFieldHasValue);
2869 previousFieldHasValue = true;
2870 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ForwardUsageStruct>::write(*prot_, this->__fbthrift_field_ForwardUsageStruct);
2871 xfer += prot_->writeFieldEnd();
2872 } else {
2873 previousFieldHasValue = false;
2874 }
2875 if (this->ForwardUsageByRef) {
2876 constexpr int16_t kPrevFieldId = 1;
2877 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 2, kPrevFieldId>(*prot_, "ForwardUsageByRef", previousFieldHasValue);
2878 previousFieldHasValue = true;
2879 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ForwardUsageByRef>::write(*prot_, *this->ForwardUsageByRef);
2880 xfer += prot_->writeFieldEnd();
2881 } else {
2882 previousFieldHasValue = false;
2883 }
2884 xfer += prot_->writeFieldStop();
2885 xfer += prot_->writeStructEnd();
2886 return xfer;
2887 }
2888
2889 extern template void ForwardUsageRoot::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
2890 extern template uint32_t ForwardUsageRoot::write<>(apache::thrift::BinaryProtocolWriter*) const;
2891 extern template uint32_t ForwardUsageRoot::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
2892 extern template uint32_t ForwardUsageRoot::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
2893 extern template void ForwardUsageRoot::readNoXfer<>(apache::thrift::CompactProtocolReader*);
2894 extern template uint32_t ForwardUsageRoot::write<>(apache::thrift::CompactProtocolWriter*) const;
2895 extern template uint32_t ForwardUsageRoot::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
2896 extern template uint32_t ForwardUsageRoot::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
2897
2898 }}}} // apache::thrift::fixtures::types
2899 namespace apache { namespace thrift { namespace fixtures { namespace types {
2900
2901 template <class Protocol_>
readNoXfer(Protocol_ * iprot)2902 void ForwardUsageByRef::readNoXfer(Protocol_* iprot) {
2903 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
2904
2905 _readState.readStructBegin(iprot);
2906
2907 using apache::thrift::TProtocolException;
2908
2909
2910 if (UNLIKELY(!_readState.advanceToNextField(
2911 iprot,
2912 0,
2913 1,
2914 apache::thrift::protocol::T_STRUCT))) {
2915 goto _loop;
2916 }
2917 _readField_foo:
2918 {
2919 _readState.beforeSubobject(iprot);
2920 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ForwardUsageRoot>::readWithContext(*iprot, this->__fbthrift_field_foo, _readState);
2921 _readState.afterSubobject(iprot);
2922
2923 }
2924 this->__isset.set(0, true);
2925
2926 if (UNLIKELY(!_readState.advanceToNextField(
2927 iprot,
2928 1,
2929 0,
2930 apache::thrift::protocol::T_STOP))) {
2931 goto _loop;
2932 }
2933
2934 _end:
2935 _readState.readStructEnd(iprot);
2936
2937 return;
2938
2939 _loop:
2940 _readState.afterAdvanceFailure(iprot);
2941 if (_readState.atStop()) {
2942 goto _end;
2943 }
2944 if (iprot->kUsesFieldNames()) {
2945 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<ForwardUsageByRef>>();
2946 }
2947
2948 switch (_readState.fieldId) {
2949 case 1:
2950 {
2951 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
2952 goto _readField_foo;
2953 } else {
2954 goto _skip;
2955 }
2956 }
2957 default:
2958 {
2959 _skip:
2960 _readState.skip(iprot);
2961 _readState.readFieldEnd(iprot);
2962 _readState.readFieldBeginNoInline(iprot);
2963 goto _loop;
2964 }
2965 }
2966 }
2967
2968 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const2969 uint32_t ForwardUsageByRef::serializedSize(Protocol_ const* prot_) const {
2970 uint32_t xfer = 0;
2971 xfer += prot_->serializedStructSize("ForwardUsageByRef");
2972 if (this->__isset.get(0)) {
2973 xfer += prot_->serializedFieldSize("foo", apache::thrift::protocol::T_STRUCT, 1);
2974 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ForwardUsageRoot>::serializedSize<false>(*prot_, this->__fbthrift_field_foo);
2975 }
2976 xfer += prot_->serializedSizeStop();
2977 return xfer;
2978 }
2979
2980 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const2981 uint32_t ForwardUsageByRef::serializedSizeZC(Protocol_ const* prot_) const {
2982 uint32_t xfer = 0;
2983 xfer += prot_->serializedStructSize("ForwardUsageByRef");
2984 if (this->__isset.get(0)) {
2985 xfer += prot_->serializedFieldSize("foo", apache::thrift::protocol::T_STRUCT, 1);
2986 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ForwardUsageRoot>::serializedSize<true>(*prot_, this->__fbthrift_field_foo);
2987 }
2988 xfer += prot_->serializedSizeStop();
2989 return xfer;
2990 }
2991
2992 template <class Protocol_>
write(Protocol_ * prot_) const2993 uint32_t ForwardUsageByRef::write(Protocol_* prot_) const {
2994 uint32_t xfer = 0;
2995 xfer += prot_->writeStructBegin("ForwardUsageByRef");
2996 bool previousFieldHasValue = true;
2997 if (this->__isset.get(0)) {
2998 constexpr int16_t kPrevFieldId = 0;
2999 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 1, kPrevFieldId>(*prot_, "foo", previousFieldHasValue);
3000 previousFieldHasValue = true;
3001 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::apache::thrift::fixtures::types::ForwardUsageRoot>::write(*prot_, this->__fbthrift_field_foo);
3002 xfer += prot_->writeFieldEnd();
3003 } else {
3004 previousFieldHasValue = false;
3005 }
3006 xfer += prot_->writeFieldStop();
3007 xfer += prot_->writeStructEnd();
3008 return xfer;
3009 }
3010
3011 extern template void ForwardUsageByRef::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
3012 extern template uint32_t ForwardUsageByRef::write<>(apache::thrift::BinaryProtocolWriter*) const;
3013 extern template uint32_t ForwardUsageByRef::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
3014 extern template uint32_t ForwardUsageByRef::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
3015 extern template void ForwardUsageByRef::readNoXfer<>(apache::thrift::CompactProtocolReader*);
3016 extern template uint32_t ForwardUsageByRef::write<>(apache::thrift::CompactProtocolWriter*) const;
3017 extern template uint32_t ForwardUsageByRef::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
3018 extern template uint32_t ForwardUsageByRef::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
3019
3020 }}}} // apache::thrift::fixtures::types
3021 namespace apache { namespace thrift { namespace fixtures { namespace types {
3022
3023 template <class Protocol_>
readNoXfer(Protocol_ * iprot)3024 void NoexceptMoveEmpty::readNoXfer(Protocol_* iprot) {
3025 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
3026
3027 _readState.readStructBegin(iprot);
3028
3029 using apache::thrift::TProtocolException;
3030
3031
3032 if (UNLIKELY(!_readState.advanceToNextField(
3033 iprot,
3034 0,
3035 0,
3036 apache::thrift::protocol::T_STOP))) {
3037 goto _loop;
3038 }
3039
3040 _end:
3041 _readState.readStructEnd(iprot);
3042
3043 return;
3044
3045 _loop:
3046 _readState.afterAdvanceFailure(iprot);
3047 if (_readState.atStop()) {
3048 goto _end;
3049 }
3050 if (iprot->kUsesFieldNames()) {
3051 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<NoexceptMoveEmpty>>();
3052 }
3053
3054 switch (_readState.fieldId) {
3055 default:
3056 {
3057 _readState.skip(iprot);
3058 _readState.readFieldEnd(iprot);
3059 _readState.readFieldBeginNoInline(iprot);
3060 goto _loop;
3061 }
3062 }
3063 }
3064
3065 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const3066 uint32_t NoexceptMoveEmpty::serializedSize(Protocol_ const* prot_) const {
3067 uint32_t xfer = 0;
3068 xfer += prot_->serializedStructSize("NoexceptMoveEmpty");
3069 xfer += prot_->serializedSizeStop();
3070 return xfer;
3071 }
3072
3073 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const3074 uint32_t NoexceptMoveEmpty::serializedSizeZC(Protocol_ const* prot_) const {
3075 uint32_t xfer = 0;
3076 xfer += prot_->serializedStructSize("NoexceptMoveEmpty");
3077 xfer += prot_->serializedSizeStop();
3078 return xfer;
3079 }
3080
3081 template <class Protocol_>
write(Protocol_ * prot_) const3082 uint32_t NoexceptMoveEmpty::write(Protocol_* prot_) const {
3083 uint32_t xfer = 0;
3084 xfer += prot_->writeStructBegin("NoexceptMoveEmpty");
3085 xfer += prot_->writeFieldStop();
3086 xfer += prot_->writeStructEnd();
3087 return xfer;
3088 }
3089
3090 extern template void NoexceptMoveEmpty::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
3091 extern template uint32_t NoexceptMoveEmpty::write<>(apache::thrift::BinaryProtocolWriter*) const;
3092 extern template uint32_t NoexceptMoveEmpty::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
3093 extern template uint32_t NoexceptMoveEmpty::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
3094 extern template void NoexceptMoveEmpty::readNoXfer<>(apache::thrift::CompactProtocolReader*);
3095 extern template uint32_t NoexceptMoveEmpty::write<>(apache::thrift::CompactProtocolWriter*) const;
3096 extern template uint32_t NoexceptMoveEmpty::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
3097 extern template uint32_t NoexceptMoveEmpty::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
3098
3099 }}}} // apache::thrift::fixtures::types
3100 namespace apache { namespace thrift { namespace fixtures { namespace types {
3101
3102 template <class Protocol_>
readNoXfer(Protocol_ * iprot)3103 void NoexceptMoveSimpleStruct::readNoXfer(Protocol_* iprot) {
3104 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
3105
3106 _readState.readStructBegin(iprot);
3107
3108 using apache::thrift::TProtocolException;
3109
3110
3111 if (UNLIKELY(!_readState.advanceToNextField(
3112 iprot,
3113 0,
3114 1,
3115 apache::thrift::protocol::T_I64))) {
3116 goto _loop;
3117 }
3118 _readField_boolField:
3119 {
3120 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, this->__fbthrift_field_boolField, _readState);
3121
3122 }
3123 this->__isset.set(0, true);
3124
3125 if (UNLIKELY(!_readState.advanceToNextField(
3126 iprot,
3127 1,
3128 0,
3129 apache::thrift::protocol::T_STOP))) {
3130 goto _loop;
3131 }
3132
3133 _end:
3134 _readState.readStructEnd(iprot);
3135
3136 return;
3137
3138 _loop:
3139 _readState.afterAdvanceFailure(iprot);
3140 if (_readState.atStop()) {
3141 goto _end;
3142 }
3143 if (iprot->kUsesFieldNames()) {
3144 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<NoexceptMoveSimpleStruct>>();
3145 }
3146
3147 switch (_readState.fieldId) {
3148 case 1:
3149 {
3150 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
3151 goto _readField_boolField;
3152 } else {
3153 goto _skip;
3154 }
3155 }
3156 default:
3157 {
3158 _skip:
3159 _readState.skip(iprot);
3160 _readState.readFieldEnd(iprot);
3161 _readState.readFieldBeginNoInline(iprot);
3162 goto _loop;
3163 }
3164 }
3165 }
3166
3167 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const3168 uint32_t NoexceptMoveSimpleStruct::serializedSize(Protocol_ const* prot_) const {
3169 uint32_t xfer = 0;
3170 xfer += prot_->serializedStructSize("NoexceptMoveSimpleStruct");
3171 {
3172 xfer += prot_->serializedFieldSize("boolField", apache::thrift::protocol::T_I64, 1);
3173 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_boolField);
3174 }
3175 xfer += prot_->serializedSizeStop();
3176 return xfer;
3177 }
3178
3179 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const3180 uint32_t NoexceptMoveSimpleStruct::serializedSizeZC(Protocol_ const* prot_) const {
3181 uint32_t xfer = 0;
3182 xfer += prot_->serializedStructSize("NoexceptMoveSimpleStruct");
3183 {
3184 xfer += prot_->serializedFieldSize("boolField", apache::thrift::protocol::T_I64, 1);
3185 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_boolField);
3186 }
3187 xfer += prot_->serializedSizeStop();
3188 return xfer;
3189 }
3190
3191 template <class Protocol_>
write(Protocol_ * prot_) const3192 uint32_t NoexceptMoveSimpleStruct::write(Protocol_* prot_) const {
3193 uint32_t xfer = 0;
3194 xfer += prot_->writeStructBegin("NoexceptMoveSimpleStruct");
3195 bool previousFieldHasValue = true;
3196 {
3197 constexpr int16_t kPrevFieldId = 0;
3198 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 1, kPrevFieldId>(*prot_, "boolField", previousFieldHasValue);
3199 previousFieldHasValue = true;
3200 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, this->__fbthrift_field_boolField);
3201 xfer += prot_->writeFieldEnd();
3202 }
3203 xfer += prot_->writeFieldStop();
3204 xfer += prot_->writeStructEnd();
3205 return xfer;
3206 }
3207
3208 extern template void NoexceptMoveSimpleStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
3209 extern template uint32_t NoexceptMoveSimpleStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
3210 extern template uint32_t NoexceptMoveSimpleStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
3211 extern template uint32_t NoexceptMoveSimpleStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
3212 extern template void NoexceptMoveSimpleStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
3213 extern template uint32_t NoexceptMoveSimpleStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
3214 extern template uint32_t NoexceptMoveSimpleStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
3215 extern template uint32_t NoexceptMoveSimpleStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
3216
3217 }}}} // apache::thrift::fixtures::types
3218 namespace apache { namespace thrift { namespace fixtures { namespace types {
3219
3220 template <class Protocol_>
readNoXfer(Protocol_ * iprot)3221 void NoexceptMoveComplexStruct::readNoXfer(Protocol_* iprot) {
3222 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
3223
3224 _readState.readStructBegin(iprot);
3225
3226 using apache::thrift::TProtocolException;
3227
3228
3229 if (UNLIKELY(!_readState.advanceToNextField(
3230 iprot,
3231 0,
3232 1,
3233 apache::thrift::protocol::T_BOOL))) {
3234 goto _loop;
3235 }
3236 _readField_MyBoolField:
3237 {
3238 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::readWithContext(*iprot, this->__fbthrift_field_MyBoolField, _readState);
3239
3240 }
3241 this->__isset.set(0, true);
3242
3243 if (UNLIKELY(!_readState.advanceToNextField(
3244 iprot,
3245 1,
3246 2,
3247 apache::thrift::protocol::T_I64))) {
3248 goto _loop;
3249 }
3250 _readField_MyIntField:
3251 {
3252 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, this->__fbthrift_field_MyIntField, _readState);
3253
3254 }
3255 this->__isset.set(1, true);
3256
3257 if (UNLIKELY(!_readState.advanceToNextField(
3258 iprot,
3259 2,
3260 3,
3261 apache::thrift::protocol::T_STRING))) {
3262 goto _loop;
3263 }
3264 _readField_MyStringField:
3265 {
3266 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_MyStringField, _readState);
3267
3268 }
3269 this->__isset.set(2, true);
3270
3271 if (UNLIKELY(!_readState.advanceToNextField(
3272 iprot,
3273 3,
3274 4,
3275 apache::thrift::protocol::T_STRING))) {
3276 goto _loop;
3277 }
3278 _readField_MyStringField2:
3279 {
3280 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_MyStringField2, _readState);
3281
3282 }
3283 this->__isset.set(3, true);
3284
3285 if (UNLIKELY(!_readState.advanceToNextField(
3286 iprot,
3287 4,
3288 5,
3289 apache::thrift::protocol::T_STRING))) {
3290 goto _loop;
3291 }
3292 _readField_MyBinaryField:
3293 {
3294 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_MyBinaryField, _readState);
3295
3296 }
3297 this->__isset.set(4, true);
3298
3299 if (UNLIKELY(!_readState.advanceToNextField(
3300 iprot,
3301 5,
3302 6,
3303 apache::thrift::protocol::T_STRING))) {
3304 goto _loop;
3305 }
3306 _readField_MyBinaryField2:
3307 {
3308 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_MyBinaryField2, _readState);
3309
3310 }
3311 this->__isset.set(5, true);
3312
3313 if (UNLIKELY(!_readState.advanceToNextField(
3314 iprot,
3315 6,
3316 7,
3317 apache::thrift::protocol::T_STRING))) {
3318 goto _loop;
3319 }
3320 _readField_MyBinaryField3:
3321 {
3322 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::readWithContext(*iprot, this->MyBinaryField3, _readState);
3323
3324 }
3325
3326 if (UNLIKELY(!_readState.advanceToNextField(
3327 iprot,
3328 7,
3329 8,
3330 apache::thrift::protocol::T_LIST))) {
3331 goto _loop;
3332 }
3333 _readField_MyBinaryListField4:
3334 {
3335 _readState.beforeSubobject(iprot);
3336 this->__fbthrift_field_MyBinaryListField4 = ::std::vector<::std::string>();
3337 ::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);
3338 _readState.afterSubobject(iprot);
3339
3340 }
3341 this->__isset.set(6, true);
3342
3343 if (UNLIKELY(!_readState.advanceToNextField(
3344 iprot,
3345 8,
3346 9,
3347 apache::thrift::protocol::T_MAP))) {
3348 goto _loop;
3349 }
3350 _readField_MyMapEnumAndInt:
3351 {
3352 _readState.beforeSubobject(iprot);
3353 this->__fbthrift_field_MyMapEnumAndInt = ::std::map<::apache::thrift::fixtures::types::MyEnumA, ::std::string>();
3354 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::enumeration, ::apache::thrift::type_class::string>, ::std::map<::apache::thrift::fixtures::types::MyEnumA, ::std::string>>::readWithContext(*iprot, this->__fbthrift_field_MyMapEnumAndInt, _readState);
3355 _readState.afterSubobject(iprot);
3356
3357 }
3358 this->__isset.set(7, true);
3359
3360 if (UNLIKELY(!_readState.advanceToNextField(
3361 iprot,
3362 9,
3363 0,
3364 apache::thrift::protocol::T_STOP))) {
3365 goto _loop;
3366 }
3367
3368 _end:
3369 _readState.readStructEnd(iprot);
3370
3371 return;
3372
3373 _loop:
3374 _readState.afterAdvanceFailure(iprot);
3375 if (_readState.atStop()) {
3376 goto _end;
3377 }
3378 if (iprot->kUsesFieldNames()) {
3379 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<NoexceptMoveComplexStruct>>();
3380 }
3381
3382 switch (_readState.fieldId) {
3383 case 1:
3384 {
3385 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BOOL))) {
3386 goto _readField_MyBoolField;
3387 } else {
3388 goto _skip;
3389 }
3390 }
3391 case 2:
3392 {
3393 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
3394 goto _readField_MyIntField;
3395 } else {
3396 goto _skip;
3397 }
3398 }
3399 case 3:
3400 {
3401 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
3402 goto _readField_MyStringField;
3403 } else {
3404 goto _skip;
3405 }
3406 }
3407 case 4:
3408 {
3409 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
3410 goto _readField_MyStringField2;
3411 } else {
3412 goto _skip;
3413 }
3414 }
3415 case 5:
3416 {
3417 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
3418 goto _readField_MyBinaryField;
3419 } else {
3420 goto _skip;
3421 }
3422 }
3423 case 6:
3424 {
3425 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
3426 goto _readField_MyBinaryField2;
3427 } else {
3428 goto _skip;
3429 }
3430 }
3431 case 7:
3432 {
3433 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
3434 goto _readField_MyBinaryField3;
3435 } else {
3436 goto _skip;
3437 }
3438 }
3439 case 8:
3440 {
3441 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
3442 goto _readField_MyBinaryListField4;
3443 } else {
3444 goto _skip;
3445 }
3446 }
3447 case 9:
3448 {
3449 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
3450 goto _readField_MyMapEnumAndInt;
3451 } else {
3452 goto _skip;
3453 }
3454 }
3455 default:
3456 {
3457 _skip:
3458 _readState.skip(iprot);
3459 _readState.readFieldEnd(iprot);
3460 _readState.readFieldBeginNoInline(iprot);
3461 goto _loop;
3462 }
3463 }
3464 }
3465
3466 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const3467 uint32_t NoexceptMoveComplexStruct::serializedSize(Protocol_ const* prot_) const {
3468 uint32_t xfer = 0;
3469 xfer += prot_->serializedStructSize("NoexceptMoveComplexStruct");
3470 {
3471 xfer += prot_->serializedFieldSize("MyBoolField", apache::thrift::protocol::T_BOOL, 1);
3472 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->__fbthrift_field_MyBoolField);
3473 }
3474 {
3475 xfer += prot_->serializedFieldSize("MyIntField", apache::thrift::protocol::T_I64, 2);
3476 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_MyIntField);
3477 }
3478 {
3479 xfer += prot_->serializedFieldSize("MyStringField", apache::thrift::protocol::T_STRING, 3);
3480 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_MyStringField);
3481 }
3482 {
3483 xfer += prot_->serializedFieldSize("MyStringField2", apache::thrift::protocol::T_STRING, 4);
3484 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_MyStringField2);
3485 }
3486 {
3487 xfer += prot_->serializedFieldSize("MyBinaryField", apache::thrift::protocol::T_STRING, 5);
3488 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_MyBinaryField);
3489 }
3490 if (this->__isset.get(5)) {
3491 xfer += prot_->serializedFieldSize("MyBinaryField2", apache::thrift::protocol::T_STRING, 6);
3492 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_MyBinaryField2);
3493 }
3494 {
3495 xfer += prot_->serializedFieldSize("MyBinaryField3", apache::thrift::protocol::T_STRING, 7);
3496 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<false>(*prot_, this->MyBinaryField3);
3497 }
3498 {
3499 xfer += prot_->serializedFieldSize("MyBinaryListField4", apache::thrift::protocol::T_LIST, 8);
3500 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);
3501 }
3502 {
3503 xfer += prot_->serializedFieldSize("MyMapEnumAndInt", apache::thrift::protocol::T_MAP, 9);
3504 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::enumeration, ::apache::thrift::type_class::string>, ::std::map<::apache::thrift::fixtures::types::MyEnumA, ::std::string>>::serializedSize<false>(*prot_, this->__fbthrift_field_MyMapEnumAndInt);
3505 }
3506 xfer += prot_->serializedSizeStop();
3507 return xfer;
3508 }
3509
3510 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const3511 uint32_t NoexceptMoveComplexStruct::serializedSizeZC(Protocol_ const* prot_) const {
3512 uint32_t xfer = 0;
3513 xfer += prot_->serializedStructSize("NoexceptMoveComplexStruct");
3514 {
3515 xfer += prot_->serializedFieldSize("MyBoolField", apache::thrift::protocol::T_BOOL, 1);
3516 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->__fbthrift_field_MyBoolField);
3517 }
3518 {
3519 xfer += prot_->serializedFieldSize("MyIntField", apache::thrift::protocol::T_I64, 2);
3520 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_MyIntField);
3521 }
3522 {
3523 xfer += prot_->serializedFieldSize("MyStringField", apache::thrift::protocol::T_STRING, 3);
3524 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_MyStringField);
3525 }
3526 {
3527 xfer += prot_->serializedFieldSize("MyStringField2", apache::thrift::protocol::T_STRING, 4);
3528 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_MyStringField2);
3529 }
3530 {
3531 xfer += prot_->serializedFieldSize("MyBinaryField", apache::thrift::protocol::T_STRING, 5);
3532 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<true>(*prot_, this->__fbthrift_field_MyBinaryField);
3533 }
3534 if (this->__isset.get(5)) {
3535 xfer += prot_->serializedFieldSize("MyBinaryField2", apache::thrift::protocol::T_STRING, 6);
3536 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<true>(*prot_, this->__fbthrift_field_MyBinaryField2);
3537 }
3538 {
3539 xfer += prot_->serializedFieldSize("MyBinaryField3", apache::thrift::protocol::T_STRING, 7);
3540 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<true>(*prot_, this->MyBinaryField3);
3541 }
3542 {
3543 xfer += prot_->serializedFieldSize("MyBinaryListField4", apache::thrift::protocol::T_LIST, 8);
3544 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);
3545 }
3546 {
3547 xfer += prot_->serializedFieldSize("MyMapEnumAndInt", apache::thrift::protocol::T_MAP, 9);
3548 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::enumeration, ::apache::thrift::type_class::string>, ::std::map<::apache::thrift::fixtures::types::MyEnumA, ::std::string>>::serializedSize<false>(*prot_, this->__fbthrift_field_MyMapEnumAndInt);
3549 }
3550 xfer += prot_->serializedSizeStop();
3551 return xfer;
3552 }
3553
3554 template <class Protocol_>
write(Protocol_ * prot_) const3555 uint32_t NoexceptMoveComplexStruct::write(Protocol_* prot_) const {
3556 uint32_t xfer = 0;
3557 xfer += prot_->writeStructBegin("NoexceptMoveComplexStruct");
3558 bool previousFieldHasValue = true;
3559 {
3560 constexpr int16_t kPrevFieldId = 0;
3561 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BOOL, 1, kPrevFieldId>(*prot_, "MyBoolField", previousFieldHasValue);
3562 previousFieldHasValue = true;
3563 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::write(*prot_, this->__fbthrift_field_MyBoolField);
3564 xfer += prot_->writeFieldEnd();
3565 }
3566 {
3567 constexpr int16_t kPrevFieldId = 1;
3568 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 2, kPrevFieldId>(*prot_, "MyIntField", previousFieldHasValue);
3569 previousFieldHasValue = true;
3570 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, this->__fbthrift_field_MyIntField);
3571 xfer += prot_->writeFieldEnd();
3572 }
3573 {
3574 constexpr int16_t kPrevFieldId = 2;
3575 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 3, kPrevFieldId>(*prot_, "MyStringField", previousFieldHasValue);
3576 previousFieldHasValue = true;
3577 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_MyStringField);
3578 xfer += prot_->writeFieldEnd();
3579 }
3580 {
3581 constexpr int16_t kPrevFieldId = 3;
3582 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 4, kPrevFieldId>(*prot_, "MyStringField2", previousFieldHasValue);
3583 previousFieldHasValue = true;
3584 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_MyStringField2);
3585 xfer += prot_->writeFieldEnd();
3586 }
3587 {
3588 constexpr int16_t kPrevFieldId = 4;
3589 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 5, kPrevFieldId>(*prot_, "MyBinaryField", previousFieldHasValue);
3590 previousFieldHasValue = true;
3591 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::write(*prot_, this->__fbthrift_field_MyBinaryField);
3592 xfer += prot_->writeFieldEnd();
3593 }
3594 if (this->__isset.get(5)) {
3595 constexpr int16_t kPrevFieldId = 5;
3596 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 6, kPrevFieldId>(*prot_, "MyBinaryField2", previousFieldHasValue);
3597 previousFieldHasValue = true;
3598 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::write(*prot_, this->__fbthrift_field_MyBinaryField2);
3599 xfer += prot_->writeFieldEnd();
3600 } else {
3601 previousFieldHasValue = false;
3602 }
3603 {
3604 constexpr int16_t kPrevFieldId = 6;
3605 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 7, kPrevFieldId>(*prot_, "MyBinaryField3", previousFieldHasValue);
3606 previousFieldHasValue = true;
3607 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::write(*prot_, this->MyBinaryField3);
3608 xfer += prot_->writeFieldEnd();
3609 }
3610 {
3611 constexpr int16_t kPrevFieldId = 7;
3612 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 8, kPrevFieldId>(*prot_, "MyBinaryListField4", previousFieldHasValue);
3613 previousFieldHasValue = true;
3614 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);
3615 xfer += prot_->writeFieldEnd();
3616 }
3617 {
3618 constexpr int16_t kPrevFieldId = 8;
3619 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 9, kPrevFieldId>(*prot_, "MyMapEnumAndInt", previousFieldHasValue);
3620 previousFieldHasValue = true;
3621 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::enumeration, ::apache::thrift::type_class::string>, ::std::map<::apache::thrift::fixtures::types::MyEnumA, ::std::string>>::write(*prot_, this->__fbthrift_field_MyMapEnumAndInt);
3622 xfer += prot_->writeFieldEnd();
3623 }
3624 xfer += prot_->writeFieldStop();
3625 xfer += prot_->writeStructEnd();
3626 return xfer;
3627 }
3628
3629 extern template void NoexceptMoveComplexStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
3630 extern template uint32_t NoexceptMoveComplexStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
3631 extern template uint32_t NoexceptMoveComplexStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
3632 extern template uint32_t NoexceptMoveComplexStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
3633 extern template void NoexceptMoveComplexStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
3634 extern template uint32_t NoexceptMoveComplexStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
3635 extern template uint32_t NoexceptMoveComplexStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
3636 extern template uint32_t NoexceptMoveComplexStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
3637
3638 }}}} // apache::thrift::fixtures::types
3639 namespace apache { namespace thrift { namespace fixtures { namespace types {
3640
3641 template <class Protocol_>
readNoXfer(Protocol_ * iprot)3642 void NoExceptMoveUnion::readNoXfer(Protocol_* iprot) {
3643 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
3644 _readState.fieldId = 0;
3645
3646 _readState.readStructBegin(iprot);
3647
3648 _readState.readFieldBegin(iprot);
3649 if (_readState.atStop()) {
3650 apache::thrift::clear(*this);
3651 } else {
3652 if (iprot->kUsesFieldNames()) {
3653 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<NoExceptMoveUnion>>();
3654 }
3655 switch (_readState.fieldId) {
3656 case 1:
3657 {
3658 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING)) {
3659 this->set_string_field();
3660 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, value_.string_field, _readState);
3661
3662 } else {
3663 _readState.skip(iprot);
3664 }
3665 break;
3666 }
3667 case 2:
3668 {
3669 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32)) {
3670 this->set_i32_field();
3671 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, value_.i32_field, _readState);
3672
3673 } else {
3674 _readState.skip(iprot);
3675 }
3676 break;
3677 }
3678 default:
3679 {
3680 _readState.skip(iprot);
3681 break;
3682 }
3683 }
3684 _readState.readFieldEnd(iprot);
3685 _readState.readFieldBegin(iprot);
3686 if (UNLIKELY(!_readState.atStop())) {
3687 using apache::thrift::protocol::TProtocolException;
3688 TProtocolException::throwUnionMissingStop();
3689 }
3690 }
3691 _readState.readStructEnd(iprot);
3692 }
3693 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const3694 uint32_t NoExceptMoveUnion::serializedSize(Protocol_ const* prot_) const {
3695 uint32_t xfer = 0;
3696 xfer += prot_->serializedStructSize("NoExceptMoveUnion");
3697 switch(this->getType()) {
3698 case NoExceptMoveUnion::Type::string_field:
3699 {
3700 xfer += prot_->serializedFieldSize("string_field", apache::thrift::protocol::T_STRING, 1);
3701 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, value_.string_field);
3702 break;
3703 }
3704 case NoExceptMoveUnion::Type::i32_field:
3705 {
3706 xfer += prot_->serializedFieldSize("i32_field", apache::thrift::protocol::T_I32, 2);
3707 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, value_.i32_field);
3708 break;
3709 }
3710 case NoExceptMoveUnion::Type::__EMPTY__:;
3711 }
3712 xfer += prot_->serializedSizeStop();
3713 return xfer;
3714 }
3715
3716 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const3717 uint32_t NoExceptMoveUnion::serializedSizeZC(Protocol_ const* prot_) const {
3718 uint32_t xfer = 0;
3719 xfer += prot_->serializedStructSize("NoExceptMoveUnion");
3720 switch(this->getType()) {
3721 case NoExceptMoveUnion::Type::string_field:
3722 {
3723 xfer += prot_->serializedFieldSize("string_field", apache::thrift::protocol::T_STRING, 1);
3724 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, value_.string_field);
3725 break;
3726 }
3727 case NoExceptMoveUnion::Type::i32_field:
3728 {
3729 xfer += prot_->serializedFieldSize("i32_field", apache::thrift::protocol::T_I32, 2);
3730 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, value_.i32_field);
3731 break;
3732 }
3733 case NoExceptMoveUnion::Type::__EMPTY__:;
3734 }
3735 xfer += prot_->serializedSizeStop();
3736 return xfer;
3737 }
3738
3739 template <class Protocol_>
write(Protocol_ * prot_) const3740 uint32_t NoExceptMoveUnion::write(Protocol_* prot_) const {
3741 uint32_t xfer = 0;
3742 xfer += prot_->writeStructBegin("NoExceptMoveUnion");
3743 switch(this->getType()) {
3744 case NoExceptMoveUnion::Type::string_field:
3745 {
3746 constexpr int16_t kPrevFieldId = 0;
3747 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 1, kPrevFieldId>(*prot_, "string_field", false);
3748 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, value_.string_field);
3749 xfer += prot_->writeFieldEnd();
3750 break;
3751 }
3752 case NoExceptMoveUnion::Type::i32_field:
3753 {
3754 constexpr int16_t kPrevFieldId = 1;
3755 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 2, kPrevFieldId>(*prot_, "i32_field", false);
3756 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, value_.i32_field);
3757 xfer += prot_->writeFieldEnd();
3758 break;
3759 }
3760 case NoExceptMoveUnion::Type::__EMPTY__:;
3761 }
3762 xfer += prot_->writeFieldStop();
3763 xfer += prot_->writeStructEnd();
3764 return xfer;
3765 }
3766
3767 extern template void NoExceptMoveUnion::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
3768 extern template uint32_t NoExceptMoveUnion::write<>(apache::thrift::BinaryProtocolWriter*) const;
3769 extern template uint32_t NoExceptMoveUnion::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
3770 extern template uint32_t NoExceptMoveUnion::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
3771 extern template void NoExceptMoveUnion::readNoXfer<>(apache::thrift::CompactProtocolReader*);
3772 extern template uint32_t NoExceptMoveUnion::write<>(apache::thrift::CompactProtocolWriter*) const;
3773 extern template uint32_t NoExceptMoveUnion::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
3774 extern template uint32_t NoExceptMoveUnion::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
3775
3776 }}}} // apache::thrift::fixtures::types
3777 namespace apache { namespace thrift { namespace fixtures { namespace types {
3778
3779 template <class Protocol_>
readNoXfer(Protocol_ * iprot)3780 void AllocatorAware::readNoXfer(Protocol_* iprot) {
3781 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
3782
3783 _readState.readStructBegin(iprot);
3784
3785 using apache::thrift::TProtocolException;
3786
3787
3788 if (UNLIKELY(!_readState.advanceToNextField(
3789 iprot,
3790 0,
3791 1,
3792 apache::thrift::protocol::T_LIST))) {
3793 goto _loop;
3794 }
3795 _readField_aa_list:
3796 {
3797 _readState.beforeSubobject(iprot);
3798 this->__fbthrift_field_aa_list = ::std::vector<::std::int32_t>(this->get_allocator());
3799 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int32_t>>::readWithContext(*iprot, this->__fbthrift_field_aa_list, _readState);
3800 _readState.afterSubobject(iprot);
3801
3802 }
3803 this->__isset.set(0, true);
3804
3805 if (UNLIKELY(!_readState.advanceToNextField(
3806 iprot,
3807 1,
3808 2,
3809 apache::thrift::protocol::T_SET))) {
3810 goto _loop;
3811 }
3812 _readField_aa_set:
3813 {
3814 _readState.beforeSubobject(iprot);
3815 this->__fbthrift_field_aa_set = ::std::set<::std::int32_t>(this->get_allocator());
3816 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int32_t>>::readWithContext(*iprot, this->__fbthrift_field_aa_set, _readState);
3817 _readState.afterSubobject(iprot);
3818
3819 }
3820 this->__isset.set(1, true);
3821
3822 if (UNLIKELY(!_readState.advanceToNextField(
3823 iprot,
3824 2,
3825 3,
3826 apache::thrift::protocol::T_MAP))) {
3827 goto _loop;
3828 }
3829 _readField_aa_map:
3830 {
3831 _readState.beforeSubobject(iprot);
3832 this->__fbthrift_field_aa_map = ::std::map<::std::int32_t, ::std::int32_t>(this->get_allocator());
3833 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::integral>, ::std::map<::std::int32_t, ::std::int32_t>>::readWithContext(*iprot, this->__fbthrift_field_aa_map, _readState);
3834 _readState.afterSubobject(iprot);
3835
3836 }
3837 this->__isset.set(2, true);
3838
3839 if (UNLIKELY(!_readState.advanceToNextField(
3840 iprot,
3841 3,
3842 4,
3843 apache::thrift::protocol::T_STRING))) {
3844 goto _loop;
3845 }
3846 _readField_aa_string:
3847 {
3848 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_aa_string, _readState);
3849
3850 }
3851 this->__isset.set(3, true);
3852
3853 if (UNLIKELY(!_readState.advanceToNextField(
3854 iprot,
3855 4,
3856 5,
3857 apache::thrift::protocol::T_I32))) {
3858 goto _loop;
3859 }
3860 _readField_not_a_container:
3861 {
3862 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->__fbthrift_field_not_a_container, _readState);
3863
3864 }
3865 this->__isset.set(4, true);
3866
3867 if (UNLIKELY(!_readState.advanceToNextField(
3868 iprot,
3869 5,
3870 0,
3871 apache::thrift::protocol::T_STOP))) {
3872 goto _loop;
3873 }
3874
3875 _end:
3876 _readState.readStructEnd(iprot);
3877
3878 return;
3879
3880 _loop:
3881 _readState.afterAdvanceFailure(iprot);
3882 if (_readState.atStop()) {
3883 goto _end;
3884 }
3885 if (iprot->kUsesFieldNames()) {
3886 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<AllocatorAware>>();
3887 }
3888
3889 switch (_readState.fieldId) {
3890 case 1:
3891 {
3892 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
3893 goto _readField_aa_list;
3894 } else {
3895 goto _skip;
3896 }
3897 }
3898 case 2:
3899 {
3900 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
3901 goto _readField_aa_set;
3902 } else {
3903 goto _skip;
3904 }
3905 }
3906 case 3:
3907 {
3908 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
3909 goto _readField_aa_map;
3910 } else {
3911 goto _skip;
3912 }
3913 }
3914 case 4:
3915 {
3916 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
3917 goto _readField_aa_string;
3918 } else {
3919 goto _skip;
3920 }
3921 }
3922 case 5:
3923 {
3924 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
3925 goto _readField_not_a_container;
3926 } else {
3927 goto _skip;
3928 }
3929 }
3930 default:
3931 {
3932 _skip:
3933 _readState.skip(iprot);
3934 _readState.readFieldEnd(iprot);
3935 _readState.readFieldBeginNoInline(iprot);
3936 goto _loop;
3937 }
3938 }
3939 }
3940
3941 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const3942 uint32_t AllocatorAware::serializedSize(Protocol_ const* prot_) const {
3943 uint32_t xfer = 0;
3944 xfer += prot_->serializedStructSize("AllocatorAware");
3945 {
3946 xfer += prot_->serializedFieldSize("aa_list", apache::thrift::protocol::T_LIST, 1);
3947 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->__fbthrift_field_aa_list);
3948 }
3949 {
3950 xfer += prot_->serializedFieldSize("aa_set", apache::thrift::protocol::T_SET, 2);
3951 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->__fbthrift_field_aa_set);
3952 }
3953 {
3954 xfer += prot_->serializedFieldSize("aa_map", apache::thrift::protocol::T_MAP, 3);
3955 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::integral>, ::std::map<::std::int32_t, ::std::int32_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_aa_map);
3956 }
3957 {
3958 xfer += prot_->serializedFieldSize("aa_string", apache::thrift::protocol::T_STRING, 4);
3959 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_aa_string);
3960 }
3961 {
3962 xfer += prot_->serializedFieldSize("not_a_container", apache::thrift::protocol::T_I32, 5);
3963 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_not_a_container);
3964 }
3965 xfer += prot_->serializedSizeStop();
3966 return xfer;
3967 }
3968
3969 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const3970 uint32_t AllocatorAware::serializedSizeZC(Protocol_ const* prot_) const {
3971 uint32_t xfer = 0;
3972 xfer += prot_->serializedStructSize("AllocatorAware");
3973 {
3974 xfer += prot_->serializedFieldSize("aa_list", apache::thrift::protocol::T_LIST, 1);
3975 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->__fbthrift_field_aa_list);
3976 }
3977 {
3978 xfer += prot_->serializedFieldSize("aa_set", apache::thrift::protocol::T_SET, 2);
3979 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->__fbthrift_field_aa_set);
3980 }
3981 {
3982 xfer += prot_->serializedFieldSize("aa_map", apache::thrift::protocol::T_MAP, 3);
3983 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::integral>, ::std::map<::std::int32_t, ::std::int32_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_aa_map);
3984 }
3985 {
3986 xfer += prot_->serializedFieldSize("aa_string", apache::thrift::protocol::T_STRING, 4);
3987 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_aa_string);
3988 }
3989 {
3990 xfer += prot_->serializedFieldSize("not_a_container", apache::thrift::protocol::T_I32, 5);
3991 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_not_a_container);
3992 }
3993 xfer += prot_->serializedSizeStop();
3994 return xfer;
3995 }
3996
3997 template <class Protocol_>
write(Protocol_ * prot_) const3998 uint32_t AllocatorAware::write(Protocol_* prot_) const {
3999 uint32_t xfer = 0;
4000 xfer += prot_->writeStructBegin("AllocatorAware");
4001 bool previousFieldHasValue = true;
4002 {
4003 constexpr int16_t kPrevFieldId = 0;
4004 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 1, kPrevFieldId>(*prot_, "aa_list", previousFieldHasValue);
4005 previousFieldHasValue = true;
4006 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->__fbthrift_field_aa_list);
4007 xfer += prot_->writeFieldEnd();
4008 }
4009 {
4010 constexpr int16_t kPrevFieldId = 1;
4011 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 2, kPrevFieldId>(*prot_, "aa_set", previousFieldHasValue);
4012 previousFieldHasValue = true;
4013 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->__fbthrift_field_aa_set);
4014 xfer += prot_->writeFieldEnd();
4015 }
4016 {
4017 constexpr int16_t kPrevFieldId = 2;
4018 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 3, kPrevFieldId>(*prot_, "aa_map", previousFieldHasValue);
4019 previousFieldHasValue = true;
4020 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::integral>, ::std::map<::std::int32_t, ::std::int32_t>>::write(*prot_, this->__fbthrift_field_aa_map);
4021 xfer += prot_->writeFieldEnd();
4022 }
4023 {
4024 constexpr int16_t kPrevFieldId = 3;
4025 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 4, kPrevFieldId>(*prot_, "aa_string", previousFieldHasValue);
4026 previousFieldHasValue = true;
4027 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_aa_string);
4028 xfer += prot_->writeFieldEnd();
4029 }
4030 {
4031 constexpr int16_t kPrevFieldId = 4;
4032 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 5, kPrevFieldId>(*prot_, "not_a_container", previousFieldHasValue);
4033 previousFieldHasValue = true;
4034 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->__fbthrift_field_not_a_container);
4035 xfer += prot_->writeFieldEnd();
4036 }
4037 xfer += prot_->writeFieldStop();
4038 xfer += prot_->writeStructEnd();
4039 return xfer;
4040 }
4041
4042 extern template void AllocatorAware::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
4043 extern template uint32_t AllocatorAware::write<>(apache::thrift::BinaryProtocolWriter*) const;
4044 extern template uint32_t AllocatorAware::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
4045 extern template uint32_t AllocatorAware::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
4046 extern template void AllocatorAware::readNoXfer<>(apache::thrift::CompactProtocolReader*);
4047 extern template uint32_t AllocatorAware::write<>(apache::thrift::CompactProtocolWriter*) const;
4048 extern template uint32_t AllocatorAware::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
4049 extern template uint32_t AllocatorAware::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
4050
4051 }}}} // apache::thrift::fixtures::types
4052 namespace apache { namespace thrift { namespace fixtures { namespace types {
4053
4054 template <class Protocol_>
readNoXfer(Protocol_ * iprot)4055 void AllocatorAware2::readNoXfer(Protocol_* iprot) {
4056 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
4057
4058 _readState.readStructBegin(iprot);
4059
4060 using apache::thrift::TProtocolException;
4061
4062
4063 if (UNLIKELY(!_readState.advanceToNextField(
4064 iprot,
4065 0,
4066 1,
4067 apache::thrift::protocol::T_I32))) {
4068 goto _loop;
4069 }
4070 _readField_not_a_container:
4071 {
4072 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->__fbthrift_field_not_a_container, _readState);
4073
4074 }
4075 this->__isset.set(0, true);
4076
4077 if (UNLIKELY(!_readState.advanceToNextField(
4078 iprot,
4079 1,
4080 0,
4081 apache::thrift::protocol::T_STOP))) {
4082 goto _loop;
4083 }
4084
4085 _end:
4086 _readState.readStructEnd(iprot);
4087
4088 return;
4089
4090 _loop:
4091 _readState.afterAdvanceFailure(iprot);
4092 if (_readState.atStop()) {
4093 goto _end;
4094 }
4095 if (iprot->kUsesFieldNames()) {
4096 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<AllocatorAware2>>();
4097 }
4098
4099 switch (_readState.fieldId) {
4100 case 1:
4101 {
4102 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
4103 goto _readField_not_a_container;
4104 } else {
4105 goto _skip;
4106 }
4107 }
4108 default:
4109 {
4110 _skip:
4111 _readState.skip(iprot);
4112 _readState.readFieldEnd(iprot);
4113 _readState.readFieldBeginNoInline(iprot);
4114 goto _loop;
4115 }
4116 }
4117 }
4118
4119 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const4120 uint32_t AllocatorAware2::serializedSize(Protocol_ const* prot_) const {
4121 uint32_t xfer = 0;
4122 xfer += prot_->serializedStructSize("AllocatorAware2");
4123 {
4124 xfer += prot_->serializedFieldSize("not_a_container", apache::thrift::protocol::T_I32, 1);
4125 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_not_a_container);
4126 }
4127 xfer += prot_->serializedSizeStop();
4128 return xfer;
4129 }
4130
4131 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const4132 uint32_t AllocatorAware2::serializedSizeZC(Protocol_ const* prot_) const {
4133 uint32_t xfer = 0;
4134 xfer += prot_->serializedStructSize("AllocatorAware2");
4135 {
4136 xfer += prot_->serializedFieldSize("not_a_container", apache::thrift::protocol::T_I32, 1);
4137 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_not_a_container);
4138 }
4139 xfer += prot_->serializedSizeStop();
4140 return xfer;
4141 }
4142
4143 template <class Protocol_>
write(Protocol_ * prot_) const4144 uint32_t AllocatorAware2::write(Protocol_* prot_) const {
4145 uint32_t xfer = 0;
4146 xfer += prot_->writeStructBegin("AllocatorAware2");
4147 bool previousFieldHasValue = true;
4148 {
4149 constexpr int16_t kPrevFieldId = 0;
4150 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 1, kPrevFieldId>(*prot_, "not_a_container", previousFieldHasValue);
4151 previousFieldHasValue = true;
4152 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->__fbthrift_field_not_a_container);
4153 xfer += prot_->writeFieldEnd();
4154 }
4155 xfer += prot_->writeFieldStop();
4156 xfer += prot_->writeStructEnd();
4157 return xfer;
4158 }
4159
4160 extern template void AllocatorAware2::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
4161 extern template uint32_t AllocatorAware2::write<>(apache::thrift::BinaryProtocolWriter*) const;
4162 extern template uint32_t AllocatorAware2::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
4163 extern template uint32_t AllocatorAware2::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
4164 extern template void AllocatorAware2::readNoXfer<>(apache::thrift::CompactProtocolReader*);
4165 extern template uint32_t AllocatorAware2::write<>(apache::thrift::CompactProtocolWriter*) const;
4166 extern template uint32_t AllocatorAware2::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
4167 extern template uint32_t AllocatorAware2::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
4168
4169 }}}} // apache::thrift::fixtures::types
4170 namespace apache { namespace thrift { namespace fixtures { namespace types {
4171
4172 template <class Protocol_>
readNoXfer(Protocol_ * iprot)4173 void TypedefStruct::readNoXfer(Protocol_* iprot) {
4174 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
4175
4176 _readState.readStructBegin(iprot);
4177
4178 using apache::thrift::TProtocolException;
4179
4180
4181 if (UNLIKELY(!_readState.advanceToNextField(
4182 iprot,
4183 0,
4184 1,
4185 apache::thrift::protocol::T_I32))) {
4186 goto _loop;
4187 }
4188 _readField_i32_field:
4189 {
4190 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->__fbthrift_field_i32_field, _readState);
4191
4192 }
4193 this->__isset.set(0, true);
4194
4195 if (UNLIKELY(!_readState.advanceToNextField(
4196 iprot,
4197 1,
4198 2,
4199 apache::thrift::protocol::T_I32))) {
4200 goto _loop;
4201 }
4202 _readField_IntTypedef_field:
4203 {
4204 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::apache::thrift::fixtures::types::IntTypedef>::readWithContext(*iprot, this->__fbthrift_field_IntTypedef_field, _readState);
4205
4206 }
4207 this->__isset.set(1, true);
4208
4209 if (UNLIKELY(!_readState.advanceToNextField(
4210 iprot,
4211 2,
4212 3,
4213 apache::thrift::protocol::T_I32))) {
4214 goto _loop;
4215 }
4216 _readField_UintTypedef_field:
4217 {
4218 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, std::uint32_t>::readWithContext(*iprot, this->__fbthrift_field_UintTypedef_field, _readState);
4219
4220 }
4221 this->__isset.set(2, true);
4222
4223 if (UNLIKELY(!_readState.advanceToNextField(
4224 iprot,
4225 3,
4226 0,
4227 apache::thrift::protocol::T_STOP))) {
4228 goto _loop;
4229 }
4230
4231 _end:
4232 _readState.readStructEnd(iprot);
4233
4234 return;
4235
4236 _loop:
4237 _readState.afterAdvanceFailure(iprot);
4238 if (_readState.atStop()) {
4239 goto _end;
4240 }
4241 if (iprot->kUsesFieldNames()) {
4242 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<TypedefStruct>>();
4243 }
4244
4245 switch (_readState.fieldId) {
4246 case 1:
4247 {
4248 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
4249 goto _readField_i32_field;
4250 } else {
4251 goto _skip;
4252 }
4253 }
4254 case 2:
4255 {
4256 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
4257 goto _readField_IntTypedef_field;
4258 } else {
4259 goto _skip;
4260 }
4261 }
4262 case 3:
4263 {
4264 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
4265 goto _readField_UintTypedef_field;
4266 } else {
4267 goto _skip;
4268 }
4269 }
4270 default:
4271 {
4272 _skip:
4273 _readState.skip(iprot);
4274 _readState.readFieldEnd(iprot);
4275 _readState.readFieldBeginNoInline(iprot);
4276 goto _loop;
4277 }
4278 }
4279 }
4280
4281 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const4282 uint32_t TypedefStruct::serializedSize(Protocol_ const* prot_) const {
4283 uint32_t xfer = 0;
4284 xfer += prot_->serializedStructSize("TypedefStruct");
4285 {
4286 xfer += prot_->serializedFieldSize("i32_field", apache::thrift::protocol::T_I32, 1);
4287 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_i32_field);
4288 }
4289 {
4290 xfer += prot_->serializedFieldSize("IntTypedef_field", apache::thrift::protocol::T_I32, 2);
4291 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::apache::thrift::fixtures::types::IntTypedef>::serializedSize<false>(*prot_, this->__fbthrift_field_IntTypedef_field);
4292 }
4293 {
4294 xfer += prot_->serializedFieldSize("UintTypedef_field", apache::thrift::protocol::T_I32, 3);
4295 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, std::uint32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_UintTypedef_field);
4296 }
4297 xfer += prot_->serializedSizeStop();
4298 return xfer;
4299 }
4300
4301 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const4302 uint32_t TypedefStruct::serializedSizeZC(Protocol_ const* prot_) const {
4303 uint32_t xfer = 0;
4304 xfer += prot_->serializedStructSize("TypedefStruct");
4305 {
4306 xfer += prot_->serializedFieldSize("i32_field", apache::thrift::protocol::T_I32, 1);
4307 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_i32_field);
4308 }
4309 {
4310 xfer += prot_->serializedFieldSize("IntTypedef_field", apache::thrift::protocol::T_I32, 2);
4311 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::apache::thrift::fixtures::types::IntTypedef>::serializedSize<false>(*prot_, this->__fbthrift_field_IntTypedef_field);
4312 }
4313 {
4314 xfer += prot_->serializedFieldSize("UintTypedef_field", apache::thrift::protocol::T_I32, 3);
4315 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, std::uint32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_UintTypedef_field);
4316 }
4317 xfer += prot_->serializedSizeStop();
4318 return xfer;
4319 }
4320
4321 template <class Protocol_>
write(Protocol_ * prot_) const4322 uint32_t TypedefStruct::write(Protocol_* prot_) const {
4323 uint32_t xfer = 0;
4324 xfer += prot_->writeStructBegin("TypedefStruct");
4325 bool previousFieldHasValue = true;
4326 {
4327 constexpr int16_t kPrevFieldId = 0;
4328 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 1, kPrevFieldId>(*prot_, "i32_field", previousFieldHasValue);
4329 previousFieldHasValue = true;
4330 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->__fbthrift_field_i32_field);
4331 xfer += prot_->writeFieldEnd();
4332 }
4333 {
4334 constexpr int16_t kPrevFieldId = 1;
4335 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 2, kPrevFieldId>(*prot_, "IntTypedef_field", previousFieldHasValue);
4336 previousFieldHasValue = true;
4337 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::apache::thrift::fixtures::types::IntTypedef>::write(*prot_, this->__fbthrift_field_IntTypedef_field);
4338 xfer += prot_->writeFieldEnd();
4339 }
4340 {
4341 constexpr int16_t kPrevFieldId = 2;
4342 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 3, kPrevFieldId>(*prot_, "UintTypedef_field", previousFieldHasValue);
4343 previousFieldHasValue = true;
4344 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, std::uint32_t>::write(*prot_, this->__fbthrift_field_UintTypedef_field);
4345 xfer += prot_->writeFieldEnd();
4346 }
4347 xfer += prot_->writeFieldStop();
4348 xfer += prot_->writeStructEnd();
4349 return xfer;
4350 }
4351
4352 extern template void TypedefStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
4353 extern template uint32_t TypedefStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
4354 extern template uint32_t TypedefStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
4355 extern template uint32_t TypedefStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
4356 extern template void TypedefStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
4357 extern template uint32_t TypedefStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
4358 extern template uint32_t TypedefStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
4359 extern template uint32_t TypedefStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
4360
4361 }}}} // apache::thrift::fixtures::types
4362 namespace apache { namespace thrift { namespace fixtures { namespace types {
4363
4364 template <class Protocol_>
readNoXfer(Protocol_ * iprot)4365 void StructWithDoubleUnderscores::readNoXfer(Protocol_* iprot) {
4366 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
4367
4368 _readState.readStructBegin(iprot);
4369
4370 using apache::thrift::TProtocolException;
4371
4372
4373 if (UNLIKELY(!_readState.advanceToNextField(
4374 iprot,
4375 0,
4376 1,
4377 apache::thrift::protocol::T_I32))) {
4378 goto _loop;
4379 }
4380 _readField___field:
4381 {
4382 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->__fbthrift_field___field, _readState);
4383
4384 }
4385 this->__isset.set(0, true);
4386
4387 if (UNLIKELY(!_readState.advanceToNextField(
4388 iprot,
4389 1,
4390 0,
4391 apache::thrift::protocol::T_STOP))) {
4392 goto _loop;
4393 }
4394
4395 _end:
4396 _readState.readStructEnd(iprot);
4397
4398 return;
4399
4400 _loop:
4401 _readState.afterAdvanceFailure(iprot);
4402 if (_readState.atStop()) {
4403 goto _end;
4404 }
4405 if (iprot->kUsesFieldNames()) {
4406 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<StructWithDoubleUnderscores>>();
4407 }
4408
4409 switch (_readState.fieldId) {
4410 case 1:
4411 {
4412 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
4413 goto _readField___field;
4414 } else {
4415 goto _skip;
4416 }
4417 }
4418 default:
4419 {
4420 _skip:
4421 _readState.skip(iprot);
4422 _readState.readFieldEnd(iprot);
4423 _readState.readFieldBeginNoInline(iprot);
4424 goto _loop;
4425 }
4426 }
4427 }
4428
4429 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const4430 uint32_t StructWithDoubleUnderscores::serializedSize(Protocol_ const* prot_) const {
4431 uint32_t xfer = 0;
4432 xfer += prot_->serializedStructSize("StructWithDoubleUnderscores");
4433 {
4434 xfer += prot_->serializedFieldSize("__field", apache::thrift::protocol::T_I32, 1);
4435 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field___field);
4436 }
4437 xfer += prot_->serializedSizeStop();
4438 return xfer;
4439 }
4440
4441 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const4442 uint32_t StructWithDoubleUnderscores::serializedSizeZC(Protocol_ const* prot_) const {
4443 uint32_t xfer = 0;
4444 xfer += prot_->serializedStructSize("StructWithDoubleUnderscores");
4445 {
4446 xfer += prot_->serializedFieldSize("__field", apache::thrift::protocol::T_I32, 1);
4447 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field___field);
4448 }
4449 xfer += prot_->serializedSizeStop();
4450 return xfer;
4451 }
4452
4453 template <class Protocol_>
write(Protocol_ * prot_) const4454 uint32_t StructWithDoubleUnderscores::write(Protocol_* prot_) const {
4455 uint32_t xfer = 0;
4456 xfer += prot_->writeStructBegin("StructWithDoubleUnderscores");
4457 bool previousFieldHasValue = true;
4458 {
4459 constexpr int16_t kPrevFieldId = 0;
4460 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 1, kPrevFieldId>(*prot_, "__field", previousFieldHasValue);
4461 previousFieldHasValue = true;
4462 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->__fbthrift_field___field);
4463 xfer += prot_->writeFieldEnd();
4464 }
4465 xfer += prot_->writeFieldStop();
4466 xfer += prot_->writeStructEnd();
4467 return xfer;
4468 }
4469
4470 extern template void StructWithDoubleUnderscores::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
4471 extern template uint32_t StructWithDoubleUnderscores::write<>(apache::thrift::BinaryProtocolWriter*) const;
4472 extern template uint32_t StructWithDoubleUnderscores::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
4473 extern template uint32_t StructWithDoubleUnderscores::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
4474 extern template void StructWithDoubleUnderscores::readNoXfer<>(apache::thrift::CompactProtocolReader*);
4475 extern template uint32_t StructWithDoubleUnderscores::write<>(apache::thrift::CompactProtocolWriter*) const;
4476 extern template uint32_t StructWithDoubleUnderscores::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
4477 extern template uint32_t StructWithDoubleUnderscores::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
4478
4479 }}}} // apache::thrift::fixtures::types
4480