• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // automatically generated by the FlatBuffers compiler, do not modify
2 
3 
4 #ifndef FLATBUFFERS_GENERATED_NAMESPACETEST2_NAMESPACEA_H_
5 #define FLATBUFFERS_GENERATED_NAMESPACETEST2_NAMESPACEA_H_
6 
7 #include "flatbuffers/flatbuffers.h"
8 
9 namespace NamespaceA {
10 
11 struct TableInFirstNS;
12 struct TableInFirstNSBuilder;
13 struct TableInFirstNST;
14 
15 }  // namespace NamespaceA
16 
17 namespace NamespaceC {
18 
19 struct TableInC;
20 struct TableInCBuilder;
21 struct TableInCT;
22 
23 }  // namespace NamespaceC
24 
25 namespace NamespaceA {
26 
27 struct SecondTableInA;
28 struct SecondTableInABuilder;
29 struct SecondTableInAT;
30 
31 bool operator==(const TableInFirstNST &lhs, const TableInFirstNST &rhs);
32 bool operator!=(const TableInFirstNST &lhs, const TableInFirstNST &rhs);
33 }  // namespace NamespaceA
34 
35 namespace NamespaceC {
36 
37 bool operator==(const TableInCT &lhs, const TableInCT &rhs);
38 bool operator!=(const TableInCT &lhs, const TableInCT &rhs);
39 }  // namespace NamespaceC
40 
41 namespace NamespaceA {
42 
43 bool operator==(const SecondTableInAT &lhs, const SecondTableInAT &rhs);
44 bool operator!=(const SecondTableInAT &lhs, const SecondTableInAT &rhs);
45 
46 inline const flatbuffers::TypeTable *TableInFirstNSTypeTable();
47 
48 }  // namespace NamespaceA
49 
50 namespace NamespaceC {
51 
52 inline const flatbuffers::TypeTable *TableInCTypeTable();
53 
54 }  // namespace NamespaceC
55 
56 namespace NamespaceA {
57 
58 inline const flatbuffers::TypeTable *SecondTableInATypeTable();
59 
60 struct TableInFirstNST : public flatbuffers::NativeTable {
61   typedef TableInFirstNS TableType;
62   flatbuffers::unique_ptr<NamespaceA::NamespaceB::TableInNestedNST> foo_table;
63   NamespaceA::NamespaceB::EnumInNestedNS foo_enum;
64   flatbuffers::unique_ptr<NamespaceA::NamespaceB::StructInNestedNS> foo_struct;
TableInFirstNSTTableInFirstNST65   TableInFirstNST()
66       : foo_enum(NamespaceA::NamespaceB::EnumInNestedNS_A) {
67   }
68 };
69 
70 inline bool operator==(const TableInFirstNST &lhs, const TableInFirstNST &rhs) {
71   return
72       (lhs.foo_table == rhs.foo_table) &&
73       (lhs.foo_enum == rhs.foo_enum) &&
74       (lhs.foo_struct == rhs.foo_struct);
75 }
76 
77 inline bool operator!=(const TableInFirstNST &lhs, const TableInFirstNST &rhs) {
78     return !(lhs == rhs);
79 }
80 
81 
82 struct TableInFirstNS FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
83   typedef TableInFirstNST NativeTableType;
84   typedef TableInFirstNSBuilder Builder;
MiniReflectTypeTableFLATBUFFERS_FINAL_CLASS85   static const flatbuffers::TypeTable *MiniReflectTypeTable() {
86     return TableInFirstNSTypeTable();
87   }
88   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
89     VT_FOO_TABLE = 4,
90     VT_FOO_ENUM = 6,
91     VT_FOO_STRUCT = 8
92   };
foo_tableFLATBUFFERS_FINAL_CLASS93   const NamespaceA::NamespaceB::TableInNestedNS *foo_table() const {
94     return GetPointer<const NamespaceA::NamespaceB::TableInNestedNS *>(VT_FOO_TABLE);
95   }
mutable_foo_tableFLATBUFFERS_FINAL_CLASS96   NamespaceA::NamespaceB::TableInNestedNS *mutable_foo_table() {
97     return GetPointer<NamespaceA::NamespaceB::TableInNestedNS *>(VT_FOO_TABLE);
98   }
foo_enumFLATBUFFERS_FINAL_CLASS99   NamespaceA::NamespaceB::EnumInNestedNS foo_enum() const {
100     return static_cast<NamespaceA::NamespaceB::EnumInNestedNS>(GetField<int8_t>(VT_FOO_ENUM, 0));
101   }
mutate_foo_enumFLATBUFFERS_FINAL_CLASS102   bool mutate_foo_enum(NamespaceA::NamespaceB::EnumInNestedNS _foo_enum) {
103     return SetField<int8_t>(VT_FOO_ENUM, static_cast<int8_t>(_foo_enum), 0);
104   }
foo_structFLATBUFFERS_FINAL_CLASS105   const NamespaceA::NamespaceB::StructInNestedNS *foo_struct() const {
106     return GetStruct<const NamespaceA::NamespaceB::StructInNestedNS *>(VT_FOO_STRUCT);
107   }
mutable_foo_structFLATBUFFERS_FINAL_CLASS108   NamespaceA::NamespaceB::StructInNestedNS *mutable_foo_struct() {
109     return GetStruct<NamespaceA::NamespaceB::StructInNestedNS *>(VT_FOO_STRUCT);
110   }
VerifyFLATBUFFERS_FINAL_CLASS111   bool Verify(flatbuffers::Verifier &verifier) const {
112     return VerifyTableStart(verifier) &&
113            VerifyOffset(verifier, VT_FOO_TABLE) &&
114            verifier.VerifyTable(foo_table()) &&
115            VerifyField<int8_t>(verifier, VT_FOO_ENUM) &&
116            VerifyField<NamespaceA::NamespaceB::StructInNestedNS>(verifier, VT_FOO_STRUCT) &&
117            verifier.EndTable();
118   }
119   TableInFirstNST *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
120   void UnPackTo(TableInFirstNST *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
121   static flatbuffers::Offset<TableInFirstNS> Pack(flatbuffers::FlatBufferBuilder &_fbb, const TableInFirstNST* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
122 };
123 
124 struct TableInFirstNSBuilder {
125   typedef TableInFirstNS Table;
126   flatbuffers::FlatBufferBuilder &fbb_;
127   flatbuffers::uoffset_t start_;
add_foo_tableTableInFirstNSBuilder128   void add_foo_table(flatbuffers::Offset<NamespaceA::NamespaceB::TableInNestedNS> foo_table) {
129     fbb_.AddOffset(TableInFirstNS::VT_FOO_TABLE, foo_table);
130   }
add_foo_enumTableInFirstNSBuilder131   void add_foo_enum(NamespaceA::NamespaceB::EnumInNestedNS foo_enum) {
132     fbb_.AddElement<int8_t>(TableInFirstNS::VT_FOO_ENUM, static_cast<int8_t>(foo_enum), 0);
133   }
add_foo_structTableInFirstNSBuilder134   void add_foo_struct(const NamespaceA::NamespaceB::StructInNestedNS *foo_struct) {
135     fbb_.AddStruct(TableInFirstNS::VT_FOO_STRUCT, foo_struct);
136   }
TableInFirstNSBuilderTableInFirstNSBuilder137   explicit TableInFirstNSBuilder(flatbuffers::FlatBufferBuilder &_fbb)
138         : fbb_(_fbb) {
139     start_ = fbb_.StartTable();
140   }
141   TableInFirstNSBuilder &operator=(const TableInFirstNSBuilder &);
FinishTableInFirstNSBuilder142   flatbuffers::Offset<TableInFirstNS> Finish() {
143     const auto end = fbb_.EndTable(start_);
144     auto o = flatbuffers::Offset<TableInFirstNS>(end);
145     return o;
146   }
147 };
148 
149 inline flatbuffers::Offset<TableInFirstNS> CreateTableInFirstNS(
150     flatbuffers::FlatBufferBuilder &_fbb,
151     flatbuffers::Offset<NamespaceA::NamespaceB::TableInNestedNS> foo_table = 0,
152     NamespaceA::NamespaceB::EnumInNestedNS foo_enum = NamespaceA::NamespaceB::EnumInNestedNS_A,
153     const NamespaceA::NamespaceB::StructInNestedNS *foo_struct = 0) {
154   TableInFirstNSBuilder builder_(_fbb);
155   builder_.add_foo_struct(foo_struct);
156   builder_.add_foo_table(foo_table);
157   builder_.add_foo_enum(foo_enum);
158   return builder_.Finish();
159 }
160 
161 flatbuffers::Offset<TableInFirstNS> CreateTableInFirstNS(flatbuffers::FlatBufferBuilder &_fbb, const TableInFirstNST *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
162 
163 }  // namespace NamespaceA
164 
165 namespace NamespaceC {
166 
167 struct TableInCT : public flatbuffers::NativeTable {
168   typedef TableInC TableType;
169   flatbuffers::unique_ptr<NamespaceA::TableInFirstNST> refer_to_a1;
170   flatbuffers::unique_ptr<NamespaceA::SecondTableInAT> refer_to_a2;
TableInCTTableInCT171   TableInCT() {
172   }
173 };
174 
175 inline bool operator==(const TableInCT &lhs, const TableInCT &rhs) {
176   return
177       (lhs.refer_to_a1 == rhs.refer_to_a1) &&
178       (lhs.refer_to_a2 == rhs.refer_to_a2);
179 }
180 
181 inline bool operator!=(const TableInCT &lhs, const TableInCT &rhs) {
182     return !(lhs == rhs);
183 }
184 
185 
186 struct TableInC FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
187   typedef TableInCT NativeTableType;
188   typedef TableInCBuilder Builder;
MiniReflectTypeTableFLATBUFFERS_FINAL_CLASS189   static const flatbuffers::TypeTable *MiniReflectTypeTable() {
190     return TableInCTypeTable();
191   }
192   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
193     VT_REFER_TO_A1 = 4,
194     VT_REFER_TO_A2 = 6
195   };
refer_to_a1FLATBUFFERS_FINAL_CLASS196   const NamespaceA::TableInFirstNS *refer_to_a1() const {
197     return GetPointer<const NamespaceA::TableInFirstNS *>(VT_REFER_TO_A1);
198   }
mutable_refer_to_a1FLATBUFFERS_FINAL_CLASS199   NamespaceA::TableInFirstNS *mutable_refer_to_a1() {
200     return GetPointer<NamespaceA::TableInFirstNS *>(VT_REFER_TO_A1);
201   }
refer_to_a2FLATBUFFERS_FINAL_CLASS202   const NamespaceA::SecondTableInA *refer_to_a2() const {
203     return GetPointer<const NamespaceA::SecondTableInA *>(VT_REFER_TO_A2);
204   }
mutable_refer_to_a2FLATBUFFERS_FINAL_CLASS205   NamespaceA::SecondTableInA *mutable_refer_to_a2() {
206     return GetPointer<NamespaceA::SecondTableInA *>(VT_REFER_TO_A2);
207   }
VerifyFLATBUFFERS_FINAL_CLASS208   bool Verify(flatbuffers::Verifier &verifier) const {
209     return VerifyTableStart(verifier) &&
210            VerifyOffset(verifier, VT_REFER_TO_A1) &&
211            verifier.VerifyTable(refer_to_a1()) &&
212            VerifyOffset(verifier, VT_REFER_TO_A2) &&
213            verifier.VerifyTable(refer_to_a2()) &&
214            verifier.EndTable();
215   }
216   TableInCT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
217   void UnPackTo(TableInCT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
218   static flatbuffers::Offset<TableInC> Pack(flatbuffers::FlatBufferBuilder &_fbb, const TableInCT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
219 };
220 
221 struct TableInCBuilder {
222   typedef TableInC Table;
223   flatbuffers::FlatBufferBuilder &fbb_;
224   flatbuffers::uoffset_t start_;
add_refer_to_a1TableInCBuilder225   void add_refer_to_a1(flatbuffers::Offset<NamespaceA::TableInFirstNS> refer_to_a1) {
226     fbb_.AddOffset(TableInC::VT_REFER_TO_A1, refer_to_a1);
227   }
add_refer_to_a2TableInCBuilder228   void add_refer_to_a2(flatbuffers::Offset<NamespaceA::SecondTableInA> refer_to_a2) {
229     fbb_.AddOffset(TableInC::VT_REFER_TO_A2, refer_to_a2);
230   }
TableInCBuilderTableInCBuilder231   explicit TableInCBuilder(flatbuffers::FlatBufferBuilder &_fbb)
232         : fbb_(_fbb) {
233     start_ = fbb_.StartTable();
234   }
235   TableInCBuilder &operator=(const TableInCBuilder &);
FinishTableInCBuilder236   flatbuffers::Offset<TableInC> Finish() {
237     const auto end = fbb_.EndTable(start_);
238     auto o = flatbuffers::Offset<TableInC>(end);
239     return o;
240   }
241 };
242 
243 inline flatbuffers::Offset<TableInC> CreateTableInC(
244     flatbuffers::FlatBufferBuilder &_fbb,
245     flatbuffers::Offset<NamespaceA::TableInFirstNS> refer_to_a1 = 0,
246     flatbuffers::Offset<NamespaceA::SecondTableInA> refer_to_a2 = 0) {
247   TableInCBuilder builder_(_fbb);
248   builder_.add_refer_to_a2(refer_to_a2);
249   builder_.add_refer_to_a1(refer_to_a1);
250   return builder_.Finish();
251 }
252 
253 flatbuffers::Offset<TableInC> CreateTableInC(flatbuffers::FlatBufferBuilder &_fbb, const TableInCT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
254 
255 }  // namespace NamespaceC
256 
257 namespace NamespaceA {
258 
259 struct SecondTableInAT : public flatbuffers::NativeTable {
260   typedef SecondTableInA TableType;
261   flatbuffers::unique_ptr<NamespaceC::TableInCT> refer_to_c;
SecondTableInATSecondTableInAT262   SecondTableInAT() {
263   }
264 };
265 
266 inline bool operator==(const SecondTableInAT &lhs, const SecondTableInAT &rhs) {
267   return
268       (lhs.refer_to_c == rhs.refer_to_c);
269 }
270 
271 inline bool operator!=(const SecondTableInAT &lhs, const SecondTableInAT &rhs) {
272     return !(lhs == rhs);
273 }
274 
275 
276 struct SecondTableInA FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
277   typedef SecondTableInAT NativeTableType;
278   typedef SecondTableInABuilder Builder;
MiniReflectTypeTableFLATBUFFERS_FINAL_CLASS279   static const flatbuffers::TypeTable *MiniReflectTypeTable() {
280     return SecondTableInATypeTable();
281   }
282   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
283     VT_REFER_TO_C = 4
284   };
refer_to_cFLATBUFFERS_FINAL_CLASS285   const NamespaceC::TableInC *refer_to_c() const {
286     return GetPointer<const NamespaceC::TableInC *>(VT_REFER_TO_C);
287   }
mutable_refer_to_cFLATBUFFERS_FINAL_CLASS288   NamespaceC::TableInC *mutable_refer_to_c() {
289     return GetPointer<NamespaceC::TableInC *>(VT_REFER_TO_C);
290   }
VerifyFLATBUFFERS_FINAL_CLASS291   bool Verify(flatbuffers::Verifier &verifier) const {
292     return VerifyTableStart(verifier) &&
293            VerifyOffset(verifier, VT_REFER_TO_C) &&
294            verifier.VerifyTable(refer_to_c()) &&
295            verifier.EndTable();
296   }
297   SecondTableInAT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
298   void UnPackTo(SecondTableInAT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
299   static flatbuffers::Offset<SecondTableInA> Pack(flatbuffers::FlatBufferBuilder &_fbb, const SecondTableInAT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
300 };
301 
302 struct SecondTableInABuilder {
303   typedef SecondTableInA Table;
304   flatbuffers::FlatBufferBuilder &fbb_;
305   flatbuffers::uoffset_t start_;
add_refer_to_cSecondTableInABuilder306   void add_refer_to_c(flatbuffers::Offset<NamespaceC::TableInC> refer_to_c) {
307     fbb_.AddOffset(SecondTableInA::VT_REFER_TO_C, refer_to_c);
308   }
SecondTableInABuilderSecondTableInABuilder309   explicit SecondTableInABuilder(flatbuffers::FlatBufferBuilder &_fbb)
310         : fbb_(_fbb) {
311     start_ = fbb_.StartTable();
312   }
313   SecondTableInABuilder &operator=(const SecondTableInABuilder &);
FinishSecondTableInABuilder314   flatbuffers::Offset<SecondTableInA> Finish() {
315     const auto end = fbb_.EndTable(start_);
316     auto o = flatbuffers::Offset<SecondTableInA>(end);
317     return o;
318   }
319 };
320 
321 inline flatbuffers::Offset<SecondTableInA> CreateSecondTableInA(
322     flatbuffers::FlatBufferBuilder &_fbb,
323     flatbuffers::Offset<NamespaceC::TableInC> refer_to_c = 0) {
324   SecondTableInABuilder builder_(_fbb);
325   builder_.add_refer_to_c(refer_to_c);
326   return builder_.Finish();
327 }
328 
329 flatbuffers::Offset<SecondTableInA> CreateSecondTableInA(flatbuffers::FlatBufferBuilder &_fbb, const SecondTableInAT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
330 
UnPack(const flatbuffers::resolver_function_t * _resolver)331 inline TableInFirstNST *TableInFirstNS::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
332   flatbuffers::unique_ptr<NamespaceA::TableInFirstNST> _o = flatbuffers::unique_ptr<NamespaceA::TableInFirstNST>(new TableInFirstNST());
333   UnPackTo(_o.get(), _resolver);
334   return _o.release();
335 }
336 
UnPackTo(TableInFirstNST * _o,const flatbuffers::resolver_function_t * _resolver)337 inline void TableInFirstNS::UnPackTo(TableInFirstNST *_o, const flatbuffers::resolver_function_t *_resolver) const {
338   (void)_o;
339   (void)_resolver;
340   { auto _e = foo_table(); if (_e) _o->foo_table = flatbuffers::unique_ptr<NamespaceA::NamespaceB::TableInNestedNST>(_e->UnPack(_resolver)); }
341   { auto _e = foo_enum(); _o->foo_enum = _e; }
342   { auto _e = foo_struct(); if (_e) _o->foo_struct = flatbuffers::unique_ptr<NamespaceA::NamespaceB::StructInNestedNS>(new NamespaceA::NamespaceB::StructInNestedNS(*_e)); }
343 }
344 
Pack(flatbuffers::FlatBufferBuilder & _fbb,const TableInFirstNST * _o,const flatbuffers::rehasher_function_t * _rehasher)345 inline flatbuffers::Offset<TableInFirstNS> TableInFirstNS::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TableInFirstNST* _o, const flatbuffers::rehasher_function_t *_rehasher) {
346   return CreateTableInFirstNS(_fbb, _o, _rehasher);
347 }
348 
CreateTableInFirstNS(flatbuffers::FlatBufferBuilder & _fbb,const TableInFirstNST * _o,const flatbuffers::rehasher_function_t * _rehasher)349 inline flatbuffers::Offset<TableInFirstNS> CreateTableInFirstNS(flatbuffers::FlatBufferBuilder &_fbb, const TableInFirstNST *_o, const flatbuffers::rehasher_function_t *_rehasher) {
350   (void)_rehasher;
351   (void)_o;
352   struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TableInFirstNST* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
353   auto _foo_table = _o->foo_table ? CreateTableInNestedNS(_fbb, _o->foo_table.get(), _rehasher) : 0;
354   auto _foo_enum = _o->foo_enum;
355   auto _foo_struct = _o->foo_struct ? _o->foo_struct.get() : 0;
356   return NamespaceA::CreateTableInFirstNS(
357       _fbb,
358       _foo_table,
359       _foo_enum,
360       _foo_struct);
361 }
362 
363 }  // namespace NamespaceA
364 
365 namespace NamespaceC {
366 
UnPack(const flatbuffers::resolver_function_t * _resolver)367 inline TableInCT *TableInC::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
368   flatbuffers::unique_ptr<NamespaceC::TableInCT> _o = flatbuffers::unique_ptr<NamespaceC::TableInCT>(new TableInCT());
369   UnPackTo(_o.get(), _resolver);
370   return _o.release();
371 }
372 
UnPackTo(TableInCT * _o,const flatbuffers::resolver_function_t * _resolver)373 inline void TableInC::UnPackTo(TableInCT *_o, const flatbuffers::resolver_function_t *_resolver) const {
374   (void)_o;
375   (void)_resolver;
376   { auto _e = refer_to_a1(); if (_e) _o->refer_to_a1 = flatbuffers::unique_ptr<NamespaceA::TableInFirstNST>(_e->UnPack(_resolver)); }
377   { auto _e = refer_to_a2(); if (_e) _o->refer_to_a2 = flatbuffers::unique_ptr<NamespaceA::SecondTableInAT>(_e->UnPack(_resolver)); }
378 }
379 
Pack(flatbuffers::FlatBufferBuilder & _fbb,const TableInCT * _o,const flatbuffers::rehasher_function_t * _rehasher)380 inline flatbuffers::Offset<TableInC> TableInC::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TableInCT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
381   return CreateTableInC(_fbb, _o, _rehasher);
382 }
383 
CreateTableInC(flatbuffers::FlatBufferBuilder & _fbb,const TableInCT * _o,const flatbuffers::rehasher_function_t * _rehasher)384 inline flatbuffers::Offset<TableInC> CreateTableInC(flatbuffers::FlatBufferBuilder &_fbb, const TableInCT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
385   (void)_rehasher;
386   (void)_o;
387   struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TableInCT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
388   auto _refer_to_a1 = _o->refer_to_a1 ? CreateTableInFirstNS(_fbb, _o->refer_to_a1.get(), _rehasher) : 0;
389   auto _refer_to_a2 = _o->refer_to_a2 ? CreateSecondTableInA(_fbb, _o->refer_to_a2.get(), _rehasher) : 0;
390   return NamespaceC::CreateTableInC(
391       _fbb,
392       _refer_to_a1,
393       _refer_to_a2);
394 }
395 
396 }  // namespace NamespaceC
397 
398 namespace NamespaceA {
399 
UnPack(const flatbuffers::resolver_function_t * _resolver)400 inline SecondTableInAT *SecondTableInA::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
401   flatbuffers::unique_ptr<NamespaceA::SecondTableInAT> _o = flatbuffers::unique_ptr<NamespaceA::SecondTableInAT>(new SecondTableInAT());
402   UnPackTo(_o.get(), _resolver);
403   return _o.release();
404 }
405 
UnPackTo(SecondTableInAT * _o,const flatbuffers::resolver_function_t * _resolver)406 inline void SecondTableInA::UnPackTo(SecondTableInAT *_o, const flatbuffers::resolver_function_t *_resolver) const {
407   (void)_o;
408   (void)_resolver;
409   { auto _e = refer_to_c(); if (_e) _o->refer_to_c = flatbuffers::unique_ptr<NamespaceC::TableInCT>(_e->UnPack(_resolver)); }
410 }
411 
Pack(flatbuffers::FlatBufferBuilder & _fbb,const SecondTableInAT * _o,const flatbuffers::rehasher_function_t * _rehasher)412 inline flatbuffers::Offset<SecondTableInA> SecondTableInA::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SecondTableInAT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
413   return CreateSecondTableInA(_fbb, _o, _rehasher);
414 }
415 
CreateSecondTableInA(flatbuffers::FlatBufferBuilder & _fbb,const SecondTableInAT * _o,const flatbuffers::rehasher_function_t * _rehasher)416 inline flatbuffers::Offset<SecondTableInA> CreateSecondTableInA(flatbuffers::FlatBufferBuilder &_fbb, const SecondTableInAT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
417   (void)_rehasher;
418   (void)_o;
419   struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SecondTableInAT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
420   auto _refer_to_c = _o->refer_to_c ? CreateTableInC(_fbb, _o->refer_to_c.get(), _rehasher) : 0;
421   return NamespaceA::CreateSecondTableInA(
422       _fbb,
423       _refer_to_c);
424 }
425 
TableInFirstNSTypeTable()426 inline const flatbuffers::TypeTable *TableInFirstNSTypeTable() {
427   static const flatbuffers::TypeCode type_codes[] = {
428     { flatbuffers::ET_SEQUENCE, 0, 0 },
429     { flatbuffers::ET_CHAR, 0, 1 },
430     { flatbuffers::ET_SEQUENCE, 0, 2 }
431   };
432   static const flatbuffers::TypeFunction type_refs[] = {
433     NamespaceA::NamespaceB::TableInNestedNSTypeTable,
434     NamespaceA::NamespaceB::EnumInNestedNSTypeTable,
435     NamespaceA::NamespaceB::StructInNestedNSTypeTable
436   };
437   static const char * const names[] = {
438     "foo_table",
439     "foo_enum",
440     "foo_struct"
441   };
442   static const flatbuffers::TypeTable tt = {
443     flatbuffers::ST_TABLE, 3, type_codes, type_refs, nullptr, names
444   };
445   return &tt;
446 }
447 
448 }  // namespace NamespaceA
449 
450 namespace NamespaceC {
451 
TableInCTypeTable()452 inline const flatbuffers::TypeTable *TableInCTypeTable() {
453   static const flatbuffers::TypeCode type_codes[] = {
454     { flatbuffers::ET_SEQUENCE, 0, 0 },
455     { flatbuffers::ET_SEQUENCE, 0, 1 }
456   };
457   static const flatbuffers::TypeFunction type_refs[] = {
458     NamespaceA::TableInFirstNSTypeTable,
459     NamespaceA::SecondTableInATypeTable
460   };
461   static const char * const names[] = {
462     "refer_to_a1",
463     "refer_to_a2"
464   };
465   static const flatbuffers::TypeTable tt = {
466     flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, names
467   };
468   return &tt;
469 }
470 
471 }  // namespace NamespaceC
472 
473 namespace NamespaceA {
474 
SecondTableInATypeTable()475 inline const flatbuffers::TypeTable *SecondTableInATypeTable() {
476   static const flatbuffers::TypeCode type_codes[] = {
477     { flatbuffers::ET_SEQUENCE, 0, 0 }
478   };
479   static const flatbuffers::TypeFunction type_refs[] = {
480     NamespaceC::TableInCTypeTable
481   };
482   static const char * const names[] = {
483     "refer_to_c"
484   };
485   static const flatbuffers::TypeTable tt = {
486     flatbuffers::ST_TABLE, 1, type_codes, type_refs, nullptr, names
487   };
488   return &tt;
489 }
490 
491 }  // namespace NamespaceA
492 
493 #endif  // FLATBUFFERS_GENERATED_NAMESPACETEST2_NAMESPACEA_H_
494