blob: 9c0a1b6cf60153a3a37fbb92c155d3a8101bc466 [file] [log] [blame]
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001// 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
Austin Schuhe89fa2d2019-08-14 20:24:23 -07009namespace NamespaceA {
10
11struct TableInFirstNS;
Austin Schuh272c6132020-11-14 16:37:52 -080012struct TableInFirstNSBuilder;
13struct TableInFirstNST;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070014
15} // namespace NamespaceA
16
17namespace NamespaceC {
18
19struct TableInC;
Austin Schuh272c6132020-11-14 16:37:52 -080020struct TableInCBuilder;
21struct TableInCT;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070022
23} // namespace NamespaceC
24
25namespace NamespaceA {
26
27struct SecondTableInA;
Austin Schuh272c6132020-11-14 16:37:52 -080028struct SecondTableInABuilder;
29struct SecondTableInAT;
30
31bool operator==(const TableInFirstNST &lhs, const TableInFirstNST &rhs);
32bool operator!=(const TableInFirstNST &lhs, const TableInFirstNST &rhs);
33} // namespace NamespaceA
34
35namespace NamespaceC {
36
37bool operator==(const TableInCT &lhs, const TableInCT &rhs);
38bool operator!=(const TableInCT &lhs, const TableInCT &rhs);
39} // namespace NamespaceC
40
41namespace NamespaceA {
42
43bool operator==(const SecondTableInAT &lhs, const SecondTableInAT &rhs);
44bool operator!=(const SecondTableInAT &lhs, const SecondTableInAT &rhs);
Austin Schuhe89fa2d2019-08-14 20:24:23 -070045
46inline const flatbuffers::TypeTable *TableInFirstNSTypeTable();
47
48} // namespace NamespaceA
49
50namespace NamespaceC {
51
52inline const flatbuffers::TypeTable *TableInCTypeTable();
53
54} // namespace NamespaceC
55
56namespace NamespaceA {
57
58inline const flatbuffers::TypeTable *SecondTableInATypeTable();
59
Austin Schuh272c6132020-11-14 16:37:52 -080060struct TableInFirstNST : public flatbuffers::NativeTable {
61 typedef TableInFirstNS TableType;
62 static FLATBUFFERS_CONSTEXPR const char *GetFullyQualifiedName() {
63 return "NamespaceA.TableInFirstNST";
64 }
65 flatbuffers::unique_ptr<NamespaceA::NamespaceB::TableInNestedNST> foo_table;
66 NamespaceA::NamespaceB::EnumInNestedNS foo_enum;
67 flatbuffers::unique_ptr<NamespaceA::NamespaceB::StructInNestedNS> foo_struct;
68 TableInFirstNST()
69 : foo_enum(NamespaceA::NamespaceB::EnumInNestedNS_A) {
70 }
71};
72
73inline bool operator==(const TableInFirstNST &lhs, const TableInFirstNST &rhs) {
74 return
75 (lhs.foo_table == rhs.foo_table) &&
76 (lhs.foo_enum == rhs.foo_enum) &&
77 (lhs.foo_struct == rhs.foo_struct);
78}
79
80inline bool operator!=(const TableInFirstNST &lhs, const TableInFirstNST &rhs) {
81 return !(lhs == rhs);
82}
83
84
Austin Schuhe89fa2d2019-08-14 20:24:23 -070085struct TableInFirstNS FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -080086 typedef TableInFirstNST NativeTableType;
87 typedef TableInFirstNSBuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070088 static const flatbuffers::TypeTable *MiniReflectTypeTable() {
89 return TableInFirstNSTypeTable();
90 }
Austin Schuh272c6132020-11-14 16:37:52 -080091 static FLATBUFFERS_CONSTEXPR const char *GetFullyQualifiedName() {
92 return "NamespaceA.TableInFirstNS";
93 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -070094 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
95 VT_FOO_TABLE = 4,
96 VT_FOO_ENUM = 6,
97 VT_FOO_STRUCT = 8
98 };
99 const NamespaceA::NamespaceB::TableInNestedNS *foo_table() const {
100 return GetPointer<const NamespaceA::NamespaceB::TableInNestedNS *>(VT_FOO_TABLE);
101 }
102 NamespaceA::NamespaceB::TableInNestedNS *mutable_foo_table() {
103 return GetPointer<NamespaceA::NamespaceB::TableInNestedNS *>(VT_FOO_TABLE);
104 }
105 NamespaceA::NamespaceB::EnumInNestedNS foo_enum() const {
106 return static_cast<NamespaceA::NamespaceB::EnumInNestedNS>(GetField<int8_t>(VT_FOO_ENUM, 0));
107 }
108 bool mutate_foo_enum(NamespaceA::NamespaceB::EnumInNestedNS _foo_enum) {
109 return SetField<int8_t>(VT_FOO_ENUM, static_cast<int8_t>(_foo_enum), 0);
110 }
111 const NamespaceA::NamespaceB::StructInNestedNS *foo_struct() const {
112 return GetStruct<const NamespaceA::NamespaceB::StructInNestedNS *>(VT_FOO_STRUCT);
113 }
114 NamespaceA::NamespaceB::StructInNestedNS *mutable_foo_struct() {
115 return GetStruct<NamespaceA::NamespaceB::StructInNestedNS *>(VT_FOO_STRUCT);
116 }
117 bool Verify(flatbuffers::Verifier &verifier) const {
118 return VerifyTableStart(verifier) &&
119 VerifyOffset(verifier, VT_FOO_TABLE) &&
120 verifier.VerifyTable(foo_table()) &&
121 VerifyField<int8_t>(verifier, VT_FOO_ENUM) &&
122 VerifyField<NamespaceA::NamespaceB::StructInNestedNS>(verifier, VT_FOO_STRUCT) &&
123 verifier.EndTable();
124 }
Austin Schuh272c6132020-11-14 16:37:52 -0800125 TableInFirstNST *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
126 void UnPackTo(TableInFirstNST *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
127 static flatbuffers::Offset<TableInFirstNS> Pack(flatbuffers::FlatBufferBuilder &_fbb, const TableInFirstNST* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700128};
129
130struct TableInFirstNSBuilder {
Austin Schuh272c6132020-11-14 16:37:52 -0800131 typedef TableInFirstNS Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700132 flatbuffers::FlatBufferBuilder &fbb_;
133 flatbuffers::uoffset_t start_;
134 void add_foo_table(flatbuffers::Offset<NamespaceA::NamespaceB::TableInNestedNS> foo_table) {
135 fbb_.AddOffset(TableInFirstNS::VT_FOO_TABLE, foo_table);
136 }
137 void add_foo_enum(NamespaceA::NamespaceB::EnumInNestedNS foo_enum) {
138 fbb_.AddElement<int8_t>(TableInFirstNS::VT_FOO_ENUM, static_cast<int8_t>(foo_enum), 0);
139 }
140 void add_foo_struct(const NamespaceA::NamespaceB::StructInNestedNS *foo_struct) {
141 fbb_.AddStruct(TableInFirstNS::VT_FOO_STRUCT, foo_struct);
142 }
143 explicit TableInFirstNSBuilder(flatbuffers::FlatBufferBuilder &_fbb)
144 : fbb_(_fbb) {
145 start_ = fbb_.StartTable();
146 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700147 flatbuffers::Offset<TableInFirstNS> Finish() {
148 const auto end = fbb_.EndTable(start_);
149 auto o = flatbuffers::Offset<TableInFirstNS>(end);
150 return o;
151 }
152};
153
154inline flatbuffers::Offset<TableInFirstNS> CreateTableInFirstNS(
155 flatbuffers::FlatBufferBuilder &_fbb,
156 flatbuffers::Offset<NamespaceA::NamespaceB::TableInNestedNS> foo_table = 0,
157 NamespaceA::NamespaceB::EnumInNestedNS foo_enum = NamespaceA::NamespaceB::EnumInNestedNS_A,
158 const NamespaceA::NamespaceB::StructInNestedNS *foo_struct = 0) {
159 TableInFirstNSBuilder builder_(_fbb);
160 builder_.add_foo_struct(foo_struct);
161 builder_.add_foo_table(foo_table);
162 builder_.add_foo_enum(foo_enum);
163 return builder_.Finish();
164}
165
Austin Schuh272c6132020-11-14 16:37:52 -0800166flatbuffers::Offset<TableInFirstNS> CreateTableInFirstNS(flatbuffers::FlatBufferBuilder &_fbb, const TableInFirstNST *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
167
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700168} // namespace NamespaceA
169
170namespace NamespaceC {
171
Austin Schuh272c6132020-11-14 16:37:52 -0800172struct TableInCT : public flatbuffers::NativeTable {
173 typedef TableInC TableType;
174 static FLATBUFFERS_CONSTEXPR const char *GetFullyQualifiedName() {
175 return "NamespaceC.TableInCT";
176 }
177 flatbuffers::unique_ptr<NamespaceA::TableInFirstNST> refer_to_a1;
178 flatbuffers::unique_ptr<NamespaceA::SecondTableInAT> refer_to_a2;
179 TableInCT() {
180 }
181};
182
183inline bool operator==(const TableInCT &lhs, const TableInCT &rhs) {
184 return
185 (lhs.refer_to_a1 == rhs.refer_to_a1) &&
186 (lhs.refer_to_a2 == rhs.refer_to_a2);
187}
188
189inline bool operator!=(const TableInCT &lhs, const TableInCT &rhs) {
190 return !(lhs == rhs);
191}
192
193
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700194struct TableInC FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -0800195 typedef TableInCT NativeTableType;
196 typedef TableInCBuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700197 static const flatbuffers::TypeTable *MiniReflectTypeTable() {
198 return TableInCTypeTable();
199 }
Austin Schuh272c6132020-11-14 16:37:52 -0800200 static FLATBUFFERS_CONSTEXPR const char *GetFullyQualifiedName() {
201 return "NamespaceC.TableInC";
202 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700203 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
204 VT_REFER_TO_A1 = 4,
205 VT_REFER_TO_A2 = 6
206 };
207 const NamespaceA::TableInFirstNS *refer_to_a1() const {
208 return GetPointer<const NamespaceA::TableInFirstNS *>(VT_REFER_TO_A1);
209 }
210 NamespaceA::TableInFirstNS *mutable_refer_to_a1() {
211 return GetPointer<NamespaceA::TableInFirstNS *>(VT_REFER_TO_A1);
212 }
213 const NamespaceA::SecondTableInA *refer_to_a2() const {
214 return GetPointer<const NamespaceA::SecondTableInA *>(VT_REFER_TO_A2);
215 }
216 NamespaceA::SecondTableInA *mutable_refer_to_a2() {
217 return GetPointer<NamespaceA::SecondTableInA *>(VT_REFER_TO_A2);
218 }
219 bool Verify(flatbuffers::Verifier &verifier) const {
220 return VerifyTableStart(verifier) &&
221 VerifyOffset(verifier, VT_REFER_TO_A1) &&
222 verifier.VerifyTable(refer_to_a1()) &&
223 VerifyOffset(verifier, VT_REFER_TO_A2) &&
224 verifier.VerifyTable(refer_to_a2()) &&
225 verifier.EndTable();
226 }
Austin Schuh272c6132020-11-14 16:37:52 -0800227 TableInCT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
228 void UnPackTo(TableInCT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
229 static flatbuffers::Offset<TableInC> Pack(flatbuffers::FlatBufferBuilder &_fbb, const TableInCT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700230};
231
232struct TableInCBuilder {
Austin Schuh272c6132020-11-14 16:37:52 -0800233 typedef TableInC Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700234 flatbuffers::FlatBufferBuilder &fbb_;
235 flatbuffers::uoffset_t start_;
236 void add_refer_to_a1(flatbuffers::Offset<NamespaceA::TableInFirstNS> refer_to_a1) {
237 fbb_.AddOffset(TableInC::VT_REFER_TO_A1, refer_to_a1);
238 }
239 void add_refer_to_a2(flatbuffers::Offset<NamespaceA::SecondTableInA> refer_to_a2) {
240 fbb_.AddOffset(TableInC::VT_REFER_TO_A2, refer_to_a2);
241 }
242 explicit TableInCBuilder(flatbuffers::FlatBufferBuilder &_fbb)
243 : fbb_(_fbb) {
244 start_ = fbb_.StartTable();
245 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700246 flatbuffers::Offset<TableInC> Finish() {
247 const auto end = fbb_.EndTable(start_);
248 auto o = flatbuffers::Offset<TableInC>(end);
249 return o;
250 }
251};
252
253inline flatbuffers::Offset<TableInC> CreateTableInC(
254 flatbuffers::FlatBufferBuilder &_fbb,
255 flatbuffers::Offset<NamespaceA::TableInFirstNS> refer_to_a1 = 0,
256 flatbuffers::Offset<NamespaceA::SecondTableInA> refer_to_a2 = 0) {
257 TableInCBuilder builder_(_fbb);
258 builder_.add_refer_to_a2(refer_to_a2);
259 builder_.add_refer_to_a1(refer_to_a1);
260 return builder_.Finish();
261}
262
Austin Schuh272c6132020-11-14 16:37:52 -0800263flatbuffers::Offset<TableInC> CreateTableInC(flatbuffers::FlatBufferBuilder &_fbb, const TableInCT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
264
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700265} // namespace NamespaceC
266
267namespace NamespaceA {
268
Austin Schuh272c6132020-11-14 16:37:52 -0800269struct SecondTableInAT : public flatbuffers::NativeTable {
270 typedef SecondTableInA TableType;
271 static FLATBUFFERS_CONSTEXPR const char *GetFullyQualifiedName() {
272 return "NamespaceA.SecondTableInAT";
273 }
274 flatbuffers::unique_ptr<NamespaceC::TableInCT> refer_to_c;
275 SecondTableInAT() {
276 }
277};
278
279inline bool operator==(const SecondTableInAT &lhs, const SecondTableInAT &rhs) {
280 return
281 (lhs.refer_to_c == rhs.refer_to_c);
282}
283
284inline bool operator!=(const SecondTableInAT &lhs, const SecondTableInAT &rhs) {
285 return !(lhs == rhs);
286}
287
288
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700289struct SecondTableInA FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -0800290 typedef SecondTableInAT NativeTableType;
291 typedef SecondTableInABuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700292 static const flatbuffers::TypeTable *MiniReflectTypeTable() {
293 return SecondTableInATypeTable();
294 }
Austin Schuh272c6132020-11-14 16:37:52 -0800295 static FLATBUFFERS_CONSTEXPR const char *GetFullyQualifiedName() {
296 return "NamespaceA.SecondTableInA";
297 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700298 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
299 VT_REFER_TO_C = 4
300 };
301 const NamespaceC::TableInC *refer_to_c() const {
302 return GetPointer<const NamespaceC::TableInC *>(VT_REFER_TO_C);
303 }
304 NamespaceC::TableInC *mutable_refer_to_c() {
305 return GetPointer<NamespaceC::TableInC *>(VT_REFER_TO_C);
306 }
307 bool Verify(flatbuffers::Verifier &verifier) const {
308 return VerifyTableStart(verifier) &&
309 VerifyOffset(verifier, VT_REFER_TO_C) &&
310 verifier.VerifyTable(refer_to_c()) &&
311 verifier.EndTable();
312 }
Austin Schuh272c6132020-11-14 16:37:52 -0800313 SecondTableInAT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
314 void UnPackTo(SecondTableInAT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
315 static flatbuffers::Offset<SecondTableInA> Pack(flatbuffers::FlatBufferBuilder &_fbb, const SecondTableInAT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700316};
317
318struct SecondTableInABuilder {
Austin Schuh272c6132020-11-14 16:37:52 -0800319 typedef SecondTableInA Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700320 flatbuffers::FlatBufferBuilder &fbb_;
321 flatbuffers::uoffset_t start_;
322 void add_refer_to_c(flatbuffers::Offset<NamespaceC::TableInC> refer_to_c) {
323 fbb_.AddOffset(SecondTableInA::VT_REFER_TO_C, refer_to_c);
324 }
325 explicit SecondTableInABuilder(flatbuffers::FlatBufferBuilder &_fbb)
326 : fbb_(_fbb) {
327 start_ = fbb_.StartTable();
328 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700329 flatbuffers::Offset<SecondTableInA> Finish() {
330 const auto end = fbb_.EndTable(start_);
331 auto o = flatbuffers::Offset<SecondTableInA>(end);
332 return o;
333 }
334};
335
336inline flatbuffers::Offset<SecondTableInA> CreateSecondTableInA(
337 flatbuffers::FlatBufferBuilder &_fbb,
338 flatbuffers::Offset<NamespaceC::TableInC> refer_to_c = 0) {
339 SecondTableInABuilder builder_(_fbb);
340 builder_.add_refer_to_c(refer_to_c);
341 return builder_.Finish();
342}
343
Austin Schuh272c6132020-11-14 16:37:52 -0800344flatbuffers::Offset<SecondTableInA> CreateSecondTableInA(flatbuffers::FlatBufferBuilder &_fbb, const SecondTableInAT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
345
346inline TableInFirstNST *TableInFirstNS::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
347 flatbuffers::unique_ptr<NamespaceA::TableInFirstNST> _o = flatbuffers::unique_ptr<NamespaceA::TableInFirstNST>(new TableInFirstNST());
348 UnPackTo(_o.get(), _resolver);
349 return _o.release();
350}
351
352inline void TableInFirstNS::UnPackTo(TableInFirstNST *_o, const flatbuffers::resolver_function_t *_resolver) const {
353 (void)_o;
354 (void)_resolver;
355 { auto _e = foo_table(); if (_e) _o->foo_table = flatbuffers::unique_ptr<NamespaceA::NamespaceB::TableInNestedNST>(_e->UnPack(_resolver)); }
356 { auto _e = foo_enum(); _o->foo_enum = _e; }
357 { auto _e = foo_struct(); if (_e) _o->foo_struct = flatbuffers::unique_ptr<NamespaceA::NamespaceB::StructInNestedNS>(new NamespaceA::NamespaceB::StructInNestedNS(*_e)); }
358}
359
360inline flatbuffers::Offset<TableInFirstNS> TableInFirstNS::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TableInFirstNST* _o, const flatbuffers::rehasher_function_t *_rehasher) {
361 return CreateTableInFirstNS(_fbb, _o, _rehasher);
362}
363
364inline flatbuffers::Offset<TableInFirstNS> CreateTableInFirstNS(flatbuffers::FlatBufferBuilder &_fbb, const TableInFirstNST *_o, const flatbuffers::rehasher_function_t *_rehasher) {
365 (void)_rehasher;
366 (void)_o;
367 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TableInFirstNST* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
368 auto _foo_table = _o->foo_table ? CreateTableInNestedNS(_fbb, _o->foo_table.get(), _rehasher) : 0;
369 auto _foo_enum = _o->foo_enum;
370 auto _foo_struct = _o->foo_struct ? _o->foo_struct.get() : 0;
371 return NamespaceA::CreateTableInFirstNS(
372 _fbb,
373 _foo_table,
374 _foo_enum,
375 _foo_struct);
376}
377
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700378} // namespace NamespaceA
379
380namespace NamespaceC {
381
Austin Schuh272c6132020-11-14 16:37:52 -0800382inline TableInCT *TableInC::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
383 flatbuffers::unique_ptr<NamespaceC::TableInCT> _o = flatbuffers::unique_ptr<NamespaceC::TableInCT>(new TableInCT());
384 UnPackTo(_o.get(), _resolver);
385 return _o.release();
386}
387
388inline void TableInC::UnPackTo(TableInCT *_o, const flatbuffers::resolver_function_t *_resolver) const {
389 (void)_o;
390 (void)_resolver;
391 { auto _e = refer_to_a1(); if (_e) _o->refer_to_a1 = flatbuffers::unique_ptr<NamespaceA::TableInFirstNST>(_e->UnPack(_resolver)); }
392 { auto _e = refer_to_a2(); if (_e) _o->refer_to_a2 = flatbuffers::unique_ptr<NamespaceA::SecondTableInAT>(_e->UnPack(_resolver)); }
393}
394
395inline flatbuffers::Offset<TableInC> TableInC::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TableInCT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
396 return CreateTableInC(_fbb, _o, _rehasher);
397}
398
399inline flatbuffers::Offset<TableInC> CreateTableInC(flatbuffers::FlatBufferBuilder &_fbb, const TableInCT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
400 (void)_rehasher;
401 (void)_o;
402 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TableInCT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
403 auto _refer_to_a1 = _o->refer_to_a1 ? CreateTableInFirstNS(_fbb, _o->refer_to_a1.get(), _rehasher) : 0;
404 auto _refer_to_a2 = _o->refer_to_a2 ? CreateSecondTableInA(_fbb, _o->refer_to_a2.get(), _rehasher) : 0;
405 return NamespaceC::CreateTableInC(
406 _fbb,
407 _refer_to_a1,
408 _refer_to_a2);
409}
410
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700411} // namespace NamespaceC
412
413namespace NamespaceA {
414
Austin Schuh272c6132020-11-14 16:37:52 -0800415inline SecondTableInAT *SecondTableInA::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
416 flatbuffers::unique_ptr<NamespaceA::SecondTableInAT> _o = flatbuffers::unique_ptr<NamespaceA::SecondTableInAT>(new SecondTableInAT());
417 UnPackTo(_o.get(), _resolver);
418 return _o.release();
419}
420
421inline void SecondTableInA::UnPackTo(SecondTableInAT *_o, const flatbuffers::resolver_function_t *_resolver) const {
422 (void)_o;
423 (void)_resolver;
424 { auto _e = refer_to_c(); if (_e) _o->refer_to_c = flatbuffers::unique_ptr<NamespaceC::TableInCT>(_e->UnPack(_resolver)); }
425}
426
427inline flatbuffers::Offset<SecondTableInA> SecondTableInA::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SecondTableInAT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
428 return CreateSecondTableInA(_fbb, _o, _rehasher);
429}
430
431inline flatbuffers::Offset<SecondTableInA> CreateSecondTableInA(flatbuffers::FlatBufferBuilder &_fbb, const SecondTableInAT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
432 (void)_rehasher;
433 (void)_o;
434 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SecondTableInAT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
435 auto _refer_to_c = _o->refer_to_c ? CreateTableInC(_fbb, _o->refer_to_c.get(), _rehasher) : 0;
436 return NamespaceA::CreateSecondTableInA(
437 _fbb,
438 _refer_to_c);
439}
440
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700441inline const flatbuffers::TypeTable *TableInFirstNSTypeTable() {
442 static const flatbuffers::TypeCode type_codes[] = {
443 { flatbuffers::ET_SEQUENCE, 0, 0 },
444 { flatbuffers::ET_CHAR, 0, 1 },
445 { flatbuffers::ET_SEQUENCE, 0, 2 }
446 };
447 static const flatbuffers::TypeFunction type_refs[] = {
448 NamespaceA::NamespaceB::TableInNestedNSTypeTable,
449 NamespaceA::NamespaceB::EnumInNestedNSTypeTable,
450 NamespaceA::NamespaceB::StructInNestedNSTypeTable
451 };
452 static const char * const names[] = {
453 "foo_table",
454 "foo_enum",
455 "foo_struct"
456 };
457 static const flatbuffers::TypeTable tt = {
Austin Schuh272c6132020-11-14 16:37:52 -0800458 flatbuffers::ST_TABLE, 3, type_codes, type_refs, nullptr, nullptr, names
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700459 };
460 return &tt;
461}
462
463} // namespace NamespaceA
464
465namespace NamespaceC {
466
467inline const flatbuffers::TypeTable *TableInCTypeTable() {
468 static const flatbuffers::TypeCode type_codes[] = {
469 { flatbuffers::ET_SEQUENCE, 0, 0 },
470 { flatbuffers::ET_SEQUENCE, 0, 1 }
471 };
472 static const flatbuffers::TypeFunction type_refs[] = {
473 NamespaceA::TableInFirstNSTypeTable,
474 NamespaceA::SecondTableInATypeTable
475 };
476 static const char * const names[] = {
477 "refer_to_a1",
478 "refer_to_a2"
479 };
480 static const flatbuffers::TypeTable tt = {
Austin Schuh272c6132020-11-14 16:37:52 -0800481 flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, nullptr, names
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700482 };
483 return &tt;
484}
485
486} // namespace NamespaceC
487
488namespace NamespaceA {
489
490inline const flatbuffers::TypeTable *SecondTableInATypeTable() {
491 static const flatbuffers::TypeCode type_codes[] = {
492 { flatbuffers::ET_SEQUENCE, 0, 0 }
493 };
494 static const flatbuffers::TypeFunction type_refs[] = {
495 NamespaceC::TableInCTypeTable
496 };
497 static const char * const names[] = {
498 "refer_to_c"
499 };
500 static const flatbuffers::TypeTable tt = {
Austin Schuh272c6132020-11-14 16:37:52 -0800501 flatbuffers::ST_TABLE, 1, type_codes, type_refs, nullptr, nullptr, names
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700502 };
503 return &tt;
504}
505
506} // namespace NamespaceA
507
508#endif // FLATBUFFERS_GENERATED_NAMESPACETEST2_NAMESPACEA_H_