2 * Autogenerated by Thrift for src/deprecated_tag_incompatible_terse_write.thrift
4 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
9 #include "thrift/compiler/test/fixtures/terse_write/gen-cpp2/deprecated_tag_incompatible_terse_write_types.h"
11 #include <thrift/lib/cpp2/gen/module_types_tcc.h>
19 struct TccStructTraits<::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStruct> {
20 static void translateFieldName(
21 folly::StringPiece _fname,
23 apache::thrift::protocol::TType& _ftype) noexcept;
26 struct TccStructTraits<::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStructWithCustomDefault> {
27 static void translateFieldName(
28 folly::StringPiece _fname,
30 apache::thrift::protocol::TType& _ftype) noexcept;
33 struct TccStructTraits<::facebook::thrift::test::terse_write::deprecated_tag_incompatible::StructLevelTerseStruct> {
34 static void translateFieldName(
35 folly::StringPiece _fname,
37 apache::thrift::protocol::TType& _ftype) noexcept;
40 struct TccStructTraits<::facebook::thrift::test::terse_write::deprecated_tag_incompatible::FieldLevelTerseStruct> {
41 static void translateFieldName(
42 folly::StringPiece _fname,
44 apache::thrift::protocol::TType& _ftype) noexcept;
47 struct TccStructTraits<::facebook::thrift::test::terse_write::deprecated_tag_incompatible::TerseStructWithCustomDefault> {
48 static void translateFieldName(
49 folly::StringPiece _fname,
51 apache::thrift::protocol::TType& _ftype) noexcept;
54 struct TccStructTraits<::facebook::thrift::test::terse_write::deprecated_tag_incompatible::AdaptedFields> {
55 static void translateFieldName(
56 folly::StringPiece _fname,
58 apache::thrift::protocol::TType& _ftype) noexcept;
65 namespace facebook { namespace thrift { namespace test { namespace terse_write { namespace deprecated_tag_incompatible {
67 template <class Protocol_>
68 void MyStruct::readNoXfer(Protocol_* iprot) {
69 __fbthrift_clear_terse_fields();
71 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
73 _readState.readStructBegin(iprot);
75 using apache::thrift::TProtocolException;
78 if (UNLIKELY(!_readState.advanceToNextField(
82 apache::thrift::protocol::T_STOP))) {
87 _readState.readStructEnd(iprot);
92 _readState.afterAdvanceFailure(iprot);
93 if (_readState.atStop()) {
96 if (iprot->kUsesFieldNames()) {
97 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<MyStruct>>();
100 switch (_readState.fieldId) {
103 _readState.skip(iprot);
104 _readState.readFieldEnd(iprot);
105 _readState.readFieldBeginNoInline(iprot);
111 template <class Protocol_>
112 uint32_t MyStruct::serializedSize(Protocol_ const* prot_) const {
114 xfer += prot_->serializedStructSize("MyStruct");
115 xfer += prot_->serializedSizeStop();
119 template <class Protocol_>
120 uint32_t MyStruct::serializedSizeZC(Protocol_ const* prot_) const {
122 xfer += prot_->serializedStructSize("MyStruct");
123 xfer += prot_->serializedSizeStop();
127 template <class Protocol_>
128 uint32_t MyStruct::write(Protocol_* prot_) const {
130 xfer += prot_->writeStructBegin("MyStruct");
131 xfer += prot_->writeFieldStop();
132 xfer += prot_->writeStructEnd();
136 extern template void MyStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
137 extern template uint32_t MyStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
138 extern template uint32_t MyStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
139 extern template uint32_t MyStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
140 extern template void MyStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
141 extern template uint32_t MyStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
142 extern template uint32_t MyStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
143 extern template uint32_t MyStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
146 template <class Protocol_>
147 void MyStructWithCustomDefault::readNoXfer(Protocol_* iprot) {
148 __fbthrift_clear_terse_fields();
150 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
152 _readState.readStructBegin(iprot);
154 using apache::thrift::TProtocolException;
157 if (UNLIKELY(!_readState.advanceToNextField(
161 apache::thrift::protocol::T_I64))) {
166 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, this->__fbthrift_field_field1, _readState);
169 this->__isset.set(0, true);
171 if (UNLIKELY(!_readState.advanceToNextField(
175 apache::thrift::protocol::T_STOP))) {
180 _readState.readStructEnd(iprot);
185 _readState.afterAdvanceFailure(iprot);
186 if (_readState.atStop()) {
189 if (iprot->kUsesFieldNames()) {
190 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<MyStructWithCustomDefault>>();
193 switch (_readState.fieldId) {
196 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
197 goto _readField_field1;
205 _readState.skip(iprot);
206 _readState.readFieldEnd(iprot);
207 _readState.readFieldBeginNoInline(iprot);
213 template <class Protocol_>
214 uint32_t MyStructWithCustomDefault::serializedSize(Protocol_ const* prot_) const {
216 xfer += prot_->serializedStructSize("MyStructWithCustomDefault");
218 xfer += prot_->serializedFieldSize("field1", apache::thrift::protocol::T_I64, 1);
219 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_field1);
221 xfer += prot_->serializedSizeStop();
225 template <class Protocol_>
226 uint32_t MyStructWithCustomDefault::serializedSizeZC(Protocol_ const* prot_) const {
228 xfer += prot_->serializedStructSize("MyStructWithCustomDefault");
230 xfer += prot_->serializedFieldSize("field1", apache::thrift::protocol::T_I64, 1);
231 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_field1);
233 xfer += prot_->serializedSizeStop();
237 template <class Protocol_>
238 uint32_t MyStructWithCustomDefault::write(Protocol_* prot_) const {
240 xfer += prot_->writeStructBegin("MyStructWithCustomDefault");
241 bool previousFieldHasValue = true;
243 constexpr int16_t kPrevFieldId = 0;
244 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 1, kPrevFieldId>(*prot_, "field1", previousFieldHasValue);
245 previousFieldHasValue = true;
246 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, this->__fbthrift_field_field1);
247 xfer += prot_->writeFieldEnd();
249 xfer += prot_->writeFieldStop();
250 xfer += prot_->writeStructEnd();
254 extern template void MyStructWithCustomDefault::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
255 extern template uint32_t MyStructWithCustomDefault::write<>(apache::thrift::BinaryProtocolWriter*) const;
256 extern template uint32_t MyStructWithCustomDefault::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
257 extern template uint32_t MyStructWithCustomDefault::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
258 extern template void MyStructWithCustomDefault::readNoXfer<>(apache::thrift::CompactProtocolReader*);
259 extern template uint32_t MyStructWithCustomDefault::write<>(apache::thrift::CompactProtocolWriter*) const;
260 extern template uint32_t MyStructWithCustomDefault::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
261 extern template uint32_t MyStructWithCustomDefault::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
264 template <class Protocol_>
265 void StructLevelTerseStruct::readNoXfer(Protocol_* iprot) {
266 __fbthrift_clear_terse_fields();
268 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
270 _readState.readStructBegin(iprot);
272 using apache::thrift::TProtocolException;
275 if (UNLIKELY(!_readState.advanceToNextField(
279 apache::thrift::protocol::T_BOOL))) {
282 _readField_bool_field:
284 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::readWithContext(*iprot, this->__fbthrift_field_bool_field, _readState);
288 if (UNLIKELY(!_readState.advanceToNextField(
292 apache::thrift::protocol::T_BYTE))) {
295 _readField_byte_field:
297 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::readWithContext(*iprot, this->__fbthrift_field_byte_field, _readState);
301 if (UNLIKELY(!_readState.advanceToNextField(
305 apache::thrift::protocol::T_I16))) {
308 _readField_short_field:
310 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::readWithContext(*iprot, this->__fbthrift_field_short_field, _readState);
314 if (UNLIKELY(!_readState.advanceToNextField(
318 apache::thrift::protocol::T_I32))) {
321 _readField_int_field:
323 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->__fbthrift_field_int_field, _readState);
327 if (UNLIKELY(!_readState.advanceToNextField(
331 apache::thrift::protocol::T_I64))) {
334 _readField_long_field:
336 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, this->__fbthrift_field_long_field, _readState);
340 if (UNLIKELY(!_readState.advanceToNextField(
344 apache::thrift::protocol::T_FLOAT))) {
347 _readField_float_field:
349 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::readWithContext(*iprot, this->__fbthrift_field_float_field, _readState);
353 if (UNLIKELY(!_readState.advanceToNextField(
357 apache::thrift::protocol::T_DOUBLE))) {
360 _readField_double_field:
362 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::readWithContext(*iprot, this->__fbthrift_field_double_field, _readState);
366 if (UNLIKELY(!_readState.advanceToNextField(
370 apache::thrift::protocol::T_STRING))) {
373 _readField_string_field:
375 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_string_field, _readState);
379 if (UNLIKELY(!_readState.advanceToNextField(
383 apache::thrift::protocol::T_STRING))) {
386 _readField_binary_field:
388 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_binary_field, _readState);
392 if (UNLIKELY(!_readState.advanceToNextField(
396 apache::thrift::protocol::T_I32))) {
399 _readField_enum_field:
401 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum>::readWithContext(*iprot, this->__fbthrift_field_enum_field, _readState);
405 if (UNLIKELY(!_readState.advanceToNextField(
409 apache::thrift::protocol::T_LIST))) {
412 _readField_list_field:
414 _readState.beforeSubobject(iprot);
415 this->__fbthrift_field_list_field = ::std::vector<::std::int16_t>();
416 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::readWithContext(*iprot, this->__fbthrift_field_list_field, _readState);
417 _readState.afterSubobject(iprot);
421 if (UNLIKELY(!_readState.advanceToNextField(
425 apache::thrift::protocol::T_SET))) {
428 _readField_set_field:
430 _readState.beforeSubobject(iprot);
431 this->__fbthrift_field_set_field = ::std::set<::std::int16_t>();
432 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int16_t>>::readWithContext(*iprot, this->__fbthrift_field_set_field, _readState);
433 _readState.afterSubobject(iprot);
437 if (UNLIKELY(!_readState.advanceToNextField(
441 apache::thrift::protocol::T_MAP))) {
444 _readField_map_field:
446 _readState.beforeSubobject(iprot);
447 this->__fbthrift_field_map_field = ::std::map<::std::int16_t, ::std::int16_t>();
448 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::integral>, ::std::map<::std::int16_t, ::std::int16_t>>::readWithContext(*iprot, this->__fbthrift_field_map_field, _readState);
449 _readState.afterSubobject(iprot);
453 if (UNLIKELY(!_readState.advanceToNextField(
457 apache::thrift::protocol::T_STRUCT))) {
460 _readField_struct_field:
462 _readState.beforeSubobject(iprot);
463 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStruct>::readWithContext(*iprot, this->__fbthrift_field_struct_field, _readState);
464 _readState.afterSubobject(iprot);
468 if (UNLIKELY(!_readState.advanceToNextField(
472 apache::thrift::protocol::T_STOP))) {
477 _readState.readStructEnd(iprot);
482 _readState.afterAdvanceFailure(iprot);
483 if (_readState.atStop()) {
486 if (iprot->kUsesFieldNames()) {
487 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<StructLevelTerseStruct>>();
490 switch (_readState.fieldId) {
493 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BOOL))) {
494 goto _readField_bool_field;
501 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BYTE))) {
502 goto _readField_byte_field;
509 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I16))) {
510 goto _readField_short_field;
517 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
518 goto _readField_int_field;
525 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
526 goto _readField_long_field;
533 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_FLOAT))) {
534 goto _readField_float_field;
541 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_DOUBLE))) {
542 goto _readField_double_field;
549 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
550 goto _readField_string_field;
557 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
558 goto _readField_binary_field;
565 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
566 goto _readField_enum_field;
573 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
574 goto _readField_list_field;
581 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
582 goto _readField_set_field;
589 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
590 goto _readField_map_field;
597 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
598 goto _readField_struct_field;
606 _readState.skip(iprot);
607 _readState.readFieldEnd(iprot);
608 _readState.readFieldBeginNoInline(iprot);
614 template <class Protocol_>
615 uint32_t StructLevelTerseStruct::serializedSize(Protocol_ const* prot_) const {
617 xfer += prot_->serializedStructSize("StructLevelTerseStruct");
618 if (!(this->__fbthrift_field_bool_field == bool())) {
619 xfer += prot_->serializedFieldSize("bool_field", apache::thrift::protocol::T_BOOL, 1);
620 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->__fbthrift_field_bool_field);
622 if (!(this->__fbthrift_field_byte_field == ::std::int8_t())) {
623 xfer += prot_->serializedFieldSize("byte_field", apache::thrift::protocol::T_BYTE, 2);
624 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::serializedSize<false>(*prot_, this->__fbthrift_field_byte_field);
626 if (!(this->__fbthrift_field_short_field == ::std::int16_t())) {
627 xfer += prot_->serializedFieldSize("short_field", apache::thrift::protocol::T_I16, 3);
628 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, this->__fbthrift_field_short_field);
630 if (!(this->__fbthrift_field_int_field == ::std::int32_t())) {
631 xfer += prot_->serializedFieldSize("int_field", apache::thrift::protocol::T_I32, 4);
632 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_int_field);
634 if (!(this->__fbthrift_field_long_field == ::std::int64_t())) {
635 xfer += prot_->serializedFieldSize("long_field", apache::thrift::protocol::T_I64, 5);
636 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_long_field);
638 if (!(this->__fbthrift_field_float_field == float())) {
639 xfer += prot_->serializedFieldSize("float_field", apache::thrift::protocol::T_FLOAT, 6);
640 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::serializedSize<false>(*prot_, this->__fbthrift_field_float_field);
642 if (!(this->__fbthrift_field_double_field == double())) {
643 xfer += prot_->serializedFieldSize("double_field", apache::thrift::protocol::T_DOUBLE, 7);
644 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::serializedSize<false>(*prot_, this->__fbthrift_field_double_field);
646 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_string_field))) {
647 xfer += prot_->serializedFieldSize("string_field", apache::thrift::protocol::T_STRING, 8);
648 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_string_field);
650 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_binary_field))) {
651 xfer += prot_->serializedFieldSize("binary_field", apache::thrift::protocol::T_STRING, 9);
652 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_binary_field);
654 if (!(this->__fbthrift_field_enum_field == ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum())) {
655 xfer += prot_->serializedFieldSize("enum_field", apache::thrift::protocol::T_I32, 10);
656 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum>::serializedSize<false>(*prot_, this->__fbthrift_field_enum_field);
658 if (!(this->__fbthrift_field_list_field.empty())) {
659 xfer += prot_->serializedFieldSize("list_field", apache::thrift::protocol::T_LIST, 11);
660 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_list_field);
662 if (!(this->__fbthrift_field_set_field.empty())) {
663 xfer += prot_->serializedFieldSize("set_field", apache::thrift::protocol::T_SET, 12);
664 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_set_field);
666 if (!(this->__fbthrift_field_map_field.empty())) {
667 xfer += prot_->serializedFieldSize("map_field", apache::thrift::protocol::T_MAP, 13);
668 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::int16_t, ::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_map_field);
670 if (!(::apache::thrift::empty(this->__fbthrift_field_struct_field))) {
671 xfer += prot_->serializedFieldSize("struct_field", apache::thrift::protocol::T_STRUCT, 14);
672 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStruct>::serializedSize<false>(*prot_, this->__fbthrift_field_struct_field);
674 xfer += prot_->serializedSizeStop();
678 template <class Protocol_>
679 uint32_t StructLevelTerseStruct::serializedSizeZC(Protocol_ const* prot_) const {
681 xfer += prot_->serializedStructSize("StructLevelTerseStruct");
682 if (!(this->__fbthrift_field_bool_field == bool())) {
683 xfer += prot_->serializedFieldSize("bool_field", apache::thrift::protocol::T_BOOL, 1);
684 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->__fbthrift_field_bool_field);
686 if (!(this->__fbthrift_field_byte_field == ::std::int8_t())) {
687 xfer += prot_->serializedFieldSize("byte_field", apache::thrift::protocol::T_BYTE, 2);
688 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::serializedSize<false>(*prot_, this->__fbthrift_field_byte_field);
690 if (!(this->__fbthrift_field_short_field == ::std::int16_t())) {
691 xfer += prot_->serializedFieldSize("short_field", apache::thrift::protocol::T_I16, 3);
692 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, this->__fbthrift_field_short_field);
694 if (!(this->__fbthrift_field_int_field == ::std::int32_t())) {
695 xfer += prot_->serializedFieldSize("int_field", apache::thrift::protocol::T_I32, 4);
696 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_int_field);
698 if (!(this->__fbthrift_field_long_field == ::std::int64_t())) {
699 xfer += prot_->serializedFieldSize("long_field", apache::thrift::protocol::T_I64, 5);
700 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_long_field);
702 if (!(this->__fbthrift_field_float_field == float())) {
703 xfer += prot_->serializedFieldSize("float_field", apache::thrift::protocol::T_FLOAT, 6);
704 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::serializedSize<false>(*prot_, this->__fbthrift_field_float_field);
706 if (!(this->__fbthrift_field_double_field == double())) {
707 xfer += prot_->serializedFieldSize("double_field", apache::thrift::protocol::T_DOUBLE, 7);
708 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::serializedSize<false>(*prot_, this->__fbthrift_field_double_field);
710 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_string_field))) {
711 xfer += prot_->serializedFieldSize("string_field", apache::thrift::protocol::T_STRING, 8);
712 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_string_field);
714 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_binary_field))) {
715 xfer += prot_->serializedFieldSize("binary_field", apache::thrift::protocol::T_STRING, 9);
716 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<true>(*prot_, this->__fbthrift_field_binary_field);
718 if (!(this->__fbthrift_field_enum_field == ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum())) {
719 xfer += prot_->serializedFieldSize("enum_field", apache::thrift::protocol::T_I32, 10);
720 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum>::serializedSize<false>(*prot_, this->__fbthrift_field_enum_field);
722 if (!(this->__fbthrift_field_list_field.empty())) {
723 xfer += prot_->serializedFieldSize("list_field", apache::thrift::protocol::T_LIST, 11);
724 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_list_field);
726 if (!(this->__fbthrift_field_set_field.empty())) {
727 xfer += prot_->serializedFieldSize("set_field", apache::thrift::protocol::T_SET, 12);
728 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_set_field);
730 if (!(this->__fbthrift_field_map_field.empty())) {
731 xfer += prot_->serializedFieldSize("map_field", apache::thrift::protocol::T_MAP, 13);
732 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::int16_t, ::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_map_field);
734 if (!(::apache::thrift::empty(this->__fbthrift_field_struct_field))) {
735 xfer += prot_->serializedFieldSize("struct_field", apache::thrift::protocol::T_STRUCT, 14);
736 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStruct>::serializedSize<true>(*prot_, this->__fbthrift_field_struct_field);
738 xfer += prot_->serializedSizeStop();
742 template <class Protocol_>
743 uint32_t StructLevelTerseStruct::write(Protocol_* prot_) const {
745 xfer += prot_->writeStructBegin("StructLevelTerseStruct");
746 bool previousFieldHasValue = true;
747 if (!(this->__fbthrift_field_bool_field == bool())) {
748 constexpr int16_t kPrevFieldId = 0;
749 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BOOL, 1, kPrevFieldId>(*prot_, "bool_field", previousFieldHasValue);
750 previousFieldHasValue = true;
751 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::write(*prot_, this->__fbthrift_field_bool_field);
752 xfer += prot_->writeFieldEnd();
754 previousFieldHasValue = false;
756 if (!(this->__fbthrift_field_byte_field == ::std::int8_t())) {
757 constexpr int16_t kPrevFieldId = 1;
758 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BYTE, 2, kPrevFieldId>(*prot_, "byte_field", previousFieldHasValue);
759 previousFieldHasValue = true;
760 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::write(*prot_, this->__fbthrift_field_byte_field);
761 xfer += prot_->writeFieldEnd();
763 previousFieldHasValue = false;
765 if (!(this->__fbthrift_field_short_field == ::std::int16_t())) {
766 constexpr int16_t kPrevFieldId = 2;
767 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I16, 3, kPrevFieldId>(*prot_, "short_field", previousFieldHasValue);
768 previousFieldHasValue = true;
769 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::write(*prot_, this->__fbthrift_field_short_field);
770 xfer += prot_->writeFieldEnd();
772 previousFieldHasValue = false;
774 if (!(this->__fbthrift_field_int_field == ::std::int32_t())) {
775 constexpr int16_t kPrevFieldId = 3;
776 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 4, kPrevFieldId>(*prot_, "int_field", previousFieldHasValue);
777 previousFieldHasValue = true;
778 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->__fbthrift_field_int_field);
779 xfer += prot_->writeFieldEnd();
781 previousFieldHasValue = false;
783 if (!(this->__fbthrift_field_long_field == ::std::int64_t())) {
784 constexpr int16_t kPrevFieldId = 4;
785 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 5, kPrevFieldId>(*prot_, "long_field", previousFieldHasValue);
786 previousFieldHasValue = true;
787 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, this->__fbthrift_field_long_field);
788 xfer += prot_->writeFieldEnd();
790 previousFieldHasValue = false;
792 if (!(this->__fbthrift_field_float_field == float())) {
793 constexpr int16_t kPrevFieldId = 5;
794 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_FLOAT, 6, kPrevFieldId>(*prot_, "float_field", previousFieldHasValue);
795 previousFieldHasValue = true;
796 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::write(*prot_, this->__fbthrift_field_float_field);
797 xfer += prot_->writeFieldEnd();
799 previousFieldHasValue = false;
801 if (!(this->__fbthrift_field_double_field == double())) {
802 constexpr int16_t kPrevFieldId = 6;
803 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_DOUBLE, 7, kPrevFieldId>(*prot_, "double_field", previousFieldHasValue);
804 previousFieldHasValue = true;
805 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::write(*prot_, this->__fbthrift_field_double_field);
806 xfer += prot_->writeFieldEnd();
808 previousFieldHasValue = false;
810 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_string_field))) {
811 constexpr int16_t kPrevFieldId = 7;
812 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 8, kPrevFieldId>(*prot_, "string_field", previousFieldHasValue);
813 previousFieldHasValue = true;
814 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_string_field);
815 xfer += prot_->writeFieldEnd();
817 previousFieldHasValue = false;
819 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_binary_field))) {
820 constexpr int16_t kPrevFieldId = 8;
821 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 9, kPrevFieldId>(*prot_, "binary_field", previousFieldHasValue);
822 previousFieldHasValue = true;
823 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::write(*prot_, this->__fbthrift_field_binary_field);
824 xfer += prot_->writeFieldEnd();
826 previousFieldHasValue = false;
828 if (!(this->__fbthrift_field_enum_field == ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum())) {
829 constexpr int16_t kPrevFieldId = 9;
830 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 10, kPrevFieldId>(*prot_, "enum_field", previousFieldHasValue);
831 previousFieldHasValue = true;
832 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum>::write(*prot_, this->__fbthrift_field_enum_field);
833 xfer += prot_->writeFieldEnd();
835 previousFieldHasValue = false;
837 if (!(this->__fbthrift_field_list_field.empty())) {
838 constexpr int16_t kPrevFieldId = 10;
839 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 11, kPrevFieldId>(*prot_, "list_field", previousFieldHasValue);
840 previousFieldHasValue = true;
841 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::write(*prot_, this->__fbthrift_field_list_field);
842 xfer += prot_->writeFieldEnd();
844 previousFieldHasValue = false;
846 if (!(this->__fbthrift_field_set_field.empty())) {
847 constexpr int16_t kPrevFieldId = 11;
848 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 12, kPrevFieldId>(*prot_, "set_field", previousFieldHasValue);
849 previousFieldHasValue = true;
850 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int16_t>>::write(*prot_, this->__fbthrift_field_set_field);
851 xfer += prot_->writeFieldEnd();
853 previousFieldHasValue = false;
855 if (!(this->__fbthrift_field_map_field.empty())) {
856 constexpr int16_t kPrevFieldId = 12;
857 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 13, kPrevFieldId>(*prot_, "map_field", previousFieldHasValue);
858 previousFieldHasValue = true;
859 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::int16_t, ::std::int16_t>>::write(*prot_, this->__fbthrift_field_map_field);
860 xfer += prot_->writeFieldEnd();
862 previousFieldHasValue = false;
864 if (!(::apache::thrift::empty(this->__fbthrift_field_struct_field))) {
865 constexpr int16_t kPrevFieldId = 13;
866 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 14, kPrevFieldId>(*prot_, "struct_field", previousFieldHasValue);
867 previousFieldHasValue = true;
868 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStruct>::write(*prot_, this->__fbthrift_field_struct_field);
869 xfer += prot_->writeFieldEnd();
871 previousFieldHasValue = false;
873 xfer += prot_->writeFieldStop();
874 xfer += prot_->writeStructEnd();
878 extern template void StructLevelTerseStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
879 extern template uint32_t StructLevelTerseStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
880 extern template uint32_t StructLevelTerseStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
881 extern template uint32_t StructLevelTerseStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
882 extern template void StructLevelTerseStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
883 extern template uint32_t StructLevelTerseStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
884 extern template uint32_t StructLevelTerseStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
885 extern template uint32_t StructLevelTerseStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
888 template <class Protocol_>
889 void FieldLevelTerseStruct::readNoXfer(Protocol_* iprot) {
890 __fbthrift_clear_terse_fields();
892 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
894 _readState.readStructBegin(iprot);
896 using apache::thrift::TProtocolException;
899 if (UNLIKELY(!_readState.advanceToNextField(
903 apache::thrift::protocol::T_BOOL))) {
906 _readField_terse_bool_field:
908 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::readWithContext(*iprot, this->__fbthrift_field_terse_bool_field, _readState);
912 if (UNLIKELY(!_readState.advanceToNextField(
916 apache::thrift::protocol::T_BYTE))) {
919 _readField_terse_byte_field:
921 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::readWithContext(*iprot, this->__fbthrift_field_terse_byte_field, _readState);
925 if (UNLIKELY(!_readState.advanceToNextField(
929 apache::thrift::protocol::T_I16))) {
932 _readField_terse_short_field:
934 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::readWithContext(*iprot, this->__fbthrift_field_terse_short_field, _readState);
938 if (UNLIKELY(!_readState.advanceToNextField(
942 apache::thrift::protocol::T_I32))) {
945 _readField_terse_int_field:
947 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->__fbthrift_field_terse_int_field, _readState);
951 if (UNLIKELY(!_readState.advanceToNextField(
955 apache::thrift::protocol::T_I64))) {
958 _readField_terse_long_field:
960 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, this->__fbthrift_field_terse_long_field, _readState);
964 if (UNLIKELY(!_readState.advanceToNextField(
968 apache::thrift::protocol::T_FLOAT))) {
971 _readField_terse_float_field:
973 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::readWithContext(*iprot, this->__fbthrift_field_terse_float_field, _readState);
977 if (UNLIKELY(!_readState.advanceToNextField(
981 apache::thrift::protocol::T_DOUBLE))) {
984 _readField_terse_double_field:
986 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::readWithContext(*iprot, this->__fbthrift_field_terse_double_field, _readState);
990 if (UNLIKELY(!_readState.advanceToNextField(
994 apache::thrift::protocol::T_STRING))) {
997 _readField_terse_string_field:
999 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_terse_string_field, _readState);
1003 if (UNLIKELY(!_readState.advanceToNextField(
1007 apache::thrift::protocol::T_STRING))) {
1010 _readField_terse_binary_field:
1012 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_terse_binary_field, _readState);
1016 if (UNLIKELY(!_readState.advanceToNextField(
1020 apache::thrift::protocol::T_I32))) {
1023 _readField_terse_enum_field:
1025 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum>::readWithContext(*iprot, this->__fbthrift_field_terse_enum_field, _readState);
1029 if (UNLIKELY(!_readState.advanceToNextField(
1033 apache::thrift::protocol::T_LIST))) {
1036 _readField_terse_list_field:
1038 _readState.beforeSubobject(iprot);
1039 this->__fbthrift_field_terse_list_field = ::std::vector<::std::int16_t>();
1040 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::readWithContext(*iprot, this->__fbthrift_field_terse_list_field, _readState);
1041 _readState.afterSubobject(iprot);
1045 if (UNLIKELY(!_readState.advanceToNextField(
1049 apache::thrift::protocol::T_SET))) {
1052 _readField_terse_set_field:
1054 _readState.beforeSubobject(iprot);
1055 this->__fbthrift_field_terse_set_field = ::std::set<::std::int16_t>();
1056 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int16_t>>::readWithContext(*iprot, this->__fbthrift_field_terse_set_field, _readState);
1057 _readState.afterSubobject(iprot);
1061 if (UNLIKELY(!_readState.advanceToNextField(
1065 apache::thrift::protocol::T_MAP))) {
1068 _readField_terse_map_field:
1070 _readState.beforeSubobject(iprot);
1071 this->__fbthrift_field_terse_map_field = ::std::map<::std::int16_t, ::std::int16_t>();
1072 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::integral>, ::std::map<::std::int16_t, ::std::int16_t>>::readWithContext(*iprot, this->__fbthrift_field_terse_map_field, _readState);
1073 _readState.afterSubobject(iprot);
1077 if (UNLIKELY(!_readState.advanceToNextField(
1081 apache::thrift::protocol::T_STRUCT))) {
1084 _readField_terse_struct_field:
1086 _readState.beforeSubobject(iprot);
1087 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStruct>::readWithContext(*iprot, this->__fbthrift_field_terse_struct_field, _readState);
1088 _readState.afterSubobject(iprot);
1092 if (UNLIKELY(!_readState.advanceToNextField(
1096 apache::thrift::protocol::T_BOOL))) {
1099 _readField_bool_field:
1101 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::readWithContext(*iprot, this->__fbthrift_field_bool_field, _readState);
1104 this->__isset.set(0, true);
1106 if (UNLIKELY(!_readState.advanceToNextField(
1110 apache::thrift::protocol::T_BYTE))) {
1113 _readField_byte_field:
1115 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::readWithContext(*iprot, this->__fbthrift_field_byte_field, _readState);
1118 this->__isset.set(1, true);
1120 if (UNLIKELY(!_readState.advanceToNextField(
1124 apache::thrift::protocol::T_I16))) {
1127 _readField_short_field:
1129 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::readWithContext(*iprot, this->__fbthrift_field_short_field, _readState);
1132 this->__isset.set(2, true);
1134 if (UNLIKELY(!_readState.advanceToNextField(
1138 apache::thrift::protocol::T_I32))) {
1141 _readField_int_field:
1143 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->__fbthrift_field_int_field, _readState);
1146 this->__isset.set(3, true);
1148 if (UNLIKELY(!_readState.advanceToNextField(
1152 apache::thrift::protocol::T_I64))) {
1155 _readField_long_field:
1157 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, this->__fbthrift_field_long_field, _readState);
1160 this->__isset.set(4, true);
1162 if (UNLIKELY(!_readState.advanceToNextField(
1166 apache::thrift::protocol::T_FLOAT))) {
1169 _readField_float_field:
1171 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::readWithContext(*iprot, this->__fbthrift_field_float_field, _readState);
1174 this->__isset.set(5, true);
1176 if (UNLIKELY(!_readState.advanceToNextField(
1180 apache::thrift::protocol::T_DOUBLE))) {
1183 _readField_double_field:
1185 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::readWithContext(*iprot, this->__fbthrift_field_double_field, _readState);
1188 this->__isset.set(6, true);
1190 if (UNLIKELY(!_readState.advanceToNextField(
1194 apache::thrift::protocol::T_STRING))) {
1197 _readField_string_field:
1199 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_string_field, _readState);
1202 this->__isset.set(7, true);
1204 if (UNLIKELY(!_readState.advanceToNextField(
1208 apache::thrift::protocol::T_STRING))) {
1211 _readField_binary_field:
1213 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_binary_field, _readState);
1216 this->__isset.set(8, true);
1218 if (UNLIKELY(!_readState.advanceToNextField(
1222 apache::thrift::protocol::T_I32))) {
1225 _readField_enum_field:
1227 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum>::readWithContext(*iprot, this->__fbthrift_field_enum_field, _readState);
1230 this->__isset.set(9, true);
1232 if (UNLIKELY(!_readState.advanceToNextField(
1236 apache::thrift::protocol::T_LIST))) {
1239 _readField_list_field:
1241 _readState.beforeSubobject(iprot);
1242 this->__fbthrift_field_list_field = ::std::vector<::std::int16_t>();
1243 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::readWithContext(*iprot, this->__fbthrift_field_list_field, _readState);
1244 _readState.afterSubobject(iprot);
1247 this->__isset.set(10, true);
1249 if (UNLIKELY(!_readState.advanceToNextField(
1253 apache::thrift::protocol::T_SET))) {
1256 _readField_set_field:
1258 _readState.beforeSubobject(iprot);
1259 this->__fbthrift_field_set_field = ::std::set<::std::int16_t>();
1260 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int16_t>>::readWithContext(*iprot, this->__fbthrift_field_set_field, _readState);
1261 _readState.afterSubobject(iprot);
1264 this->__isset.set(11, true);
1266 if (UNLIKELY(!_readState.advanceToNextField(
1270 apache::thrift::protocol::T_MAP))) {
1273 _readField_map_field:
1275 _readState.beforeSubobject(iprot);
1276 this->__fbthrift_field_map_field = ::std::map<::std::int16_t, ::std::int16_t>();
1277 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::integral>, ::std::map<::std::int16_t, ::std::int16_t>>::readWithContext(*iprot, this->__fbthrift_field_map_field, _readState);
1278 _readState.afterSubobject(iprot);
1281 this->__isset.set(12, true);
1283 if (UNLIKELY(!_readState.advanceToNextField(
1287 apache::thrift::protocol::T_STRUCT))) {
1290 _readField_struct_field:
1292 _readState.beforeSubobject(iprot);
1293 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStruct>::readWithContext(*iprot, this->__fbthrift_field_struct_field, _readState);
1294 _readState.afterSubobject(iprot);
1297 this->__isset.set(13, true);
1299 if (UNLIKELY(!_readState.advanceToNextField(
1303 apache::thrift::protocol::T_STOP))) {
1308 _readState.readStructEnd(iprot);
1313 _readState.afterAdvanceFailure(iprot);
1314 if (_readState.atStop()) {
1317 if (iprot->kUsesFieldNames()) {
1318 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<FieldLevelTerseStruct>>();
1321 switch (_readState.fieldId) {
1324 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BOOL))) {
1325 goto _readField_terse_bool_field;
1332 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BYTE))) {
1333 goto _readField_terse_byte_field;
1340 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I16))) {
1341 goto _readField_terse_short_field;
1348 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
1349 goto _readField_terse_int_field;
1356 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
1357 goto _readField_terse_long_field;
1364 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_FLOAT))) {
1365 goto _readField_terse_float_field;
1372 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_DOUBLE))) {
1373 goto _readField_terse_double_field;
1380 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
1381 goto _readField_terse_string_field;
1388 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
1389 goto _readField_terse_binary_field;
1396 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
1397 goto _readField_terse_enum_field;
1404 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
1405 goto _readField_terse_list_field;
1412 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
1413 goto _readField_terse_set_field;
1420 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
1421 goto _readField_terse_map_field;
1428 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
1429 goto _readField_terse_struct_field;
1436 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BOOL))) {
1437 goto _readField_bool_field;
1444 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BYTE))) {
1445 goto _readField_byte_field;
1452 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I16))) {
1453 goto _readField_short_field;
1460 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
1461 goto _readField_int_field;
1468 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
1469 goto _readField_long_field;
1476 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_FLOAT))) {
1477 goto _readField_float_field;
1484 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_DOUBLE))) {
1485 goto _readField_double_field;
1492 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
1493 goto _readField_string_field;
1500 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
1501 goto _readField_binary_field;
1508 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
1509 goto _readField_enum_field;
1516 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
1517 goto _readField_list_field;
1524 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
1525 goto _readField_set_field;
1532 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
1533 goto _readField_map_field;
1540 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
1541 goto _readField_struct_field;
1549 _readState.skip(iprot);
1550 _readState.readFieldEnd(iprot);
1551 _readState.readFieldBeginNoInline(iprot);
1557 template <class Protocol_>
1558 uint32_t FieldLevelTerseStruct::serializedSize(Protocol_ const* prot_) const {
1560 xfer += prot_->serializedStructSize("FieldLevelTerseStruct");
1561 if (!(this->__fbthrift_field_terse_bool_field == bool())) {
1562 xfer += prot_->serializedFieldSize("terse_bool_field", apache::thrift::protocol::T_BOOL, 1);
1563 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_bool_field);
1565 if (!(this->__fbthrift_field_terse_byte_field == ::std::int8_t())) {
1566 xfer += prot_->serializedFieldSize("terse_byte_field", apache::thrift::protocol::T_BYTE, 2);
1567 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_byte_field);
1569 if (!(this->__fbthrift_field_terse_short_field == ::std::int16_t())) {
1570 xfer += prot_->serializedFieldSize("terse_short_field", apache::thrift::protocol::T_I16, 3);
1571 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_short_field);
1573 if (!(this->__fbthrift_field_terse_int_field == ::std::int32_t())) {
1574 xfer += prot_->serializedFieldSize("terse_int_field", apache::thrift::protocol::T_I32, 4);
1575 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_int_field);
1577 if (!(this->__fbthrift_field_terse_long_field == ::std::int64_t())) {
1578 xfer += prot_->serializedFieldSize("terse_long_field", apache::thrift::protocol::T_I64, 5);
1579 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_long_field);
1581 if (!(this->__fbthrift_field_terse_float_field == float())) {
1582 xfer += prot_->serializedFieldSize("terse_float_field", apache::thrift::protocol::T_FLOAT, 6);
1583 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_float_field);
1585 if (!(this->__fbthrift_field_terse_double_field == double())) {
1586 xfer += prot_->serializedFieldSize("terse_double_field", apache::thrift::protocol::T_DOUBLE, 7);
1587 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_double_field);
1589 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_terse_string_field))) {
1590 xfer += prot_->serializedFieldSize("terse_string_field", apache::thrift::protocol::T_STRING, 8);
1591 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_string_field);
1593 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_terse_binary_field))) {
1594 xfer += prot_->serializedFieldSize("terse_binary_field", apache::thrift::protocol::T_STRING, 9);
1595 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_binary_field);
1597 if (!(this->__fbthrift_field_terse_enum_field == ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum())) {
1598 xfer += prot_->serializedFieldSize("terse_enum_field", apache::thrift::protocol::T_I32, 10);
1599 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_enum_field);
1601 if (!(this->__fbthrift_field_terse_list_field.empty())) {
1602 xfer += prot_->serializedFieldSize("terse_list_field", apache::thrift::protocol::T_LIST, 11);
1603 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_list_field);
1605 if (!(this->__fbthrift_field_terse_set_field.empty())) {
1606 xfer += prot_->serializedFieldSize("terse_set_field", apache::thrift::protocol::T_SET, 12);
1607 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_set_field);
1609 if (!(this->__fbthrift_field_terse_map_field.empty())) {
1610 xfer += prot_->serializedFieldSize("terse_map_field", apache::thrift::protocol::T_MAP, 13);
1611 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::int16_t, ::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_map_field);
1613 if (!(::apache::thrift::empty(this->__fbthrift_field_terse_struct_field))) {
1614 xfer += prot_->serializedFieldSize("terse_struct_field", apache::thrift::protocol::T_STRUCT, 14);
1615 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStruct>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_struct_field);
1618 xfer += prot_->serializedFieldSize("bool_field", apache::thrift::protocol::T_BOOL, 15);
1619 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->__fbthrift_field_bool_field);
1622 xfer += prot_->serializedFieldSize("byte_field", apache::thrift::protocol::T_BYTE, 16);
1623 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::serializedSize<false>(*prot_, this->__fbthrift_field_byte_field);
1626 xfer += prot_->serializedFieldSize("short_field", apache::thrift::protocol::T_I16, 17);
1627 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, this->__fbthrift_field_short_field);
1630 xfer += prot_->serializedFieldSize("int_field", apache::thrift::protocol::T_I32, 18);
1631 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_int_field);
1634 xfer += prot_->serializedFieldSize("long_field", apache::thrift::protocol::T_I64, 19);
1635 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_long_field);
1638 xfer += prot_->serializedFieldSize("float_field", apache::thrift::protocol::T_FLOAT, 20);
1639 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::serializedSize<false>(*prot_, this->__fbthrift_field_float_field);
1642 xfer += prot_->serializedFieldSize("double_field", apache::thrift::protocol::T_DOUBLE, 21);
1643 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::serializedSize<false>(*prot_, this->__fbthrift_field_double_field);
1646 xfer += prot_->serializedFieldSize("string_field", apache::thrift::protocol::T_STRING, 22);
1647 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_string_field);
1650 xfer += prot_->serializedFieldSize("binary_field", apache::thrift::protocol::T_STRING, 23);
1651 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_binary_field);
1654 xfer += prot_->serializedFieldSize("enum_field", apache::thrift::protocol::T_I32, 24);
1655 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum>::serializedSize<false>(*prot_, this->__fbthrift_field_enum_field);
1658 xfer += prot_->serializedFieldSize("list_field", apache::thrift::protocol::T_LIST, 25);
1659 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_list_field);
1662 xfer += prot_->serializedFieldSize("set_field", apache::thrift::protocol::T_SET, 26);
1663 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_set_field);
1666 xfer += prot_->serializedFieldSize("map_field", apache::thrift::protocol::T_MAP, 27);
1667 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::int16_t, ::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_map_field);
1670 xfer += prot_->serializedFieldSize("struct_field", apache::thrift::protocol::T_STRUCT, 28);
1671 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStruct>::serializedSize<false>(*prot_, this->__fbthrift_field_struct_field);
1673 xfer += prot_->serializedSizeStop();
1677 template <class Protocol_>
1678 uint32_t FieldLevelTerseStruct::serializedSizeZC(Protocol_ const* prot_) const {
1680 xfer += prot_->serializedStructSize("FieldLevelTerseStruct");
1681 if (!(this->__fbthrift_field_terse_bool_field == bool())) {
1682 xfer += prot_->serializedFieldSize("terse_bool_field", apache::thrift::protocol::T_BOOL, 1);
1683 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_bool_field);
1685 if (!(this->__fbthrift_field_terse_byte_field == ::std::int8_t())) {
1686 xfer += prot_->serializedFieldSize("terse_byte_field", apache::thrift::protocol::T_BYTE, 2);
1687 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_byte_field);
1689 if (!(this->__fbthrift_field_terse_short_field == ::std::int16_t())) {
1690 xfer += prot_->serializedFieldSize("terse_short_field", apache::thrift::protocol::T_I16, 3);
1691 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_short_field);
1693 if (!(this->__fbthrift_field_terse_int_field == ::std::int32_t())) {
1694 xfer += prot_->serializedFieldSize("terse_int_field", apache::thrift::protocol::T_I32, 4);
1695 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_int_field);
1697 if (!(this->__fbthrift_field_terse_long_field == ::std::int64_t())) {
1698 xfer += prot_->serializedFieldSize("terse_long_field", apache::thrift::protocol::T_I64, 5);
1699 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_long_field);
1701 if (!(this->__fbthrift_field_terse_float_field == float())) {
1702 xfer += prot_->serializedFieldSize("terse_float_field", apache::thrift::protocol::T_FLOAT, 6);
1703 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_float_field);
1705 if (!(this->__fbthrift_field_terse_double_field == double())) {
1706 xfer += prot_->serializedFieldSize("terse_double_field", apache::thrift::protocol::T_DOUBLE, 7);
1707 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_double_field);
1709 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_terse_string_field))) {
1710 xfer += prot_->serializedFieldSize("terse_string_field", apache::thrift::protocol::T_STRING, 8);
1711 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_string_field);
1713 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_terse_binary_field))) {
1714 xfer += prot_->serializedFieldSize("terse_binary_field", apache::thrift::protocol::T_STRING, 9);
1715 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<true>(*prot_, this->__fbthrift_field_terse_binary_field);
1717 if (!(this->__fbthrift_field_terse_enum_field == ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum())) {
1718 xfer += prot_->serializedFieldSize("terse_enum_field", apache::thrift::protocol::T_I32, 10);
1719 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_enum_field);
1721 if (!(this->__fbthrift_field_terse_list_field.empty())) {
1722 xfer += prot_->serializedFieldSize("terse_list_field", apache::thrift::protocol::T_LIST, 11);
1723 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_list_field);
1725 if (!(this->__fbthrift_field_terse_set_field.empty())) {
1726 xfer += prot_->serializedFieldSize("terse_set_field", apache::thrift::protocol::T_SET, 12);
1727 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_set_field);
1729 if (!(this->__fbthrift_field_terse_map_field.empty())) {
1730 xfer += prot_->serializedFieldSize("terse_map_field", apache::thrift::protocol::T_MAP, 13);
1731 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::int16_t, ::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_terse_map_field);
1733 if (!(::apache::thrift::empty(this->__fbthrift_field_terse_struct_field))) {
1734 xfer += prot_->serializedFieldSize("terse_struct_field", apache::thrift::protocol::T_STRUCT, 14);
1735 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStruct>::serializedSize<true>(*prot_, this->__fbthrift_field_terse_struct_field);
1738 xfer += prot_->serializedFieldSize("bool_field", apache::thrift::protocol::T_BOOL, 15);
1739 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->__fbthrift_field_bool_field);
1742 xfer += prot_->serializedFieldSize("byte_field", apache::thrift::protocol::T_BYTE, 16);
1743 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::serializedSize<false>(*prot_, this->__fbthrift_field_byte_field);
1746 xfer += prot_->serializedFieldSize("short_field", apache::thrift::protocol::T_I16, 17);
1747 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, this->__fbthrift_field_short_field);
1750 xfer += prot_->serializedFieldSize("int_field", apache::thrift::protocol::T_I32, 18);
1751 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_int_field);
1754 xfer += prot_->serializedFieldSize("long_field", apache::thrift::protocol::T_I64, 19);
1755 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_long_field);
1758 xfer += prot_->serializedFieldSize("float_field", apache::thrift::protocol::T_FLOAT, 20);
1759 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::serializedSize<false>(*prot_, this->__fbthrift_field_float_field);
1762 xfer += prot_->serializedFieldSize("double_field", apache::thrift::protocol::T_DOUBLE, 21);
1763 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::serializedSize<false>(*prot_, this->__fbthrift_field_double_field);
1766 xfer += prot_->serializedFieldSize("string_field", apache::thrift::protocol::T_STRING, 22);
1767 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_string_field);
1770 xfer += prot_->serializedFieldSize("binary_field", apache::thrift::protocol::T_STRING, 23);
1771 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<true>(*prot_, this->__fbthrift_field_binary_field);
1774 xfer += prot_->serializedFieldSize("enum_field", apache::thrift::protocol::T_I32, 24);
1775 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum>::serializedSize<false>(*prot_, this->__fbthrift_field_enum_field);
1778 xfer += prot_->serializedFieldSize("list_field", apache::thrift::protocol::T_LIST, 25);
1779 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_list_field);
1782 xfer += prot_->serializedFieldSize("set_field", apache::thrift::protocol::T_SET, 26);
1783 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_set_field);
1786 xfer += prot_->serializedFieldSize("map_field", apache::thrift::protocol::T_MAP, 27);
1787 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::int16_t, ::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_map_field);
1790 xfer += prot_->serializedFieldSize("struct_field", apache::thrift::protocol::T_STRUCT, 28);
1791 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStruct>::serializedSize<true>(*prot_, this->__fbthrift_field_struct_field);
1793 xfer += prot_->serializedSizeStop();
1797 template <class Protocol_>
1798 uint32_t FieldLevelTerseStruct::write(Protocol_* prot_) const {
1800 xfer += prot_->writeStructBegin("FieldLevelTerseStruct");
1801 bool previousFieldHasValue = true;
1802 if (!(this->__fbthrift_field_terse_bool_field == bool())) {
1803 constexpr int16_t kPrevFieldId = 0;
1804 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BOOL, 1, kPrevFieldId>(*prot_, "terse_bool_field", previousFieldHasValue);
1805 previousFieldHasValue = true;
1806 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::write(*prot_, this->__fbthrift_field_terse_bool_field);
1807 xfer += prot_->writeFieldEnd();
1809 previousFieldHasValue = false;
1811 if (!(this->__fbthrift_field_terse_byte_field == ::std::int8_t())) {
1812 constexpr int16_t kPrevFieldId = 1;
1813 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BYTE, 2, kPrevFieldId>(*prot_, "terse_byte_field", previousFieldHasValue);
1814 previousFieldHasValue = true;
1815 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::write(*prot_, this->__fbthrift_field_terse_byte_field);
1816 xfer += prot_->writeFieldEnd();
1818 previousFieldHasValue = false;
1820 if (!(this->__fbthrift_field_terse_short_field == ::std::int16_t())) {
1821 constexpr int16_t kPrevFieldId = 2;
1822 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I16, 3, kPrevFieldId>(*prot_, "terse_short_field", previousFieldHasValue);
1823 previousFieldHasValue = true;
1824 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::write(*prot_, this->__fbthrift_field_terse_short_field);
1825 xfer += prot_->writeFieldEnd();
1827 previousFieldHasValue = false;
1829 if (!(this->__fbthrift_field_terse_int_field == ::std::int32_t())) {
1830 constexpr int16_t kPrevFieldId = 3;
1831 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 4, kPrevFieldId>(*prot_, "terse_int_field", previousFieldHasValue);
1832 previousFieldHasValue = true;
1833 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->__fbthrift_field_terse_int_field);
1834 xfer += prot_->writeFieldEnd();
1836 previousFieldHasValue = false;
1838 if (!(this->__fbthrift_field_terse_long_field == ::std::int64_t())) {
1839 constexpr int16_t kPrevFieldId = 4;
1840 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 5, kPrevFieldId>(*prot_, "terse_long_field", previousFieldHasValue);
1841 previousFieldHasValue = true;
1842 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, this->__fbthrift_field_terse_long_field);
1843 xfer += prot_->writeFieldEnd();
1845 previousFieldHasValue = false;
1847 if (!(this->__fbthrift_field_terse_float_field == float())) {
1848 constexpr int16_t kPrevFieldId = 5;
1849 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_FLOAT, 6, kPrevFieldId>(*prot_, "terse_float_field", previousFieldHasValue);
1850 previousFieldHasValue = true;
1851 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::write(*prot_, this->__fbthrift_field_terse_float_field);
1852 xfer += prot_->writeFieldEnd();
1854 previousFieldHasValue = false;
1856 if (!(this->__fbthrift_field_terse_double_field == double())) {
1857 constexpr int16_t kPrevFieldId = 6;
1858 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_DOUBLE, 7, kPrevFieldId>(*prot_, "terse_double_field", previousFieldHasValue);
1859 previousFieldHasValue = true;
1860 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::write(*prot_, this->__fbthrift_field_terse_double_field);
1861 xfer += prot_->writeFieldEnd();
1863 previousFieldHasValue = false;
1865 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_terse_string_field))) {
1866 constexpr int16_t kPrevFieldId = 7;
1867 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 8, kPrevFieldId>(*prot_, "terse_string_field", previousFieldHasValue);
1868 previousFieldHasValue = true;
1869 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_terse_string_field);
1870 xfer += prot_->writeFieldEnd();
1872 previousFieldHasValue = false;
1874 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_terse_binary_field))) {
1875 constexpr int16_t kPrevFieldId = 8;
1876 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 9, kPrevFieldId>(*prot_, "terse_binary_field", previousFieldHasValue);
1877 previousFieldHasValue = true;
1878 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::write(*prot_, this->__fbthrift_field_terse_binary_field);
1879 xfer += prot_->writeFieldEnd();
1881 previousFieldHasValue = false;
1883 if (!(this->__fbthrift_field_terse_enum_field == ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum())) {
1884 constexpr int16_t kPrevFieldId = 9;
1885 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 10, kPrevFieldId>(*prot_, "terse_enum_field", previousFieldHasValue);
1886 previousFieldHasValue = true;
1887 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum>::write(*prot_, this->__fbthrift_field_terse_enum_field);
1888 xfer += prot_->writeFieldEnd();
1890 previousFieldHasValue = false;
1892 if (!(this->__fbthrift_field_terse_list_field.empty())) {
1893 constexpr int16_t kPrevFieldId = 10;
1894 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 11, kPrevFieldId>(*prot_, "terse_list_field", previousFieldHasValue);
1895 previousFieldHasValue = true;
1896 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::write(*prot_, this->__fbthrift_field_terse_list_field);
1897 xfer += prot_->writeFieldEnd();
1899 previousFieldHasValue = false;
1901 if (!(this->__fbthrift_field_terse_set_field.empty())) {
1902 constexpr int16_t kPrevFieldId = 11;
1903 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 12, kPrevFieldId>(*prot_, "terse_set_field", previousFieldHasValue);
1904 previousFieldHasValue = true;
1905 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int16_t>>::write(*prot_, this->__fbthrift_field_terse_set_field);
1906 xfer += prot_->writeFieldEnd();
1908 previousFieldHasValue = false;
1910 if (!(this->__fbthrift_field_terse_map_field.empty())) {
1911 constexpr int16_t kPrevFieldId = 12;
1912 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 13, kPrevFieldId>(*prot_, "terse_map_field", previousFieldHasValue);
1913 previousFieldHasValue = true;
1914 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::int16_t, ::std::int16_t>>::write(*prot_, this->__fbthrift_field_terse_map_field);
1915 xfer += prot_->writeFieldEnd();
1917 previousFieldHasValue = false;
1919 if (!(::apache::thrift::empty(this->__fbthrift_field_terse_struct_field))) {
1920 constexpr int16_t kPrevFieldId = 13;
1921 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 14, kPrevFieldId>(*prot_, "terse_struct_field", previousFieldHasValue);
1922 previousFieldHasValue = true;
1923 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStruct>::write(*prot_, this->__fbthrift_field_terse_struct_field);
1924 xfer += prot_->writeFieldEnd();
1926 previousFieldHasValue = false;
1929 constexpr int16_t kPrevFieldId = 14;
1930 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BOOL, 15, kPrevFieldId>(*prot_, "bool_field", previousFieldHasValue);
1931 previousFieldHasValue = true;
1932 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::write(*prot_, this->__fbthrift_field_bool_field);
1933 xfer += prot_->writeFieldEnd();
1936 constexpr int16_t kPrevFieldId = 15;
1937 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BYTE, 16, kPrevFieldId>(*prot_, "byte_field", previousFieldHasValue);
1938 previousFieldHasValue = true;
1939 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::write(*prot_, this->__fbthrift_field_byte_field);
1940 xfer += prot_->writeFieldEnd();
1943 constexpr int16_t kPrevFieldId = 16;
1944 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I16, 17, kPrevFieldId>(*prot_, "short_field", previousFieldHasValue);
1945 previousFieldHasValue = true;
1946 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::write(*prot_, this->__fbthrift_field_short_field);
1947 xfer += prot_->writeFieldEnd();
1950 constexpr int16_t kPrevFieldId = 17;
1951 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 18, kPrevFieldId>(*prot_, "int_field", previousFieldHasValue);
1952 previousFieldHasValue = true;
1953 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->__fbthrift_field_int_field);
1954 xfer += prot_->writeFieldEnd();
1957 constexpr int16_t kPrevFieldId = 18;
1958 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 19, kPrevFieldId>(*prot_, "long_field", previousFieldHasValue);
1959 previousFieldHasValue = true;
1960 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, this->__fbthrift_field_long_field);
1961 xfer += prot_->writeFieldEnd();
1964 constexpr int16_t kPrevFieldId = 19;
1965 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_FLOAT, 20, kPrevFieldId>(*prot_, "float_field", previousFieldHasValue);
1966 previousFieldHasValue = true;
1967 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::write(*prot_, this->__fbthrift_field_float_field);
1968 xfer += prot_->writeFieldEnd();
1971 constexpr int16_t kPrevFieldId = 20;
1972 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_DOUBLE, 21, kPrevFieldId>(*prot_, "double_field", previousFieldHasValue);
1973 previousFieldHasValue = true;
1974 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::write(*prot_, this->__fbthrift_field_double_field);
1975 xfer += prot_->writeFieldEnd();
1978 constexpr int16_t kPrevFieldId = 21;
1979 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 22, kPrevFieldId>(*prot_, "string_field", previousFieldHasValue);
1980 previousFieldHasValue = true;
1981 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_string_field);
1982 xfer += prot_->writeFieldEnd();
1985 constexpr int16_t kPrevFieldId = 22;
1986 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 23, kPrevFieldId>(*prot_, "binary_field", previousFieldHasValue);
1987 previousFieldHasValue = true;
1988 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::write(*prot_, this->__fbthrift_field_binary_field);
1989 xfer += prot_->writeFieldEnd();
1992 constexpr int16_t kPrevFieldId = 23;
1993 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 24, kPrevFieldId>(*prot_, "enum_field", previousFieldHasValue);
1994 previousFieldHasValue = true;
1995 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum>::write(*prot_, this->__fbthrift_field_enum_field);
1996 xfer += prot_->writeFieldEnd();
1999 constexpr int16_t kPrevFieldId = 24;
2000 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 25, kPrevFieldId>(*prot_, "list_field", previousFieldHasValue);
2001 previousFieldHasValue = true;
2002 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::write(*prot_, this->__fbthrift_field_list_field);
2003 xfer += prot_->writeFieldEnd();
2006 constexpr int16_t kPrevFieldId = 25;
2007 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 26, kPrevFieldId>(*prot_, "set_field", previousFieldHasValue);
2008 previousFieldHasValue = true;
2009 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int16_t>>::write(*prot_, this->__fbthrift_field_set_field);
2010 xfer += prot_->writeFieldEnd();
2013 constexpr int16_t kPrevFieldId = 26;
2014 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 27, kPrevFieldId>(*prot_, "map_field", previousFieldHasValue);
2015 previousFieldHasValue = true;
2016 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::int16_t, ::std::int16_t>>::write(*prot_, this->__fbthrift_field_map_field);
2017 xfer += prot_->writeFieldEnd();
2020 constexpr int16_t kPrevFieldId = 27;
2021 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 28, kPrevFieldId>(*prot_, "struct_field", previousFieldHasValue);
2022 previousFieldHasValue = true;
2023 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStruct>::write(*prot_, this->__fbthrift_field_struct_field);
2024 xfer += prot_->writeFieldEnd();
2026 xfer += prot_->writeFieldStop();
2027 xfer += prot_->writeStructEnd();
2031 extern template void FieldLevelTerseStruct::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
2032 extern template uint32_t FieldLevelTerseStruct::write<>(apache::thrift::BinaryProtocolWriter*) const;
2033 extern template uint32_t FieldLevelTerseStruct::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
2034 extern template uint32_t FieldLevelTerseStruct::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
2035 extern template void FieldLevelTerseStruct::readNoXfer<>(apache::thrift::CompactProtocolReader*);
2036 extern template uint32_t FieldLevelTerseStruct::write<>(apache::thrift::CompactProtocolWriter*) const;
2037 extern template uint32_t FieldLevelTerseStruct::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
2038 extern template uint32_t FieldLevelTerseStruct::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
2041 template <class Protocol_>
2042 void TerseStructWithCustomDefault::readNoXfer(Protocol_* iprot) {
2043 __fbthrift_clear_terse_fields();
2045 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
2047 _readState.readStructBegin(iprot);
2049 using apache::thrift::TProtocolException;
2052 if (UNLIKELY(!_readState.advanceToNextField(
2056 apache::thrift::protocol::T_BOOL))) {
2059 _readField_bool_field:
2061 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::readWithContext(*iprot, this->__fbthrift_field_bool_field, _readState);
2065 if (UNLIKELY(!_readState.advanceToNextField(
2069 apache::thrift::protocol::T_BYTE))) {
2072 _readField_byte_field:
2074 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::readWithContext(*iprot, this->__fbthrift_field_byte_field, _readState);
2078 if (UNLIKELY(!_readState.advanceToNextField(
2082 apache::thrift::protocol::T_I16))) {
2085 _readField_short_field:
2087 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::readWithContext(*iprot, this->__fbthrift_field_short_field, _readState);
2091 if (UNLIKELY(!_readState.advanceToNextField(
2095 apache::thrift::protocol::T_I32))) {
2098 _readField_int_field:
2100 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->__fbthrift_field_int_field, _readState);
2104 if (UNLIKELY(!_readState.advanceToNextField(
2108 apache::thrift::protocol::T_I64))) {
2111 _readField_long_field:
2113 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::readWithContext(*iprot, this->__fbthrift_field_long_field, _readState);
2117 if (UNLIKELY(!_readState.advanceToNextField(
2121 apache::thrift::protocol::T_FLOAT))) {
2124 _readField_float_field:
2126 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::readWithContext(*iprot, this->__fbthrift_field_float_field, _readState);
2130 if (UNLIKELY(!_readState.advanceToNextField(
2134 apache::thrift::protocol::T_DOUBLE))) {
2137 _readField_double_field:
2139 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::readWithContext(*iprot, this->__fbthrift_field_double_field, _readState);
2143 if (UNLIKELY(!_readState.advanceToNextField(
2147 apache::thrift::protocol::T_STRING))) {
2150 _readField_string_field:
2152 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_string_field, _readState);
2156 if (UNLIKELY(!_readState.advanceToNextField(
2160 apache::thrift::protocol::T_STRING))) {
2163 _readField_binary_field:
2165 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_binary_field, _readState);
2169 if (UNLIKELY(!_readState.advanceToNextField(
2173 apache::thrift::protocol::T_I32))) {
2176 _readField_enum_field:
2178 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum>::readWithContext(*iprot, this->__fbthrift_field_enum_field, _readState);
2182 if (UNLIKELY(!_readState.advanceToNextField(
2186 apache::thrift::protocol::T_LIST))) {
2189 _readField_list_field:
2191 _readState.beforeSubobject(iprot);
2192 this->__fbthrift_field_list_field = ::std::vector<::std::int16_t>();
2193 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::readWithContext(*iprot, this->__fbthrift_field_list_field, _readState);
2194 _readState.afterSubobject(iprot);
2198 if (UNLIKELY(!_readState.advanceToNextField(
2202 apache::thrift::protocol::T_SET))) {
2205 _readField_set_field:
2207 _readState.beforeSubobject(iprot);
2208 this->__fbthrift_field_set_field = ::std::set<::std::int16_t>();
2209 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int16_t>>::readWithContext(*iprot, this->__fbthrift_field_set_field, _readState);
2210 _readState.afterSubobject(iprot);
2214 if (UNLIKELY(!_readState.advanceToNextField(
2218 apache::thrift::protocol::T_MAP))) {
2221 _readField_map_field:
2223 _readState.beforeSubobject(iprot);
2224 this->__fbthrift_field_map_field = ::std::map<::std::int16_t, ::std::int16_t>();
2225 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::map<::apache::thrift::type_class::integral, ::apache::thrift::type_class::integral>, ::std::map<::std::int16_t, ::std::int16_t>>::readWithContext(*iprot, this->__fbthrift_field_map_field, _readState);
2226 _readState.afterSubobject(iprot);
2230 if (UNLIKELY(!_readState.advanceToNextField(
2234 apache::thrift::protocol::T_STRUCT))) {
2237 _readField_struct_field:
2239 _readState.beforeSubobject(iprot);
2240 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStructWithCustomDefault>::readWithContext(*iprot, this->__fbthrift_field_struct_field, _readState);
2241 _readState.afterSubobject(iprot);
2245 if (UNLIKELY(!_readState.advanceToNextField(
2249 apache::thrift::protocol::T_STOP))) {
2254 _readState.readStructEnd(iprot);
2259 _readState.afterAdvanceFailure(iprot);
2260 if (_readState.atStop()) {
2263 if (iprot->kUsesFieldNames()) {
2264 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<TerseStructWithCustomDefault>>();
2267 switch (_readState.fieldId) {
2270 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BOOL))) {
2271 goto _readField_bool_field;
2278 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_BYTE))) {
2279 goto _readField_byte_field;
2286 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I16))) {
2287 goto _readField_short_field;
2294 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
2295 goto _readField_int_field;
2302 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I64))) {
2303 goto _readField_long_field;
2310 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_FLOAT))) {
2311 goto _readField_float_field;
2318 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_DOUBLE))) {
2319 goto _readField_double_field;
2326 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
2327 goto _readField_string_field;
2334 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
2335 goto _readField_binary_field;
2342 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
2343 goto _readField_enum_field;
2350 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_LIST))) {
2351 goto _readField_list_field;
2358 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_SET))) {
2359 goto _readField_set_field;
2366 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_MAP))) {
2367 goto _readField_map_field;
2374 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRUCT))) {
2375 goto _readField_struct_field;
2383 _readState.skip(iprot);
2384 _readState.readFieldEnd(iprot);
2385 _readState.readFieldBeginNoInline(iprot);
2391 template <class Protocol_>
2392 uint32_t TerseStructWithCustomDefault::serializedSize(Protocol_ const* prot_) const {
2394 xfer += prot_->serializedStructSize("TerseStructWithCustomDefault");
2395 if (!(this->__fbthrift_field_bool_field == bool())) {
2396 xfer += prot_->serializedFieldSize("bool_field", apache::thrift::protocol::T_BOOL, 1);
2397 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->__fbthrift_field_bool_field);
2399 if (!(this->__fbthrift_field_byte_field == ::std::int8_t())) {
2400 xfer += prot_->serializedFieldSize("byte_field", apache::thrift::protocol::T_BYTE, 2);
2401 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::serializedSize<false>(*prot_, this->__fbthrift_field_byte_field);
2403 if (!(this->__fbthrift_field_short_field == ::std::int16_t())) {
2404 xfer += prot_->serializedFieldSize("short_field", apache::thrift::protocol::T_I16, 3);
2405 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, this->__fbthrift_field_short_field);
2407 if (!(this->__fbthrift_field_int_field == ::std::int32_t())) {
2408 xfer += prot_->serializedFieldSize("int_field", apache::thrift::protocol::T_I32, 4);
2409 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_int_field);
2411 if (!(this->__fbthrift_field_long_field == ::std::int64_t())) {
2412 xfer += prot_->serializedFieldSize("long_field", apache::thrift::protocol::T_I64, 5);
2413 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_long_field);
2415 if (!(this->__fbthrift_field_float_field == float())) {
2416 xfer += prot_->serializedFieldSize("float_field", apache::thrift::protocol::T_FLOAT, 6);
2417 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::serializedSize<false>(*prot_, this->__fbthrift_field_float_field);
2419 if (!(this->__fbthrift_field_double_field == double())) {
2420 xfer += prot_->serializedFieldSize("double_field", apache::thrift::protocol::T_DOUBLE, 7);
2421 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::serializedSize<false>(*prot_, this->__fbthrift_field_double_field);
2423 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_string_field))) {
2424 xfer += prot_->serializedFieldSize("string_field", apache::thrift::protocol::T_STRING, 8);
2425 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_string_field);
2427 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_binary_field))) {
2428 xfer += prot_->serializedFieldSize("binary_field", apache::thrift::protocol::T_STRING, 9);
2429 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_binary_field);
2431 if (!(this->__fbthrift_field_enum_field == ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum())) {
2432 xfer += prot_->serializedFieldSize("enum_field", apache::thrift::protocol::T_I32, 10);
2433 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum>::serializedSize<false>(*prot_, this->__fbthrift_field_enum_field);
2435 if (!(this->__fbthrift_field_list_field.empty())) {
2436 xfer += prot_->serializedFieldSize("list_field", apache::thrift::protocol::T_LIST, 11);
2437 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_list_field);
2439 if (!(this->__fbthrift_field_set_field.empty())) {
2440 xfer += prot_->serializedFieldSize("set_field", apache::thrift::protocol::T_SET, 12);
2441 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_set_field);
2443 if (!(this->__fbthrift_field_map_field.empty())) {
2444 xfer += prot_->serializedFieldSize("map_field", apache::thrift::protocol::T_MAP, 13);
2445 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::int16_t, ::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_map_field);
2447 if (!(::apache::thrift::empty(this->__fbthrift_field_struct_field))) {
2448 xfer += prot_->serializedFieldSize("struct_field", apache::thrift::protocol::T_STRUCT, 14);
2449 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStructWithCustomDefault>::serializedSize<false>(*prot_, this->__fbthrift_field_struct_field);
2451 xfer += prot_->serializedSizeStop();
2455 template <class Protocol_>
2456 uint32_t TerseStructWithCustomDefault::serializedSizeZC(Protocol_ const* prot_) const {
2458 xfer += prot_->serializedStructSize("TerseStructWithCustomDefault");
2459 if (!(this->__fbthrift_field_bool_field == bool())) {
2460 xfer += prot_->serializedFieldSize("bool_field", apache::thrift::protocol::T_BOOL, 1);
2461 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::serializedSize<false>(*prot_, this->__fbthrift_field_bool_field);
2463 if (!(this->__fbthrift_field_byte_field == ::std::int8_t())) {
2464 xfer += prot_->serializedFieldSize("byte_field", apache::thrift::protocol::T_BYTE, 2);
2465 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::serializedSize<false>(*prot_, this->__fbthrift_field_byte_field);
2467 if (!(this->__fbthrift_field_short_field == ::std::int16_t())) {
2468 xfer += prot_->serializedFieldSize("short_field", apache::thrift::protocol::T_I16, 3);
2469 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::serializedSize<false>(*prot_, this->__fbthrift_field_short_field);
2471 if (!(this->__fbthrift_field_int_field == ::std::int32_t())) {
2472 xfer += prot_->serializedFieldSize("int_field", apache::thrift::protocol::T_I32, 4);
2473 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_int_field);
2475 if (!(this->__fbthrift_field_long_field == ::std::int64_t())) {
2476 xfer += prot_->serializedFieldSize("long_field", apache::thrift::protocol::T_I64, 5);
2477 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::serializedSize<false>(*prot_, this->__fbthrift_field_long_field);
2479 if (!(this->__fbthrift_field_float_field == float())) {
2480 xfer += prot_->serializedFieldSize("float_field", apache::thrift::protocol::T_FLOAT, 6);
2481 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::serializedSize<false>(*prot_, this->__fbthrift_field_float_field);
2483 if (!(this->__fbthrift_field_double_field == double())) {
2484 xfer += prot_->serializedFieldSize("double_field", apache::thrift::protocol::T_DOUBLE, 7);
2485 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::serializedSize<false>(*prot_, this->__fbthrift_field_double_field);
2487 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_string_field))) {
2488 xfer += prot_->serializedFieldSize("string_field", apache::thrift::protocol::T_STRING, 8);
2489 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_string_field);
2491 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_binary_field))) {
2492 xfer += prot_->serializedFieldSize("binary_field", apache::thrift::protocol::T_STRING, 9);
2493 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::serializedSize<true>(*prot_, this->__fbthrift_field_binary_field);
2495 if (!(this->__fbthrift_field_enum_field == ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum())) {
2496 xfer += prot_->serializedFieldSize("enum_field", apache::thrift::protocol::T_I32, 10);
2497 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum>::serializedSize<false>(*prot_, this->__fbthrift_field_enum_field);
2499 if (!(this->__fbthrift_field_list_field.empty())) {
2500 xfer += prot_->serializedFieldSize("list_field", apache::thrift::protocol::T_LIST, 11);
2501 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_list_field);
2503 if (!(this->__fbthrift_field_set_field.empty())) {
2504 xfer += prot_->serializedFieldSize("set_field", apache::thrift::protocol::T_SET, 12);
2505 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_set_field);
2507 if (!(this->__fbthrift_field_map_field.empty())) {
2508 xfer += prot_->serializedFieldSize("map_field", apache::thrift::protocol::T_MAP, 13);
2509 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::int16_t, ::std::int16_t>>::serializedSize<false>(*prot_, this->__fbthrift_field_map_field);
2511 if (!(::apache::thrift::empty(this->__fbthrift_field_struct_field))) {
2512 xfer += prot_->serializedFieldSize("struct_field", apache::thrift::protocol::T_STRUCT, 14);
2513 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStructWithCustomDefault>::serializedSize<true>(*prot_, this->__fbthrift_field_struct_field);
2515 xfer += prot_->serializedSizeStop();
2519 template <class Protocol_>
2520 uint32_t TerseStructWithCustomDefault::write(Protocol_* prot_) const {
2522 xfer += prot_->writeStructBegin("TerseStructWithCustomDefault");
2523 bool previousFieldHasValue = true;
2524 if (!(this->__fbthrift_field_bool_field == bool())) {
2525 constexpr int16_t kPrevFieldId = 0;
2526 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BOOL, 1, kPrevFieldId>(*prot_, "bool_field", previousFieldHasValue);
2527 previousFieldHasValue = true;
2528 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, bool>::write(*prot_, this->__fbthrift_field_bool_field);
2529 xfer += prot_->writeFieldEnd();
2531 previousFieldHasValue = false;
2533 if (!(this->__fbthrift_field_byte_field == ::std::int8_t())) {
2534 constexpr int16_t kPrevFieldId = 1;
2535 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_BYTE, 2, kPrevFieldId>(*prot_, "byte_field", previousFieldHasValue);
2536 previousFieldHasValue = true;
2537 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int8_t>::write(*prot_, this->__fbthrift_field_byte_field);
2538 xfer += prot_->writeFieldEnd();
2540 previousFieldHasValue = false;
2542 if (!(this->__fbthrift_field_short_field == ::std::int16_t())) {
2543 constexpr int16_t kPrevFieldId = 2;
2544 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I16, 3, kPrevFieldId>(*prot_, "short_field", previousFieldHasValue);
2545 previousFieldHasValue = true;
2546 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int16_t>::write(*prot_, this->__fbthrift_field_short_field);
2547 xfer += prot_->writeFieldEnd();
2549 previousFieldHasValue = false;
2551 if (!(this->__fbthrift_field_int_field == ::std::int32_t())) {
2552 constexpr int16_t kPrevFieldId = 3;
2553 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 4, kPrevFieldId>(*prot_, "int_field", previousFieldHasValue);
2554 previousFieldHasValue = true;
2555 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->__fbthrift_field_int_field);
2556 xfer += prot_->writeFieldEnd();
2558 previousFieldHasValue = false;
2560 if (!(this->__fbthrift_field_long_field == ::std::int64_t())) {
2561 constexpr int16_t kPrevFieldId = 4;
2562 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I64, 5, kPrevFieldId>(*prot_, "long_field", previousFieldHasValue);
2563 previousFieldHasValue = true;
2564 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int64_t>::write(*prot_, this->__fbthrift_field_long_field);
2565 xfer += prot_->writeFieldEnd();
2567 previousFieldHasValue = false;
2569 if (!(this->__fbthrift_field_float_field == float())) {
2570 constexpr int16_t kPrevFieldId = 5;
2571 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_FLOAT, 6, kPrevFieldId>(*prot_, "float_field", previousFieldHasValue);
2572 previousFieldHasValue = true;
2573 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, float>::write(*prot_, this->__fbthrift_field_float_field);
2574 xfer += prot_->writeFieldEnd();
2576 previousFieldHasValue = false;
2578 if (!(this->__fbthrift_field_double_field == double())) {
2579 constexpr int16_t kPrevFieldId = 6;
2580 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_DOUBLE, 7, kPrevFieldId>(*prot_, "double_field", previousFieldHasValue);
2581 previousFieldHasValue = true;
2582 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::floating_point, double>::write(*prot_, this->__fbthrift_field_double_field);
2583 xfer += prot_->writeFieldEnd();
2585 previousFieldHasValue = false;
2587 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_string_field))) {
2588 constexpr int16_t kPrevFieldId = 7;
2589 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 8, kPrevFieldId>(*prot_, "string_field", previousFieldHasValue);
2590 previousFieldHasValue = true;
2591 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_string_field);
2592 xfer += prot_->writeFieldEnd();
2594 previousFieldHasValue = false;
2596 if (!(apache::thrift::StringTraits<std::string>::isEmpty(this->__fbthrift_field_binary_field))) {
2597 constexpr int16_t kPrevFieldId = 8;
2598 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 9, kPrevFieldId>(*prot_, "binary_field", previousFieldHasValue);
2599 previousFieldHasValue = true;
2600 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::binary, ::std::string>::write(*prot_, this->__fbthrift_field_binary_field);
2601 xfer += prot_->writeFieldEnd();
2603 previousFieldHasValue = false;
2605 if (!(this->__fbthrift_field_enum_field == ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum())) {
2606 constexpr int16_t kPrevFieldId = 9;
2607 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 10, kPrevFieldId>(*prot_, "enum_field", previousFieldHasValue);
2608 previousFieldHasValue = true;
2609 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::enumeration, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyEnum>::write(*prot_, this->__fbthrift_field_enum_field);
2610 xfer += prot_->writeFieldEnd();
2612 previousFieldHasValue = false;
2614 if (!(this->__fbthrift_field_list_field.empty())) {
2615 constexpr int16_t kPrevFieldId = 10;
2616 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_LIST, 11, kPrevFieldId>(*prot_, "list_field", previousFieldHasValue);
2617 previousFieldHasValue = true;
2618 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::list<::apache::thrift::type_class::integral>, ::std::vector<::std::int16_t>>::write(*prot_, this->__fbthrift_field_list_field);
2619 xfer += prot_->writeFieldEnd();
2621 previousFieldHasValue = false;
2623 if (!(this->__fbthrift_field_set_field.empty())) {
2624 constexpr int16_t kPrevFieldId = 11;
2625 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_SET, 12, kPrevFieldId>(*prot_, "set_field", previousFieldHasValue);
2626 previousFieldHasValue = true;
2627 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::set<::apache::thrift::type_class::integral>, ::std::set<::std::int16_t>>::write(*prot_, this->__fbthrift_field_set_field);
2628 xfer += prot_->writeFieldEnd();
2630 previousFieldHasValue = false;
2632 if (!(this->__fbthrift_field_map_field.empty())) {
2633 constexpr int16_t kPrevFieldId = 12;
2634 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_MAP, 13, kPrevFieldId>(*prot_, "map_field", previousFieldHasValue);
2635 previousFieldHasValue = true;
2636 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::int16_t, ::std::int16_t>>::write(*prot_, this->__fbthrift_field_map_field);
2637 xfer += prot_->writeFieldEnd();
2639 previousFieldHasValue = false;
2641 if (!(::apache::thrift::empty(this->__fbthrift_field_struct_field))) {
2642 constexpr int16_t kPrevFieldId = 13;
2643 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRUCT, 14, kPrevFieldId>(*prot_, "struct_field", previousFieldHasValue);
2644 previousFieldHasValue = true;
2645 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::structure, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyStructWithCustomDefault>::write(*prot_, this->__fbthrift_field_struct_field);
2646 xfer += prot_->writeFieldEnd();
2648 previousFieldHasValue = false;
2650 xfer += prot_->writeFieldStop();
2651 xfer += prot_->writeStructEnd();
2655 extern template void TerseStructWithCustomDefault::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
2656 extern template uint32_t TerseStructWithCustomDefault::write<>(apache::thrift::BinaryProtocolWriter*) const;
2657 extern template uint32_t TerseStructWithCustomDefault::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
2658 extern template uint32_t TerseStructWithCustomDefault::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
2659 extern template void TerseStructWithCustomDefault::readNoXfer<>(apache::thrift::CompactProtocolReader*);
2660 extern template uint32_t TerseStructWithCustomDefault::write<>(apache::thrift::CompactProtocolWriter*) const;
2661 extern template uint32_t TerseStructWithCustomDefault::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
2662 extern template uint32_t TerseStructWithCustomDefault::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
2665 template <class Protocol_>
2666 void AdaptedFields::readNoXfer(Protocol_* iprot) {
2667 __fbthrift_clear_terse_fields();
2669 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
2671 _readState.readStructBegin(iprot);
2673 using apache::thrift::TProtocolException;
2676 if (UNLIKELY(!_readState.advanceToNextField(
2680 apache::thrift::protocol::T_I32))) {
2685 constexpr bool hasInplaceToThrift = ::apache::thrift::adapt_detail::has_inplace_toThrift<my::Adapter, folly::remove_cvref_t<decltype(this->__fbthrift_field_field1)>>::value;
2686 ::apache::thrift::detail::pm::IfConstexpr<hasInplaceToThrift>{}(
2687 [&](auto& field) { ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, my::Adapter::toThrift(field), _readState); },
2688 [&](auto&) {})(this->__fbthrift_field_field1);
2689 if (!hasInplaceToThrift) {
2690 ::std::int32_t tvalue;
2691 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, tvalue, _readState);
2692 this->__fbthrift_field_field1 = ::apache::thrift::adapt_detail::fromThriftField<my::Adapter, 1>(::std::move(tvalue), *this);
2697 if (UNLIKELY(!_readState.advanceToNextField(
2701 apache::thrift::protocol::T_I32))) {
2706 constexpr bool hasInplaceToThrift = ::apache::thrift::adapt_detail::has_inplace_toThrift<my::Adapter, folly::remove_cvref_t<decltype(this->__fbthrift_field_field2)>>::value;
2707 ::apache::thrift::detail::pm::IfConstexpr<hasInplaceToThrift>{}(
2708 [&](auto& field) { ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, my::Adapter::toThrift(field), _readState); },
2709 [&](auto&) {})(this->__fbthrift_field_field2);
2710 if (!hasInplaceToThrift) {
2711 ::std::int32_t tvalue;
2712 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, tvalue, _readState);
2713 this->__fbthrift_field_field2 = ::apache::thrift::adapt_detail::fromThriftField<my::Adapter, 2>(::std::move(tvalue), *this);
2718 if (UNLIKELY(!_readState.advanceToNextField(
2722 apache::thrift::protocol::T_I32))) {
2727 ::std::int32_t tvalue;
2728 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, tvalue, _readState);
2729 this->__fbthrift_field_field3 = ::apache::thrift::adapt_detail::fromThriftField<my::Adapter, 3>(my::Adapter::fromThrift(::std::move(tvalue)), *this);
2733 if (UNLIKELY(!_readState.advanceToNextField(
2737 apache::thrift::protocol::T_STOP))) {
2742 _readState.readStructEnd(iprot);
2747 _readState.afterAdvanceFailure(iprot);
2748 if (_readState.atStop()) {
2751 if (iprot->kUsesFieldNames()) {
2752 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<AdaptedFields>>();
2755 switch (_readState.fieldId) {
2758 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
2759 goto _readField_field1;
2766 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
2767 goto _readField_field2;
2774 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
2775 goto _readField_field3;
2783 _readState.skip(iprot);
2784 _readState.readFieldEnd(iprot);
2785 _readState.readFieldBeginNoInline(iprot);
2791 template <class Protocol_>
2792 uint32_t AdaptedFields::serializedSize(Protocol_ const* prot_) const {
2794 xfer += prot_->serializedStructSize("AdaptedFields");
2795 if (!(this->__fbthrift_field_field1 == ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyInteger())) {
2796 xfer += prot_->serializedFieldSize("field1", apache::thrift::protocol::T_I32, 1);
2797 xfer += ::apache::thrift::adapt_detail::serializedSize<false, my::Adapter>(*prot_, this->__fbthrift_field_field1, [&] {return ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, my::Adapter::toThrift(this->__fbthrift_field_field1));});
2799 if (!(this->__fbthrift_field_field2 == ::apache::thrift::adapt_detail::adapted_field_t<my::Adapter, 2, ::std::int32_t, AdaptedFields>())) {
2800 xfer += prot_->serializedFieldSize("field2", apache::thrift::protocol::T_I32, 2);
2801 xfer += ::apache::thrift::adapt_detail::serializedSize<false, my::Adapter>(*prot_, this->__fbthrift_field_field2, [&] {return ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, my::Adapter::toThrift(this->__fbthrift_field_field2));});
2803 if (!(this->__fbthrift_field_field3 == ::apache::thrift::adapt_detail::adapted_field_t<my::Adapter, 3, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyInteger, AdaptedFields>())) {
2804 xfer += prot_->serializedFieldSize("field3", apache::thrift::protocol::T_I32, 3);
2805 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, my::Adapter::toThrift(my::Adapter::toThrift(this->__fbthrift_field_field3)));
2807 xfer += prot_->serializedSizeStop();
2811 template <class Protocol_>
2812 uint32_t AdaptedFields::serializedSizeZC(Protocol_ const* prot_) const {
2814 xfer += prot_->serializedStructSize("AdaptedFields");
2815 if (!(this->__fbthrift_field_field1 == ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyInteger())) {
2816 xfer += prot_->serializedFieldSize("field1", apache::thrift::protocol::T_I32, 1);
2817 xfer += ::apache::thrift::adapt_detail::serializedSize<false, my::Adapter>(*prot_, this->__fbthrift_field_field1, [&] {return ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, my::Adapter::toThrift(this->__fbthrift_field_field1));});
2819 if (!(this->__fbthrift_field_field2 == ::apache::thrift::adapt_detail::adapted_field_t<my::Adapter, 2, ::std::int32_t, AdaptedFields>())) {
2820 xfer += prot_->serializedFieldSize("field2", apache::thrift::protocol::T_I32, 2);
2821 xfer += ::apache::thrift::adapt_detail::serializedSize<false, my::Adapter>(*prot_, this->__fbthrift_field_field2, [&] {return ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, my::Adapter::toThrift(this->__fbthrift_field_field2));});
2823 if (!(this->__fbthrift_field_field3 == ::apache::thrift::adapt_detail::adapted_field_t<my::Adapter, 3, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyInteger, AdaptedFields>())) {
2824 xfer += prot_->serializedFieldSize("field3", apache::thrift::protocol::T_I32, 3);
2825 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, my::Adapter::toThrift(my::Adapter::toThrift(this->__fbthrift_field_field3)));
2827 xfer += prot_->serializedSizeStop();
2831 template <class Protocol_>
2832 uint32_t AdaptedFields::write(Protocol_* prot_) const {
2834 xfer += prot_->writeStructBegin("AdaptedFields");
2835 bool previousFieldHasValue = true;
2836 if (!(this->__fbthrift_field_field1 == ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyInteger())) {
2837 constexpr int16_t kPrevFieldId = 0;
2838 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 1, kPrevFieldId>(*prot_, "field1", previousFieldHasValue);
2839 previousFieldHasValue = true;
2840 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, my::Adapter::toThrift(this->__fbthrift_field_field1));
2841 xfer += prot_->writeFieldEnd();
2843 previousFieldHasValue = false;
2845 if (!(this->__fbthrift_field_field2 == ::apache::thrift::adapt_detail::adapted_field_t<my::Adapter, 2, ::std::int32_t, AdaptedFields>())) {
2846 constexpr int16_t kPrevFieldId = 1;
2847 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 2, kPrevFieldId>(*prot_, "field2", previousFieldHasValue);
2848 previousFieldHasValue = true;
2849 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, my::Adapter::toThrift(this->__fbthrift_field_field2));
2850 xfer += prot_->writeFieldEnd();
2852 previousFieldHasValue = false;
2854 if (!(this->__fbthrift_field_field3 == ::apache::thrift::adapt_detail::adapted_field_t<my::Adapter, 3, ::facebook::thrift::test::terse_write::deprecated_tag_incompatible::MyInteger, AdaptedFields>())) {
2855 constexpr int16_t kPrevFieldId = 2;
2856 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 3, kPrevFieldId>(*prot_, "field3", previousFieldHasValue);
2857 previousFieldHasValue = true;
2858 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, my::Adapter::toThrift(my::Adapter::toThrift(this->__fbthrift_field_field3)));
2859 xfer += prot_->writeFieldEnd();
2861 previousFieldHasValue = false;
2863 xfer += prot_->writeFieldStop();
2864 xfer += prot_->writeStructEnd();
2868 extern template void AdaptedFields::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
2869 extern template uint32_t AdaptedFields::write<>(apache::thrift::BinaryProtocolWriter*) const;
2870 extern template uint32_t AdaptedFields::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
2871 extern template uint32_t AdaptedFields::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
2872 extern template void AdaptedFields::readNoXfer<>(apache::thrift::CompactProtocolReader*);
2873 extern template uint32_t AdaptedFields::write<>(apache::thrift::CompactProtocolWriter*) const;
2874 extern template uint32_t AdaptedFields::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
2875 extern template uint32_t AdaptedFields::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
2878 }}}}} // facebook::thrift::test::terse_write::deprecated_tag_incompatible