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