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/py3/gen-py3cpp/module_types.h"
10
11 #include <thrift/lib/cpp2/gen/module_types_tcc.h>
12
13 namespace py3 { namespace simple {
14
15 }} // py3::simple
16 namespace std {
17
18 } // std
19
20 namespace py3 { namespace simple {
21
22 }} // py3::simple
23 namespace std {
24
25 } // std
26
27
28 namespace apache {
29 namespace thrift {
30 namespace detail {
31
32 template <>
33 struct TccStructTraits<::py3::simple::SimpleException> {
34 static void translateFieldName(
35 folly::StringPiece _fname,
36 int16_t& fid,
37 apache::thrift::protocol::TType& _ftype) noexcept;
38 };
39 template <>
40 struct TccStructTraits<::py3::simple::OptionalRefStruct> {
41 static void translateFieldName(
42 folly::StringPiece _fname,
43 int16_t& fid,
44 apache::thrift::protocol::TType& _ftype) noexcept;
45 };
46 template <>
47 struct TccStructTraits<::py3::simple::SimpleStruct> {
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<::py3::simple::ComplexStruct> {
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<::py3::simple::BinaryUnion> {
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<::py3::simple::BinaryUnionStruct> {
69 static void translateFieldName(
70 folly::StringPiece _fname,
71 int16_t& fid,
72 apache::thrift::protocol::TType& _ftype) noexcept;
73 };
74
75 } // namespace detail
76 } // namespace thrift
77 } // namespace apache
78
79 namespace py3 { namespace simple {
80
81 template <class Protocol_>
readNoXfer(Protocol_ * iprot)82 void SimpleException::readNoXfer(Protocol_* iprot) {
83 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
84
85 _readState.readStructBegin(iprot);
86
87 using apache::thrift::TProtocolException;
88
89
90 if (UNLIKELY(!_readState.advanceToNextField(
91 iprot,
92 0,
93 1,
94 apache::thrift::protocol::T_I16))) {
95 goto _loop;
96 }
97 _readField_err_code:
98 {
99 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::readWithContext(*iprot, this->err_code, _readState);
100
101 }
102 this->__isset.set(0, true);
103
104 if (UNLIKELY(!_readState.advanceToNextField(
105 iprot,
106 1,
107 0,
108 apache::thrift::protocol::T_STOP))) {
109 goto _loop;
110 }
111
112 _end:
113 _readState.readStructEnd(iprot);
114
115 return;
116
117 _loop:
118 _readState.afterAdvanceFailure(iprot);
119 if (_readState.atStop()) {
120 goto _end;
121 }
122 if (iprot->kUsesFieldNames()) {
123 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<SimpleException>>();
124 }
125
126 switch (_readState.fieldId) {
127 case 1:
128 {
129 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I16))) {
130 goto _readField_err_code;
131 } else {
132 goto _skip;
133 }
134 }
135 default:
136 {
137 _skip:
138 _readState.skip(iprot);
139 _readState.readFieldEnd(iprot);
140 _readState.readFieldBeginNoInline(iprot);
141 goto _loop;
142 }
143 }
144 }
145
146 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const147 uint32_t SimpleException::serializedSize(Protocol_ const* prot_) const {
148 uint32_t xfer = 0;
149 xfer += prot_->serializedStructSize("SimpleException");
150 {
151 xfer += prot_->serializedFieldSize("err_code", apache::thrift::protocol::T_I16, 1);
152 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, this->err_code);
153 }
154 xfer += prot_->serializedSizeStop();
155 return xfer;
156 }
157
158 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const159 uint32_t SimpleException::serializedSizeZC(Protocol_ const* prot_) const {
160 uint32_t xfer = 0;
161 xfer += prot_->serializedStructSize("SimpleException");
162 {
163 xfer += prot_->serializedFieldSize("err_code", apache::thrift::protocol::T_I16, 1);
164 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, this->err_code);
165 }
166 xfer += prot_->serializedSizeStop();
167 return xfer;
168 }
169
170 template <class Protocol_>
write(Protocol_ * prot_) const171 uint32_t SimpleException::write(Protocol_* prot_) const {
172 uint32_t xfer = 0;
173 xfer += prot_->writeStructBegin("SimpleException");
174 bool previousFieldHasValue = true;
175 {
176 constexpr int16_t kPrevFieldId = 0;
177 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I16, 1, kPrevFieldId>(*prot_, "err_code", previousFieldHasValue);
178 previousFieldHasValue = true;
179 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::write(*prot_, this->err_code);
180 xfer += prot_->writeFieldEnd();
181 }
182 xfer += prot_->writeFieldStop();
183 xfer += prot_->writeStructEnd();
184 return xfer;
185 }
186
187 extern template void SimpleException::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
188 extern template uint32_t SimpleException::write<>(apache::thrift::BinaryProtocolWriter*) const;
189 extern template uint32_t SimpleException::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
190 extern template uint32_t SimpleException::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
191 extern template void SimpleException::readNoXfer<>(apache::thrift::CompactProtocolReader*);
192 extern template uint32_t SimpleException::write<>(apache::thrift::CompactProtocolWriter*) const;
193 extern template uint32_t SimpleException::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
194 extern template uint32_t SimpleException::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
195
196 }} // py3::simple
197 namespace py3 { namespace simple {
198
199 template <class Protocol_>
readNoXfer(Protocol_ * iprot)200 void OptionalRefStruct::readNoXfer(Protocol_* iprot) {
201 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
202
203 _readState.readStructBegin(iprot);
204
205 using apache::thrift::TProtocolException;
206
207
208 if (UNLIKELY(!_readState.advanceToNextField(
209 iprot,
210 0,
211 1,
212 apache::thrift::protocol::T_STRING))) {
213 goto _loop;
214 }
215 _readField_optional_blob:
216 {
217 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::py3::simple::IOBufPtr>::readWithContext(*iprot, this->optional_blob, _readState);
218
219 }
220 this->__isset.set(0, true);
221
222 if (UNLIKELY(!_readState.advanceToNextField(
223 iprot,
224 1,
225 0,
226 apache::thrift::protocol::T_STOP))) {
227 goto _loop;
228 }
229
230 _end:
231 _readState.readStructEnd(iprot);
232
233 return;
234
235 _loop:
236 _readState.afterAdvanceFailure(iprot);
237 if (_readState.atStop()) {
238 goto _end;
239 }
240 if (iprot->kUsesFieldNames()) {
241 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<OptionalRefStruct>>();
242 }
243
244 switch (_readState.fieldId) {
245 case 1:
246 {
247 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
248 goto _readField_optional_blob;
249 } else {
250 goto _skip;
251 }
252 }
253 default:
254 {
255 _skip:
256 _readState.skip(iprot);
257 _readState.readFieldEnd(iprot);
258 _readState.readFieldBeginNoInline(iprot);
259 goto _loop;
260 }
261 }
262 }
263
264 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const265 uint32_t OptionalRefStruct::serializedSize(Protocol_ const* prot_) const {
266 uint32_t xfer = 0;
267 xfer += prot_->serializedStructSize("OptionalRefStruct");
268 if (this->__isset.get(0)) {
269 xfer += prot_->serializedFieldSize("optional_blob", apache::thrift::protocol::T_STRING, 1);
270 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::py3::simple::IOBufPtr>::serializedSize<false>(*prot_, this->optional_blob);
271 }
272 xfer += prot_->serializedSizeStop();
273 return xfer;
274 }
275
276 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const277 uint32_t OptionalRefStruct::serializedSizeZC(Protocol_ const* prot_) const {
278 uint32_t xfer = 0;
279 xfer += prot_->serializedStructSize("OptionalRefStruct");
280 if (this->__isset.get(0)) {
281 xfer += prot_->serializedFieldSize("optional_blob", apache::thrift::protocol::T_STRING, 1);
282 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::py3::simple::IOBufPtr>::serializedSize<true>(*prot_, this->optional_blob);
283 }
284 xfer += prot_->serializedSizeStop();
285 return xfer;
286 }
287
288 template <class Protocol_>
write(Protocol_ * prot_) const289 uint32_t OptionalRefStruct::write(Protocol_* prot_) const {
290 uint32_t xfer = 0;
291 xfer += prot_->writeStructBegin("OptionalRefStruct");
292 bool previousFieldHasValue = true;
293 if (this->__isset.get(0)) {
294 constexpr int16_t kPrevFieldId = 0;
295 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 1, kPrevFieldId>(*prot_, "optional_blob", previousFieldHasValue);
296 previousFieldHasValue = true;
297 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::py3::simple::IOBufPtr>::write(*prot_, this->optional_blob);
298 xfer += prot_->writeFieldEnd();
299 } else {
300 previousFieldHasValue = false;
301 }
302 xfer += prot_->writeFieldStop();
303 xfer += prot_->writeStructEnd();
304 return xfer;
305 }
306
307 extern template void OptionalRefStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
308 extern template uint32_t OptionalRefStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
309 extern template uint32_t OptionalRefStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
310 extern template uint32_t OptionalRefStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
311 extern template void OptionalRefStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
312 extern template uint32_t OptionalRefStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
313 extern template uint32_t OptionalRefStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
314 extern template uint32_t OptionalRefStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
315
316 }} // py3::simple
317 namespace py3 { namespace simple {
318
319 template <class Protocol_>
readNoXfer(Protocol_ * iprot)320 void SimpleStruct::readNoXfer(Protocol_* iprot) {
321 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
322
323 _readState.readStructBegin(iprot);
324
325 using apache::thrift::TProtocolException;
326
327
328 if (UNLIKELY(!_readState.advanceToNextField(
329 iprot,
330 0,
331 1,
332 apache::thrift::protocol::T_BOOL))) {
333 goto _loop;
334 }
335 _readField_is_on:
336 {
337 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::readWithContext(*iprot, this->__fbthrift_field_is_on, _readState);
338
339 }
340 this->__isset.set(0, true);
341
342 if (UNLIKELY(!_readState.advanceToNextField(
343 iprot,
344 1,
345 2,
346 apache::thrift::protocol::T_BYTE))) {
347 goto _loop;
348 }
349 _readField_tiny_int:
350 {
351 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::readWithContext(*iprot, this->__fbthrift_field_tiny_int, _readState);
352
353 }
354 this->__isset.set(1, true);
355
356 if (UNLIKELY(!_readState.advanceToNextField(
357 iprot,
358 2,
359 3,
360 apache::thrift::protocol::T_I16))) {
361 goto _loop;
362 }
363 _readField_small_int:
364 {
365 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::readWithContext(*iprot, this->__fbthrift_field_small_int, _readState);
366
367 }
368 this->__isset.set(2, true);
369
370 if (UNLIKELY(!_readState.advanceToNextField(
371 iprot,
372 3,
373 4,
374 apache::thrift::protocol::T_I32))) {
375 goto _loop;
376 }
377 _readField_nice_sized_int:
378 {
379 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->__fbthrift_field_nice_sized_int, _readState);
380
381 }
382 this->__isset.set(3, true);
383
384 if (UNLIKELY(!_readState.advanceToNextField(
385 iprot,
386 4,
387 5,
388 apache::thrift::protocol::T_I64))) {
389 goto _loop;
390 }
391 _readField_big_int:
392 {
393 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, this->__fbthrift_field_big_int, _readState);
394
395 }
396 this->__isset.set(4, true);
397
398 if (UNLIKELY(!_readState.advanceToNextField(
399 iprot,
400 5,
401 6,
402 apache::thrift::protocol::T_DOUBLE))) {
403 goto _loop;
404 }
405 _readField_real:
406 {
407 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::readWithContext(*iprot, this->__fbthrift_field_real, _readState);
408
409 }
410 this->__isset.set(5, true);
411
412 if (UNLIKELY(!_readState.advanceToNextField(
413 iprot,
414 6,
415 7,
416 apache::thrift::protocol::T_FLOAT))) {
417 goto _loop;
418 }
419 _readField_smaller_real:
420 {
421 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::readWithContext(*iprot, this->__fbthrift_field_smaller_real, _readState);
422
423 }
424 this->__isset.set(6, true);
425
426 if (UNLIKELY(!_readState.advanceToNextField(
427 iprot,
428 7,
429 8,
430 apache::thrift::protocol::T_I16))) {
431 goto _loop;
432 }
433 _readField_hidden_field:
434 {
435 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::readWithContext(*iprot, this->__fbthrift_field_hidden_field, _readState);
436
437 }
438 this->__isset.set(7, true);
439
440 if (UNLIKELY(!_readState.advanceToNextField(
441 iprot,
442 8,
443 0,
444 apache::thrift::protocol::T_STOP))) {
445 goto _loop;
446 }
447
448 _end:
449 _readState.readStructEnd(iprot);
450
451 return;
452
453 _loop:
454 _readState.afterAdvanceFailure(iprot);
455 if (_readState.atStop()) {
456 goto _end;
457 }
458 if (iprot->kUsesFieldNames()) {
459 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<SimpleStruct>>();
460 }
461
462 switch (_readState.fieldId) {
463 case 1:
464 {
465 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BOOL))) {
466 goto _readField_is_on;
467 } else {
468 goto _skip;
469 }
470 }
471 case 2:
472 {
473 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BYTE))) {
474 goto _readField_tiny_int;
475 } else {
476 goto _skip;
477 }
478 }
479 case 3:
480 {
481 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I16))) {
482 goto _readField_small_int;
483 } else {
484 goto _skip;
485 }
486 }
487 case 4:
488 {
489 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
490 goto _readField_nice_sized_int;
491 } else {
492 goto _skip;
493 }
494 }
495 case 5:
496 {
497 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
498 goto _readField_big_int;
499 } else {
500 goto _skip;
501 }
502 }
503 case 6:
504 {
505 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_DOUBLE))) {
506 goto _readField_real;
507 } else {
508 goto _skip;
509 }
510 }
511 case 7:
512 {
513 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_FLOAT))) {
514 goto _readField_smaller_real;
515 } else {
516 goto _skip;
517 }
518 }
519 case 8:
520 {
521 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I16))) {
522 goto _readField_hidden_field;
523 } else {
524 goto _skip;
525 }
526 }
527 default:
528 {
529 _skip:
530 _readState.skip(iprot);
531 _readState.readFieldEnd(iprot);
532 _readState.readFieldBeginNoInline(iprot);
533 goto _loop;
534 }
535 }
536 }
537
538 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const539 uint32_t SimpleStruct::serializedSize(Protocol_ const* prot_) const {
540 uint32_t xfer = 0;
541 xfer += prot_->serializedStructSize("SimpleStruct");
542 {
543 xfer += prot_->serializedFieldSize("is_on", apache::thrift::protocol::T_BOOL, 1);
544 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->__fbthrift_field_is_on);
545 }
546 {
547 xfer += prot_->serializedFieldSize("tiny_int", apache::thrift::protocol::T_BYTE, 2);
548 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::serializedSize<false>(*prot_, this->__fbthrift_field_tiny_int);
549 }
550 {
551 xfer += prot_->serializedFieldSize("small_int", apache::thrift::protocol::T_I16, 3);
552 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, this->__fbthrift_field_small_int);
553 }
554 {
555 xfer += prot_->serializedFieldSize("nice_sized_int", apache::thrift::protocol::T_I32, 4);
556 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_nice_sized_int);
557 }
558 {
559 xfer += prot_->serializedFieldSize("big_int", apache::thrift::protocol::T_I64, 5);
560 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_big_int);
561 }
562 {
563 xfer += prot_->serializedFieldSize("real", apache::thrift::protocol::T_DOUBLE, 6);
564 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::serializedSize<false>(*prot_, this->__fbthrift_field_real);
565 }
566 {
567 xfer += prot_->serializedFieldSize("smaller_real", apache::thrift::protocol::T_FLOAT, 7);
568 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::serializedSize<false>(*prot_, this->__fbthrift_field_smaller_real);
569 }
570 {
571 xfer += prot_->serializedFieldSize("hidden_field", apache::thrift::protocol::T_I16, 8);
572 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, this->__fbthrift_field_hidden_field);
573 }
574 xfer += prot_->serializedSizeStop();
575 return xfer;
576 }
577
578 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const579 uint32_t SimpleStruct::serializedSizeZC(Protocol_ const* prot_) const {
580 uint32_t xfer = 0;
581 xfer += prot_->serializedStructSize("SimpleStruct");
582 {
583 xfer += prot_->serializedFieldSize("is_on", apache::thrift::protocol::T_BOOL, 1);
584 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->__fbthrift_field_is_on);
585 }
586 {
587 xfer += prot_->serializedFieldSize("tiny_int", apache::thrift::protocol::T_BYTE, 2);
588 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::serializedSize<false>(*prot_, this->__fbthrift_field_tiny_int);
589 }
590 {
591 xfer += prot_->serializedFieldSize("small_int", apache::thrift::protocol::T_I16, 3);
592 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, this->__fbthrift_field_small_int);
593 }
594 {
595 xfer += prot_->serializedFieldSize("nice_sized_int", apache::thrift::protocol::T_I32, 4);
596 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_nice_sized_int);
597 }
598 {
599 xfer += prot_->serializedFieldSize("big_int", apache::thrift::protocol::T_I64, 5);
600 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_big_int);
601 }
602 {
603 xfer += prot_->serializedFieldSize("real", apache::thrift::protocol::T_DOUBLE, 6);
604 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::serializedSize<false>(*prot_, this->__fbthrift_field_real);
605 }
606 {
607 xfer += prot_->serializedFieldSize("smaller_real", apache::thrift::protocol::T_FLOAT, 7);
608 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::serializedSize<false>(*prot_, this->__fbthrift_field_smaller_real);
609 }
610 {
611 xfer += prot_->serializedFieldSize("hidden_field", apache::thrift::protocol::T_I16, 8);
612 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, this->__fbthrift_field_hidden_field);
613 }
614 xfer += prot_->serializedSizeStop();
615 return xfer;
616 }
617
618 template <class Protocol_>
write(Protocol_ * prot_) const619 uint32_t SimpleStruct::write(Protocol_* prot_) const {
620 uint32_t xfer = 0;
621 xfer += prot_->writeStructBegin("SimpleStruct");
622 bool previousFieldHasValue = true;
623 {
624 constexpr int16_t kPrevFieldId = 0;
625 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BOOL, 1, kPrevFieldId>(*prot_, "is_on", previousFieldHasValue);
626 previousFieldHasValue = true;
627 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::write(*prot_, this->__fbthrift_field_is_on);
628 xfer += prot_->writeFieldEnd();
629 }
630 {
631 constexpr int16_t kPrevFieldId = 1;
632 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BYTE, 2, kPrevFieldId>(*prot_, "tiny_int", previousFieldHasValue);
633 previousFieldHasValue = true;
634 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::write(*prot_, this->__fbthrift_field_tiny_int);
635 xfer += prot_->writeFieldEnd();
636 }
637 {
638 constexpr int16_t kPrevFieldId = 2;
639 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I16, 3, kPrevFieldId>(*prot_, "small_int", previousFieldHasValue);
640 previousFieldHasValue = true;
641 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::write(*prot_, this->__fbthrift_field_small_int);
642 xfer += prot_->writeFieldEnd();
643 }
644 {
645 constexpr int16_t kPrevFieldId = 3;
646 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 4, kPrevFieldId>(*prot_, "nice_sized_int", previousFieldHasValue);
647 previousFieldHasValue = true;
648 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->__fbthrift_field_nice_sized_int);
649 xfer += prot_->writeFieldEnd();
650 }
651 {
652 constexpr int16_t kPrevFieldId = 4;
653 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 5, kPrevFieldId>(*prot_, "big_int", previousFieldHasValue);
654 previousFieldHasValue = true;
655 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, this->__fbthrift_field_big_int);
656 xfer += prot_->writeFieldEnd();
657 }
658 {
659 constexpr int16_t kPrevFieldId = 5;
660 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_DOUBLE, 6, kPrevFieldId>(*prot_, "real", previousFieldHasValue);
661 previousFieldHasValue = true;
662 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::write(*prot_, this->__fbthrift_field_real);
663 xfer += prot_->writeFieldEnd();
664 }
665 {
666 constexpr int16_t kPrevFieldId = 6;
667 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_FLOAT, 7, kPrevFieldId>(*prot_, "smaller_real", previousFieldHasValue);
668 previousFieldHasValue = true;
669 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::write(*prot_, this->__fbthrift_field_smaller_real);
670 xfer += prot_->writeFieldEnd();
671 }
672 {
673 constexpr int16_t kPrevFieldId = 7;
674 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I16, 8, kPrevFieldId>(*prot_, "hidden_field", previousFieldHasValue);
675 previousFieldHasValue = true;
676 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::write(*prot_, this->__fbthrift_field_hidden_field);
677 xfer += prot_->writeFieldEnd();
678 }
679 xfer += prot_->writeFieldStop();
680 xfer += prot_->writeStructEnd();
681 return xfer;
682 }
683
684 extern template void SimpleStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
685 extern template uint32_t SimpleStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
686 extern template uint32_t SimpleStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
687 extern template uint32_t SimpleStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
688 extern template void SimpleStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
689 extern template uint32_t SimpleStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
690 extern template uint32_t SimpleStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
691 extern template uint32_t SimpleStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
692
693 }} // py3::simple
694 namespace py3 { namespace simple {
695
696 template <class Protocol_>
readNoXfer(Protocol_ * iprot)697 void ComplexStruct::readNoXfer(Protocol_* iprot) {
698 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
699
700 _readState.readStructBegin(iprot);
701
702 using apache::thrift::TProtocolException;
703
704
705 if (UNLIKELY(!_readState.advanceToNextField(
706 iprot,
707 0,
708 1,
709 apache::thrift::protocol::T_STRUCT))) {
710 goto _loop;
711 }
712 _readField_structOne:
713 {
714 _readState.beforeSubobject(iprot);
715 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::py3::simple::SimpleStruct>::readWithContext(*iprot, this->__fbthrift_field_structOne, _readState);
716 _readState.afterSubobject(iprot);
717
718 }
719 this->__isset.set(0, true);
720
721 if (UNLIKELY(!_readState.advanceToNextField(
722 iprot,
723 1,
724 2,
725 apache::thrift::protocol::T_STRUCT))) {
726 goto _loop;
727 }
728 _readField_structTwo:
729 {
730 _readState.beforeSubobject(iprot);
731 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::py3::simple::SimpleStruct>::readWithContext(*iprot, this->__fbthrift_field_structTwo, _readState);
732 _readState.afterSubobject(iprot);
733
734 }
735 this->__isset.set(1, true);
736
737 if (UNLIKELY(!_readState.advanceToNextField(
738 iprot,
739 2,
740 3,
741 apache::thrift::protocol::T_I32))) {
742 goto _loop;
743 }
744 _readField_an_integer:
745 {
746 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->__fbthrift_field_an_integer, _readState);
747
748 }
749 this->__isset.set(2, true);
750
751 if (UNLIKELY(!_readState.advanceToNextField(
752 iprot,
753 3,
754 4,
755 apache::thrift::protocol::T_STRING))) {
756 goto _loop;
757 }
758 _readField_name:
759 {
760 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_name, _readState);
761
762 }
763 this->__isset.set(3, true);
764
765 if (UNLIKELY(!_readState.advanceToNextField(
766 iprot,
767 4,
768 5,
769 apache::thrift::protocol::T_I32))) {
770 goto _loop;
771 }
772 _readField_an_enum:
773 {
774 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::py3::simple::AnEnum>::readWithContext(*iprot, this->__fbthrift_field_an_enum, _readState);
775
776 }
777 this->__isset.set(4, true);
778
779 if (UNLIKELY(!_readState.advanceToNextField(
780 iprot,
781 5,
782 6,
783 apache::thrift::protocol::T_STRING))) {
784 goto _loop;
785 }
786 _readField_some_bytes:
787 {
788 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_some_bytes, _readState);
789
790 }
791 this->__isset.set(5, true);
792
793 if (UNLIKELY(!_readState.advanceToNextField(
794 iprot,
795 6,
796 7,
797 apache::thrift::protocol::T_STRING))) {
798 goto _loop;
799 }
800 _readField_from:
801 {
802 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_from, _readState);
803
804 }
805 this->__isset.set(6, true);
806
807 if (UNLIKELY(!_readState.advanceToNextField(
808 iprot,
809 7,
810 8,
811 apache::thrift::protocol::T_STRING))) {
812 goto _loop;
813 }
814 _readField_cdef:
815 {
816 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_cdef, _readState);
817
818 }
819 this->__isset.set(7, true);
820
821 if (UNLIKELY(!_readState.advanceToNextField(
822 iprot,
823 8,
824 9,
825 apache::thrift::protocol::T_STRING))) {
826 goto _loop;
827 }
828 _readField_bytes_with_cpp_type:
829 {
830 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::py3::simple::foo_bar>::readWithContext(*iprot, this->__fbthrift_field_bytes_with_cpp_type, _readState);
831
832 }
833 this->__isset.set(8, true);
834
835 if (UNLIKELY(!_readState.advanceToNextField(
836 iprot,
837 9,
838 0,
839 apache::thrift::protocol::T_STOP))) {
840 goto _loop;
841 }
842
843 _end:
844 _readState.readStructEnd(iprot);
845
846 return;
847
848 _loop:
849 _readState.afterAdvanceFailure(iprot);
850 if (_readState.atStop()) {
851 goto _end;
852 }
853 if (iprot->kUsesFieldNames()) {
854 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<ComplexStruct>>();
855 }
856
857 switch (_readState.fieldId) {
858 case 1:
859 {
860 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
861 goto _readField_structOne;
862 } else {
863 goto _skip;
864 }
865 }
866 case 2:
867 {
868 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
869 goto _readField_structTwo;
870 } else {
871 goto _skip;
872 }
873 }
874 case 3:
875 {
876 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
877 goto _readField_an_integer;
878 } else {
879 goto _skip;
880 }
881 }
882 case 4:
883 {
884 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
885 goto _readField_name;
886 } else {
887 goto _skip;
888 }
889 }
890 case 5:
891 {
892 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
893 goto _readField_an_enum;
894 } else {
895 goto _skip;
896 }
897 }
898 case 6:
899 {
900 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
901 goto _readField_some_bytes;
902 } else {
903 goto _skip;
904 }
905 }
906 case 7:
907 {
908 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
909 goto _readField_from;
910 } else {
911 goto _skip;
912 }
913 }
914 case 8:
915 {
916 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
917 goto _readField_cdef;
918 } else {
919 goto _skip;
920 }
921 }
922 case 9:
923 {
924 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
925 goto _readField_bytes_with_cpp_type;
926 } else {
927 goto _skip;
928 }
929 }
930 default:
931 {
932 _skip:
933 _readState.skip(iprot);
934 _readState.readFieldEnd(iprot);
935 _readState.readFieldBeginNoInline(iprot);
936 goto _loop;
937 }
938 }
939 }
940
941 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const942 uint32_t ComplexStruct::serializedSize(Protocol_ const* prot_) const {
943 uint32_t xfer = 0;
944 xfer += prot_->serializedStructSize("ComplexStruct");
945 {
946 xfer += prot_->serializedFieldSize("structOne", apache::thrift::protocol::T_STRUCT, 1);
947 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::py3::simple::SimpleStruct>::serializedSize<false>(*prot_, this->__fbthrift_field_structOne);
948 }
949 {
950 xfer += prot_->serializedFieldSize("structTwo", apache::thrift::protocol::T_STRUCT, 2);
951 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::py3::simple::SimpleStruct>::serializedSize<false>(*prot_, this->__fbthrift_field_structTwo);
952 }
953 {
954 xfer += prot_->serializedFieldSize("an_integer", apache::thrift::protocol::T_I32, 3);
955 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_an_integer);
956 }
957 {
958 xfer += prot_->serializedFieldSize("name", apache::thrift::protocol::T_STRING, 4);
959 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_name);
960 }
961 {
962 xfer += prot_->serializedFieldSize("an_enum", apache::thrift::protocol::T_I32, 5);
963 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::py3::simple::AnEnum>::serializedSize<false>(*prot_, this->__fbthrift_field_an_enum);
964 }
965 {
966 xfer += prot_->serializedFieldSize("some_bytes", apache::thrift::protocol::T_STRING, 6);
967 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_some_bytes);
968 }
969 {
970 xfer += prot_->serializedFieldSize("from", apache::thrift::protocol::T_STRING, 7);
971 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_from);
972 }
973 {
974 xfer += prot_->serializedFieldSize("cdef", apache::thrift::protocol::T_STRING, 8);
975 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_cdef);
976 }
977 {
978 xfer += prot_->serializedFieldSize("bytes_with_cpp_type", apache::thrift::protocol::T_STRING, 9);
979 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::py3::simple::foo_bar>::serializedSize<false>(*prot_, this->__fbthrift_field_bytes_with_cpp_type);
980 }
981 xfer += prot_->serializedSizeStop();
982 return xfer;
983 }
984
985 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const986 uint32_t ComplexStruct::serializedSizeZC(Protocol_ const* prot_) const {
987 uint32_t xfer = 0;
988 xfer += prot_->serializedStructSize("ComplexStruct");
989 {
990 xfer += prot_->serializedFieldSize("structOne", apache::thrift::protocol::T_STRUCT, 1);
991 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::py3::simple::SimpleStruct>::serializedSize<true>(*prot_, this->__fbthrift_field_structOne);
992 }
993 {
994 xfer += prot_->serializedFieldSize("structTwo", apache::thrift::protocol::T_STRUCT, 2);
995 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::py3::simple::SimpleStruct>::serializedSize<true>(*prot_, this->__fbthrift_field_structTwo);
996 }
997 {
998 xfer += prot_->serializedFieldSize("an_integer", apache::thrift::protocol::T_I32, 3);
999 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_an_integer);
1000 }
1001 {
1002 xfer += prot_->serializedFieldSize("name", apache::thrift::protocol::T_STRING, 4);
1003 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_name);
1004 }
1005 {
1006 xfer += prot_->serializedFieldSize("an_enum", apache::thrift::protocol::T_I32, 5);
1007 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::py3::simple::AnEnum>::serializedSize<false>(*prot_, this->__fbthrift_field_an_enum);
1008 }
1009 {
1010 xfer += prot_->serializedFieldSize("some_bytes", apache::thrift::protocol::T_STRING, 6);
1011 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<true>(*prot_, this->__fbthrift_field_some_bytes);
1012 }
1013 {
1014 xfer += prot_->serializedFieldSize("from", apache::thrift::protocol::T_STRING, 7);
1015 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_from);
1016 }
1017 {
1018 xfer += prot_->serializedFieldSize("cdef", apache::thrift::protocol::T_STRING, 8);
1019 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_cdef);
1020 }
1021 {
1022 xfer += prot_->serializedFieldSize("bytes_with_cpp_type", apache::thrift::protocol::T_STRING, 9);
1023 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::py3::simple::foo_bar>::serializedSize<true>(*prot_, this->__fbthrift_field_bytes_with_cpp_type);
1024 }
1025 xfer += prot_->serializedSizeStop();
1026 return xfer;
1027 }
1028
1029 template <class Protocol_>
write(Protocol_ * prot_) const1030 uint32_t ComplexStruct::write(Protocol_* prot_) const {
1031 uint32_t xfer = 0;
1032 xfer += prot_->writeStructBegin("ComplexStruct");
1033 bool previousFieldHasValue = true;
1034 {
1035 constexpr int16_t kPrevFieldId = 0;
1036 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 1, kPrevFieldId>(*prot_, "structOne", previousFieldHasValue);
1037 previousFieldHasValue = true;
1038 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::py3::simple::SimpleStruct>::write(*prot_, this->__fbthrift_field_structOne);
1039 xfer += prot_->writeFieldEnd();
1040 }
1041 {
1042 constexpr int16_t kPrevFieldId = 1;
1043 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 2, kPrevFieldId>(*prot_, "structTwo", previousFieldHasValue);
1044 previousFieldHasValue = true;
1045 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::py3::simple::SimpleStruct>::write(*prot_, this->__fbthrift_field_structTwo);
1046 xfer += prot_->writeFieldEnd();
1047 }
1048 {
1049 constexpr int16_t kPrevFieldId = 2;
1050 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 3, kPrevFieldId>(*prot_, "an_integer", previousFieldHasValue);
1051 previousFieldHasValue = true;
1052 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->__fbthrift_field_an_integer);
1053 xfer += prot_->writeFieldEnd();
1054 }
1055 {
1056 constexpr int16_t kPrevFieldId = 3;
1057 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 4, kPrevFieldId>(*prot_, "name", previousFieldHasValue);
1058 previousFieldHasValue = true;
1059 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_name);
1060 xfer += prot_->writeFieldEnd();
1061 }
1062 {
1063 constexpr int16_t kPrevFieldId = 4;
1064 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 5, kPrevFieldId>(*prot_, "an_enum", previousFieldHasValue);
1065 previousFieldHasValue = true;
1066 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::py3::simple::AnEnum>::write(*prot_, this->__fbthrift_field_an_enum);
1067 xfer += prot_->writeFieldEnd();
1068 }
1069 {
1070 constexpr int16_t kPrevFieldId = 5;
1071 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 6, kPrevFieldId>(*prot_, "some_bytes", previousFieldHasValue);
1072 previousFieldHasValue = true;
1073 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::write(*prot_, this->__fbthrift_field_some_bytes);
1074 xfer += prot_->writeFieldEnd();
1075 }
1076 {
1077 constexpr int16_t kPrevFieldId = 6;
1078 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 7, kPrevFieldId>(*prot_, "from", previousFieldHasValue);
1079 previousFieldHasValue = true;
1080 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_from);
1081 xfer += prot_->writeFieldEnd();
1082 }
1083 {
1084 constexpr int16_t kPrevFieldId = 7;
1085 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 8, kPrevFieldId>(*prot_, "cdef", previousFieldHasValue);
1086 previousFieldHasValue = true;
1087 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_cdef);
1088 xfer += prot_->writeFieldEnd();
1089 }
1090 {
1091 constexpr int16_t kPrevFieldId = 8;
1092 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 9, kPrevFieldId>(*prot_, "bytes_with_cpp_type", previousFieldHasValue);
1093 previousFieldHasValue = true;
1094 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::py3::simple::foo_bar>::write(*prot_, this->__fbthrift_field_bytes_with_cpp_type);
1095 xfer += prot_->writeFieldEnd();
1096 }
1097 xfer += prot_->writeFieldStop();
1098 xfer += prot_->writeStructEnd();
1099 return xfer;
1100 }
1101
1102 extern template void ComplexStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
1103 extern template uint32_t ComplexStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
1104 extern template uint32_t ComplexStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
1105 extern template uint32_t ComplexStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
1106 extern template void ComplexStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
1107 extern template uint32_t ComplexStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
1108 extern template uint32_t ComplexStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
1109 extern template uint32_t ComplexStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
1110
1111 }} // py3::simple
1112 namespace py3 { namespace simple {
1113
1114 template <class Protocol_>
readNoXfer(Protocol_ * iprot)1115 void BinaryUnion::readNoXfer(Protocol_* iprot) {
1116 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
1117 _readState.fieldId = 0;
1118
1119 _readState.readStructBegin(iprot);
1120
1121 _readState.readFieldBegin(iprot);
1122 if (_readState.atStop()) {
1123 apache::thrift::clear(*this);
1124 } else {
1125 if (iprot->kUsesFieldNames()) {
1126 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<BinaryUnion>>();
1127 }
1128 switch (_readState.fieldId) {
1129 case 1:
1130 {
1131 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING)) {
1132 this->set_iobuf_val();
1133 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::py3::simple::IOBuf>::readWithContext(*iprot, value_.iobuf_val, _readState);
1134
1135 } else {
1136 _readState.skip(iprot);
1137 }
1138 break;
1139 }
1140 default:
1141 {
1142 _readState.skip(iprot);
1143 break;
1144 }
1145 }
1146 _readState.readFieldEnd(iprot);
1147 _readState.readFieldBegin(iprot);
1148 if (UNLIKELY(!_readState.atStop())) {
1149 using apache::thrift::protocol::TProtocolException;
1150 TProtocolException::throwUnionMissingStop();
1151 }
1152 }
1153 _readState.readStructEnd(iprot);
1154 }
1155 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const1156 uint32_t BinaryUnion::serializedSize(Protocol_ const* prot_) const {
1157 uint32_t xfer = 0;
1158 xfer += prot_->serializedStructSize("BinaryUnion");
1159 switch(this->getType()) {
1160 case BinaryUnion::Type::iobuf_val:
1161 {
1162 xfer += prot_->serializedFieldSize("iobuf_val", apache::thrift::protocol::T_STRING, 1);
1163 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::py3::simple::IOBuf>::serializedSize<false>(*prot_, value_.iobuf_val);
1164 break;
1165 }
1166 case BinaryUnion::Type::__EMPTY__:;
1167 }
1168 xfer += prot_->serializedSizeStop();
1169 return xfer;
1170 }
1171
1172 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const1173 uint32_t BinaryUnion::serializedSizeZC(Protocol_ const* prot_) const {
1174 uint32_t xfer = 0;
1175 xfer += prot_->serializedStructSize("BinaryUnion");
1176 switch(this->getType()) {
1177 case BinaryUnion::Type::iobuf_val:
1178 {
1179 xfer += prot_->serializedFieldSize("iobuf_val", apache::thrift::protocol::T_STRING, 1);
1180 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::py3::simple::IOBuf>::serializedSize<true>(*prot_, value_.iobuf_val);
1181 break;
1182 }
1183 case BinaryUnion::Type::__EMPTY__:;
1184 }
1185 xfer += prot_->serializedSizeStop();
1186 return xfer;
1187 }
1188
1189 template <class Protocol_>
write(Protocol_ * prot_) const1190 uint32_t BinaryUnion::write(Protocol_* prot_) const {
1191 uint32_t xfer = 0;
1192 xfer += prot_->writeStructBegin("BinaryUnion");
1193 switch(this->getType()) {
1194 case BinaryUnion::Type::iobuf_val:
1195 {
1196 constexpr int16_t kPrevFieldId = 0;
1197 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 1, kPrevFieldId>(*prot_, "iobuf_val", false);
1198 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::py3::simple::IOBuf>::write(*prot_, value_.iobuf_val);
1199 xfer += prot_->writeFieldEnd();
1200 break;
1201 }
1202 case BinaryUnion::Type::__EMPTY__:;
1203 }
1204 xfer += prot_->writeFieldStop();
1205 xfer += prot_->writeStructEnd();
1206 return xfer;
1207 }
1208
1209 extern template void BinaryUnion::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
1210 extern template uint32_t BinaryUnion::write<>(apache::thrift::BinaryProtocolWriter*) const;
1211 extern template uint32_t BinaryUnion::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
1212 extern template uint32_t BinaryUnion::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
1213 extern template void BinaryUnion::readNoXfer<>(apache::thrift::CompactProtocolReader*);
1214 extern template uint32_t BinaryUnion::write<>(apache::thrift::CompactProtocolWriter*) const;
1215 extern template uint32_t BinaryUnion::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
1216 extern template uint32_t BinaryUnion::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
1217
1218 }} // py3::simple
1219 namespace py3 { namespace simple {
1220
1221 template <class Protocol_>
readNoXfer(Protocol_ * iprot)1222 void BinaryUnionStruct::readNoXfer(Protocol_* iprot) {
1223 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
1224
1225 _readState.readStructBegin(iprot);
1226
1227 using apache::thrift::TProtocolException;
1228
1229
1230 if (UNLIKELY(!_readState.advanceToNextField(
1231 iprot,
1232 0,
1233 1,
1234 apache::thrift::protocol::T_STRUCT))) {
1235 goto _loop;
1236 }
1237 _readField_u:
1238 {
1239 _readState.beforeSubobject(iprot);
1240 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::py3::simple::BinaryUnion>::readWithContext(*iprot, this->__fbthrift_field_u, _readState);
1241 _readState.afterSubobject(iprot);
1242
1243 }
1244 this->__isset.set(0, true);
1245
1246 if (UNLIKELY(!_readState.advanceToNextField(
1247 iprot,
1248 1,
1249 0,
1250 apache::thrift::protocol::T_STOP))) {
1251 goto _loop;
1252 }
1253
1254 _end:
1255 _readState.readStructEnd(iprot);
1256
1257 return;
1258
1259 _loop:
1260 _readState.afterAdvanceFailure(iprot);
1261 if (_readState.atStop()) {
1262 goto _end;
1263 }
1264 if (iprot->kUsesFieldNames()) {
1265 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<BinaryUnionStruct>>();
1266 }
1267
1268 switch (_readState.fieldId) {
1269 case 1:
1270 {
1271 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
1272 goto _readField_u;
1273 } else {
1274 goto _skip;
1275 }
1276 }
1277 default:
1278 {
1279 _skip:
1280 _readState.skip(iprot);
1281 _readState.readFieldEnd(iprot);
1282 _readState.readFieldBeginNoInline(iprot);
1283 goto _loop;
1284 }
1285 }
1286 }
1287
1288 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const1289 uint32_t BinaryUnionStruct::serializedSize(Protocol_ const* prot_) const {
1290 uint32_t xfer = 0;
1291 xfer += prot_->serializedStructSize("BinaryUnionStruct");
1292 {
1293 xfer += prot_->serializedFieldSize("u", apache::thrift::protocol::T_STRUCT, 1);
1294 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::py3::simple::BinaryUnion>::serializedSize<false>(*prot_, this->__fbthrift_field_u);
1295 }
1296 xfer += prot_->serializedSizeStop();
1297 return xfer;
1298 }
1299
1300 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const1301 uint32_t BinaryUnionStruct::serializedSizeZC(Protocol_ const* prot_) const {
1302 uint32_t xfer = 0;
1303 xfer += prot_->serializedStructSize("BinaryUnionStruct");
1304 {
1305 xfer += prot_->serializedFieldSize("u", apache::thrift::protocol::T_STRUCT, 1);
1306 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::py3::simple::BinaryUnion>::serializedSize<true>(*prot_, this->__fbthrift_field_u);
1307 }
1308 xfer += prot_->serializedSizeStop();
1309 return xfer;
1310 }
1311
1312 template <class Protocol_>
write(Protocol_ * prot_) const1313 uint32_t BinaryUnionStruct::write(Protocol_* prot_) const {
1314 uint32_t xfer = 0;
1315 xfer += prot_->writeStructBegin("BinaryUnionStruct");
1316 bool previousFieldHasValue = true;
1317 {
1318 constexpr int16_t kPrevFieldId = 0;
1319 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 1, kPrevFieldId>(*prot_, "u", previousFieldHasValue);
1320 previousFieldHasValue = true;
1321 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::variant, ::py3::simple::BinaryUnion>::write(*prot_, this->__fbthrift_field_u);
1322 xfer += prot_->writeFieldEnd();
1323 }
1324 xfer += prot_->writeFieldStop();
1325 xfer += prot_->writeStructEnd();
1326 return xfer;
1327 }
1328
1329 extern template void BinaryUnionStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
1330 extern template uint32_t BinaryUnionStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
1331 extern template uint32_t BinaryUnionStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
1332 extern template uint32_t BinaryUnionStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
1333 extern template void BinaryUnionStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
1334 extern template uint32_t BinaryUnionStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
1335 extern template uint32_t BinaryUnionStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
1336 extern template uint32_t BinaryUnionStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
1337
1338 }} // py3::simple
1339