1 /**
2 * Autogenerated by Thrift for src/module.thrift
3 *
4 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5 * @generated @nocommit
6 */
7 #pragma once
8
9 #include "thrift/compiler/test/fixtures/doctext/gen-cpp2/module_types.h"
10
11 #include <thrift/lib/cpp2/gen/module_types_tcc.h>
12
13 namespace cpp2 {
14
15 } // cpp2
16 namespace std {
17
18 } // std
19
20
21 namespace apache {
22 namespace thrift {
23 namespace detail {
24
25 template <>
26 struct TccStructTraits<::cpp2::A> {
27 static void translateFieldName(
28 folly::StringPiece _fname,
29 int16_t& fid,
30 apache::thrift::protocol::TType& _ftype) noexcept;
31 };
32 template <>
33 struct TccStructTraits<::cpp2::U> {
34 static void translateFieldName(
35 folly::StringPiece _fname,
36 int16_t& fid,
37 apache::thrift::protocol::TType& _ftype) noexcept;
38 };
39 template <>
40 struct TccStructTraits<::cpp2::Bang> {
41 static void translateFieldName(
42 folly::StringPiece _fname,
43 int16_t& fid,
44 apache::thrift::protocol::TType& _ftype) noexcept;
45 };
46
47 } // namespace detail
48 } // namespace thrift
49 } // namespace apache
50
51 namespace cpp2 {
52
53 template <class Protocol_>
readNoXfer(Protocol_ * iprot)54 void A::readNoXfer(Protocol_* iprot) {
55 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
56
57 _readState.readStructBegin(iprot);
58
59 using apache::thrift::TProtocolException;
60
61
62 if (UNLIKELY(!_readState.advanceToNextField(
63 iprot,
64 0,
65 1,
66 apache::thrift::protocol::T_I32))) {
67 goto _loop;
68 }
69 _readField_useless_field:
70 {
71 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, this->__fbthrift_field_useless_field, _readState);
72
73 }
74 this->__isset.set(0, true);
75
76 if (UNLIKELY(!_readState.advanceToNextField(
77 iprot,
78 1,
79 0,
80 apache::thrift::protocol::T_STOP))) {
81 goto _loop;
82 }
83
84 _end:
85 _readState.readStructEnd(iprot);
86
87 return;
88
89 _loop:
90 _readState.afterAdvanceFailure(iprot);
91 if (_readState.atStop()) {
92 goto _end;
93 }
94 if (iprot->kUsesFieldNames()) {
95 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<A>>();
96 }
97
98 switch (_readState.fieldId) {
99 case 1:
100 {
101 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32))) {
102 goto _readField_useless_field;
103 } else {
104 goto _skip;
105 }
106 }
107 default:
108 {
109 _skip:
110 _readState.skip(iprot);
111 _readState.readFieldEnd(iprot);
112 _readState.readFieldBeginNoInline(iprot);
113 goto _loop;
114 }
115 }
116 }
117
118 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const119 uint32_t A::serializedSize(Protocol_ const* prot_) const {
120 uint32_t xfer = 0;
121 xfer += prot_->serializedStructSize("A");
122 {
123 xfer += prot_->serializedFieldSize("useless_field", apache::thrift::protocol::T_I32, 1);
124 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_useless_field);
125 }
126 xfer += prot_->serializedSizeStop();
127 return xfer;
128 }
129
130 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const131 uint32_t A::serializedSizeZC(Protocol_ const* prot_) const {
132 uint32_t xfer = 0;
133 xfer += prot_->serializedStructSize("A");
134 {
135 xfer += prot_->serializedFieldSize("useless_field", apache::thrift::protocol::T_I32, 1);
136 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, this->__fbthrift_field_useless_field);
137 }
138 xfer += prot_->serializedSizeStop();
139 return xfer;
140 }
141
142 template <class Protocol_>
write(Protocol_ * prot_) const143 uint32_t A::write(Protocol_* prot_) const {
144 uint32_t xfer = 0;
145 xfer += prot_->writeStructBegin("A");
146 bool previousFieldHasValue = true;
147 {
148 constexpr int16_t kPrevFieldId = 0;
149 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 1, kPrevFieldId>(*prot_, "useless_field", previousFieldHasValue);
150 previousFieldHasValue = true;
151 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, this->__fbthrift_field_useless_field);
152 xfer += prot_->writeFieldEnd();
153 }
154 xfer += prot_->writeFieldStop();
155 xfer += prot_->writeStructEnd();
156 return xfer;
157 }
158
159 extern template void A::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
160 extern template uint32_t A::write<>(apache::thrift::BinaryProtocolWriter*) const;
161 extern template uint32_t A::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
162 extern template uint32_t A::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
163 extern template void A::readNoXfer<>(apache::thrift::CompactProtocolReader*);
164 extern template uint32_t A::write<>(apache::thrift::CompactProtocolWriter*) const;
165 extern template uint32_t A::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
166 extern template uint32_t A::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
167
168 } // cpp2
169 namespace cpp2 {
170
171 template <class Protocol_>
readNoXfer(Protocol_ * iprot)172 void U::readNoXfer(Protocol_* iprot) {
173 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
174 _readState.fieldId = 0;
175
176 _readState.readStructBegin(iprot);
177
178 _readState.readFieldBegin(iprot);
179 if (_readState.atStop()) {
180 apache::thrift::clear(*this);
181 } else {
182 if (iprot->kUsesFieldNames()) {
183 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<U>>();
184 }
185 switch (_readState.fieldId) {
186 case 1:
187 {
188 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_I32)) {
189 this->set_i();
190 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::readWithContext(*iprot, value_.i, _readState);
191
192 } else {
193 _readState.skip(iprot);
194 }
195 break;
196 }
197 case 2:
198 {
199 if (_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING)) {
200 this->set_s();
201 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, value_.s, _readState);
202
203 } else {
204 _readState.skip(iprot);
205 }
206 break;
207 }
208 default:
209 {
210 _readState.skip(iprot);
211 break;
212 }
213 }
214 _readState.readFieldEnd(iprot);
215 _readState.readFieldBegin(iprot);
216 if (UNLIKELY(!_readState.atStop())) {
217 using apache::thrift::protocol::TProtocolException;
218 TProtocolException::throwUnionMissingStop();
219 }
220 }
221 _readState.readStructEnd(iprot);
222 }
223 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const224 uint32_t U::serializedSize(Protocol_ const* prot_) const {
225 uint32_t xfer = 0;
226 xfer += prot_->serializedStructSize("U");
227 switch(this->getType()) {
228 case U::Type::i:
229 {
230 xfer += prot_->serializedFieldSize("i", apache::thrift::protocol::T_I32, 1);
231 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, value_.i);
232 break;
233 }
234 case U::Type::s:
235 {
236 xfer += prot_->serializedFieldSize("s", apache::thrift::protocol::T_STRING, 2);
237 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, value_.s);
238 break;
239 }
240 case U::Type::__EMPTY__:;
241 }
242 xfer += prot_->serializedSizeStop();
243 return xfer;
244 }
245
246 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const247 uint32_t U::serializedSizeZC(Protocol_ const* prot_) const {
248 uint32_t xfer = 0;
249 xfer += prot_->serializedStructSize("U");
250 switch(this->getType()) {
251 case U::Type::i:
252 {
253 xfer += prot_->serializedFieldSize("i", apache::thrift::protocol::T_I32, 1);
254 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::serializedSize<false>(*prot_, value_.i);
255 break;
256 }
257 case U::Type::s:
258 {
259 xfer += prot_->serializedFieldSize("s", apache::thrift::protocol::T_STRING, 2);
260 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, value_.s);
261 break;
262 }
263 case U::Type::__EMPTY__:;
264 }
265 xfer += prot_->serializedSizeStop();
266 return xfer;
267 }
268
269 template <class Protocol_>
write(Protocol_ * prot_) const270 uint32_t U::write(Protocol_* prot_) const {
271 uint32_t xfer = 0;
272 xfer += prot_->writeStructBegin("U");
273 switch(this->getType()) {
274 case U::Type::i:
275 {
276 constexpr int16_t kPrevFieldId = 0;
277 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_I32, 1, kPrevFieldId>(*prot_, "i", false);
278 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::integral, ::std::int32_t>::write(*prot_, value_.i);
279 xfer += prot_->writeFieldEnd();
280 break;
281 }
282 case U::Type::s:
283 {
284 constexpr int16_t kPrevFieldId = 1;
285 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 2, kPrevFieldId>(*prot_, "s", false);
286 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, value_.s);
287 xfer += prot_->writeFieldEnd();
288 break;
289 }
290 case U::Type::__EMPTY__:;
291 }
292 xfer += prot_->writeFieldStop();
293 xfer += prot_->writeStructEnd();
294 return xfer;
295 }
296
297 extern template void U::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
298 extern template uint32_t U::write<>(apache::thrift::BinaryProtocolWriter*) const;
299 extern template uint32_t U::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
300 extern template uint32_t U::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
301 extern template void U::readNoXfer<>(apache::thrift::CompactProtocolReader*);
302 extern template uint32_t U::write<>(apache::thrift::CompactProtocolWriter*) const;
303 extern template uint32_t U::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
304 extern template uint32_t U::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
305
306 } // cpp2
307 namespace cpp2 {
308
309 template <class Protocol_>
readNoXfer(Protocol_ * iprot)310 void Bang::readNoXfer(Protocol_* iprot) {
311 apache::thrift::detail::ProtocolReaderStructReadState<Protocol_> _readState;
312
313 _readState.readStructBegin(iprot);
314
315 using apache::thrift::TProtocolException;
316
317
318 if (UNLIKELY(!_readState.advanceToNextField(
319 iprot,
320 0,
321 1,
322 apache::thrift::protocol::T_STRING))) {
323 goto _loop;
324 }
325 _readField_message:
326 {
327 ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::readWithContext(*iprot, this->message, _readState);
328
329 }
330 this->__isset.set(0, true);
331
332 if (UNLIKELY(!_readState.advanceToNextField(
333 iprot,
334 1,
335 0,
336 apache::thrift::protocol::T_STOP))) {
337 goto _loop;
338 }
339
340 _end:
341 _readState.readStructEnd(iprot);
342
343 return;
344
345 _loop:
346 _readState.afterAdvanceFailure(iprot);
347 if (_readState.atStop()) {
348 goto _end;
349 }
350 if (iprot->kUsesFieldNames()) {
351 _readState.template fillFieldTraitsFromName<apache::thrift::detail::TccStructTraits<Bang>>();
352 }
353
354 switch (_readState.fieldId) {
355 case 1:
356 {
357 if (LIKELY(_readState.isCompatibleWithType(iprot, apache::thrift::protocol::T_STRING))) {
358 goto _readField_message;
359 } else {
360 goto _skip;
361 }
362 }
363 default:
364 {
365 _skip:
366 _readState.skip(iprot);
367 _readState.readFieldEnd(iprot);
368 _readState.readFieldBeginNoInline(iprot);
369 goto _loop;
370 }
371 }
372 }
373
374 template <class Protocol_>
serializedSize(Protocol_ const * prot_) const375 uint32_t Bang::serializedSize(Protocol_ const* prot_) const {
376 uint32_t xfer = 0;
377 xfer += prot_->serializedStructSize("Bang");
378 {
379 xfer += prot_->serializedFieldSize("message", apache::thrift::protocol::T_STRING, 1);
380 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->message);
381 }
382 xfer += prot_->serializedSizeStop();
383 return xfer;
384 }
385
386 template <class Protocol_>
serializedSizeZC(Protocol_ const * prot_) const387 uint32_t Bang::serializedSizeZC(Protocol_ const* prot_) const {
388 uint32_t xfer = 0;
389 xfer += prot_->serializedStructSize("Bang");
390 {
391 xfer += prot_->serializedFieldSize("message", apache::thrift::protocol::T_STRING, 1);
392 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::serializedSize<false>(*prot_, this->message);
393 }
394 xfer += prot_->serializedSizeStop();
395 return xfer;
396 }
397
398 template <class Protocol_>
write(Protocol_ * prot_) const399 uint32_t Bang::write(Protocol_* prot_) const {
400 uint32_t xfer = 0;
401 xfer += prot_->writeStructBegin("Bang");
402 bool previousFieldHasValue = true;
403 {
404 constexpr int16_t kPrevFieldId = 0;
405 xfer += ::apache::thrift::detail::writeFieldBegin<apache::thrift::protocol::T_STRING, 1, kPrevFieldId>(*prot_, "message", previousFieldHasValue);
406 previousFieldHasValue = true;
407 xfer += ::apache::thrift::detail::pm::protocol_methods<::apache::thrift::type_class::string, ::std::string>::write(*prot_, this->message);
408 xfer += prot_->writeFieldEnd();
409 }
410 xfer += prot_->writeFieldStop();
411 xfer += prot_->writeStructEnd();
412 return xfer;
413 }
414
415 extern template void Bang::readNoXfer<>(apache::thrift::BinaryProtocolReader*);
416 extern template uint32_t Bang::write<>(apache::thrift::BinaryProtocolWriter*) const;
417 extern template uint32_t Bang::serializedSize<>(apache::thrift::BinaryProtocolWriter const*) const;
418 extern template uint32_t Bang::serializedSizeZC<>(apache::thrift::BinaryProtocolWriter const*) const;
419 extern template void Bang::readNoXfer<>(apache::thrift::CompactProtocolReader*);
420 extern template uint32_t Bang::write<>(apache::thrift::CompactProtocolWriter*) const;
421 extern template uint32_t Bang::serializedSize<>(apache::thrift::CompactProtocolWriter const*) const;
422 extern template uint32_t Bang::serializedSizeZC<>(apache::thrift::CompactProtocolWriter const*) const;
423
424 } // cpp2
425