1 /**
2  * Autogenerated by Thrift for src/include1.thrift
3  *
4  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5  *  @generated @nocommit
6  */
7 #pragma once
8 
9 #include "thrift/compiler/test/fixtures/frozen-struct/gen-cpp2/include1_types.h"
10 
11 #include <thrift/lib/cpp2/gen/module_types_tcc.h>
12 
13 
14 namespace apache {
15 namespace thrift {
16 namespace detail {
17 
18 template <>
19 struct TccStructTraits<::some::ns::IncludedA> {
20   static void translateFieldName(
21       folly::StringPiece _fname,
22       int16_t& fid,
23       apache::thrift::protocol::TType& _ftype) noexcept;
24 };
25 
26 } // namespace detail
27 } // namespace thrift
28 } // namespace apache
29 
30 namespace some { namespace ns {
31 
32 template <class Protocol_>
readNoXfer(Protocol_ * iprot)33 void IncludedA::readNoXfer(Protocol_* iprot) {
34   apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
35 
36   _readState.readStructBegin(iprot);
37 
38   using apache::thrift::TProtocolException;
39 
40 
41   if (UNLIKELY(!_readState.advanceToNextField(
42           iprot,
43           0,
44           1,
45           apache::thrift::protocol::T_I32))) {
46     goto _loop;
47   }
48 _readField_i32Field:
49   {
50     ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->__fbthrift_field_i32Field, _readState);
51 
52   }
53  this->__isset.set(0, true);
54 
55   if (UNLIKELY(!_readState.advanceToNextField(
56           iprot,
57           1,
58           2,
59           apache::thrift::protocol::T_STRING))) {
60     goto _loop;
61   }
62 _readField_strField:
63   {
64     ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->__fbthrift_field_strField, _readState);
65 
66   }
67  this->__isset.set(1, true);
68 
69   if (UNLIKELY(!_readState.advanceToNextField(
70           iprot,
71           2,
72           0,
73           apache::thrift::protocol::T_STOP))) {
74     goto _loop;
75   }
76 
77 _end:
78   _readState.readStructEnd(iprot);
79 
80   return;
81 
82 _loop:
83   _readState.afterAdvanceFailure(iprot);
84   if (_readState.atStop()) {
85     goto _end;
86   }
87   if (iprot->kUsesFieldNames()) {
88     _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<IncludedA>>();
89   }
90 
91   switch (_readState.fieldId) {
92     case 1:
93     {
94       if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
95         goto _readField_i32Field;
96       } else {
97         goto _skip;
98       }
99     }
100     case 2:
101     {
102       if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
103         goto _readField_strField;
104       } else {
105         goto _skip;
106       }
107     }
108     default:
109     {
110 _skip:
111       _readState.skip(iprot);
112       _readState.readFieldEnd(iprot);
113       _readState.readFieldBeginNoInline(iprot);
114       goto _loop;
115     }
116   }
117 }
118 
119 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const120 uint32_t IncludedA::serializedSize(Protocol_ const* prot_) const {
121   uint32_t xfer = 0;
122   xfer += prot_->serializedStructSize("IncludedA");
123   {
124     xfer += prot_->serializedFieldSize("i32Field", apache::thrift::protocol::T_I32, 1);
125     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_i32Field);
126   }
127   {
128     xfer += prot_->serializedFieldSize("strField", apache::thrift::protocol::T_STRING, 2);
129     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_strField);
130   }
131   xfer += prot_->serializedSizeStop();
132   return xfer;
133 }
134 
135 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const136 uint32_t IncludedA::serializedSizeZC(Protocol_ const* prot_) const {
137   uint32_t xfer = 0;
138   xfer += prot_->serializedStructSize("IncludedA");
139   {
140     xfer += prot_->serializedFieldSize("i32Field", apache::thrift::protocol::T_I32, 1);
141     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_i32Field);
142   }
143   {
144     xfer += prot_->serializedFieldSize("strField", apache::thrift::protocol::T_STRING, 2);
145     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->__fbthrift_field_strField);
146   }
147   xfer += prot_->serializedSizeStop();
148   return xfer;
149 }
150 
151 template <class Protocol_>
write(Protocol_ * prot_) const152 uint32_t IncludedA::write(Protocol_* prot_) const {
153   uint32_t xfer = 0;
154   xfer += prot_->writeStructBegin("IncludedA");
155   bool previousFieldHasValue = true;
156   {
157     constexpr int16_t kPrevFieldId = 0;
158     xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 1, kPrevFieldId>(*prot_, "i32Field", previousFieldHasValue);
159     previousFieldHasValue = true;
160     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->__fbthrift_field_i32Field);
161     xfer += prot_->writeFieldEnd();
162   }
163   {
164     constexpr int16_t kPrevFieldId = 1;
165     xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 2, kPrevFieldId>(*prot_, "strField", previousFieldHasValue);
166     previousFieldHasValue = true;
167     xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->__fbthrift_field_strField);
168     xfer += prot_->writeFieldEnd();
169   }
170   xfer += prot_->writeFieldStop();
171   xfer += prot_->writeStructEnd();
172   return xfer;
173 }
174 
175 extern template void IncludedA::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
176 extern template uint32_t IncludedA::write<>(apache::thrift::BinaryProtocolWriter*) const;
177 extern template uint32_t IncludedA::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
178 extern template uint32_t IncludedA::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
179 extern template void IncludedA::readNoXfer<>(apache::thrift::CompactProtocolReader*);
180 extern template uint32_t IncludedA::write<>(apache::thrift::CompactProtocolWriter*) const;
181 extern template uint32_t IncludedA::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
182 extern template uint32_t IncludedA::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
183 
184 }} // some::ns
185