blob: ff164cccef0b5db01ee63ed8ea2a08a64946ee0b [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;
James Kuszmaul8e62b022022-03-22 09:33:25 -070062 static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
Austin Schuh272c6132020-11-14 16:37:52 -080063 return "NamespaceA.TableInFirstNST";
64 }
James Kuszmaul8e62b022022-03-22 09:33:25 -070065 flatbuffers::unique_ptr<NamespaceA::NamespaceB::TableInNestedNST> foo_table{};
66 NamespaceA::NamespaceB::EnumInNestedNS foo_enum = NamespaceA::NamespaceB::EnumInNestedNS_A;
67 NamespaceA::NamespaceB::UnionInNestedNSUnion foo_union{};
68 flatbuffers::unique_ptr<NamespaceA::NamespaceB::StructInNestedNS> foo_struct{};
69 TableInFirstNST() = default;
70 TableInFirstNST(const TableInFirstNST &o);
71 TableInFirstNST(TableInFirstNST&&) FLATBUFFERS_NOEXCEPT = default;
72 TableInFirstNST &operator=(TableInFirstNST o) FLATBUFFERS_NOEXCEPT;
Austin Schuh272c6132020-11-14 16:37:52 -080073};
74
Austin Schuhe89fa2d2019-08-14 20:24:23 -070075struct TableInFirstNS FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -080076 typedef TableInFirstNST NativeTableType;
77 typedef TableInFirstNSBuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070078 static const flatbuffers::TypeTable *MiniReflectTypeTable() {
79 return TableInFirstNSTypeTable();
80 }
James Kuszmaul8e62b022022-03-22 09:33:25 -070081 static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
Austin Schuh272c6132020-11-14 16:37:52 -080082 return "NamespaceA.TableInFirstNS";
83 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -070084 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
85 VT_FOO_TABLE = 4,
86 VT_FOO_ENUM = 6,
James Kuszmaul8e62b022022-03-22 09:33:25 -070087 VT_FOO_UNION_TYPE = 8,
88 VT_FOO_UNION = 10,
89 VT_FOO_STRUCT = 12
Austin Schuhe89fa2d2019-08-14 20:24:23 -070090 };
91 const NamespaceA::NamespaceB::TableInNestedNS *foo_table() const {
92 return GetPointer<const NamespaceA::NamespaceB::TableInNestedNS *>(VT_FOO_TABLE);
93 }
94 NamespaceA::NamespaceB::TableInNestedNS *mutable_foo_table() {
95 return GetPointer<NamespaceA::NamespaceB::TableInNestedNS *>(VT_FOO_TABLE);
96 }
97 NamespaceA::NamespaceB::EnumInNestedNS foo_enum() const {
98 return static_cast<NamespaceA::NamespaceB::EnumInNestedNS>(GetField<int8_t>(VT_FOO_ENUM, 0));
99 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700100 bool mutate_foo_enum(NamespaceA::NamespaceB::EnumInNestedNS _foo_enum = static_cast<NamespaceA::NamespaceB::EnumInNestedNS>(0)) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700101 return SetField<int8_t>(VT_FOO_ENUM, static_cast<int8_t>(_foo_enum), 0);
102 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700103 NamespaceA::NamespaceB::UnionInNestedNS foo_union_type() const {
104 return static_cast<NamespaceA::NamespaceB::UnionInNestedNS>(GetField<uint8_t>(VT_FOO_UNION_TYPE, 0));
105 }
106 const void *foo_union() const {
107 return GetPointer<const void *>(VT_FOO_UNION);
108 }
109 template<typename T> const T *foo_union_as() const;
110 const NamespaceA::NamespaceB::TableInNestedNS *foo_union_as_TableInNestedNS() const {
111 return foo_union_type() == NamespaceA::NamespaceB::UnionInNestedNS_TableInNestedNS ? static_cast<const NamespaceA::NamespaceB::TableInNestedNS *>(foo_union()) : nullptr;
112 }
113 void *mutable_foo_union() {
114 return GetPointer<void *>(VT_FOO_UNION);
115 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700116 const NamespaceA::NamespaceB::StructInNestedNS *foo_struct() const {
117 return GetStruct<const NamespaceA::NamespaceB::StructInNestedNS *>(VT_FOO_STRUCT);
118 }
119 NamespaceA::NamespaceB::StructInNestedNS *mutable_foo_struct() {
120 return GetStruct<NamespaceA::NamespaceB::StructInNestedNS *>(VT_FOO_STRUCT);
121 }
122 bool Verify(flatbuffers::Verifier &verifier) const {
123 return VerifyTableStart(verifier) &&
124 VerifyOffset(verifier, VT_FOO_TABLE) &&
125 verifier.VerifyTable(foo_table()) &&
James Kuszmaul8e62b022022-03-22 09:33:25 -0700126 VerifyField<int8_t>(verifier, VT_FOO_ENUM, 1) &&
127 VerifyField<uint8_t>(verifier, VT_FOO_UNION_TYPE, 1) &&
128 VerifyOffset(verifier, VT_FOO_UNION) &&
129 VerifyUnionInNestedNS(verifier, foo_union(), foo_union_type()) &&
130 VerifyField<NamespaceA::NamespaceB::StructInNestedNS>(verifier, VT_FOO_STRUCT, 4) &&
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700131 verifier.EndTable();
132 }
Austin Schuh272c6132020-11-14 16:37:52 -0800133 TableInFirstNST *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
134 void UnPackTo(TableInFirstNST *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
135 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 -0700136};
137
James Kuszmaul8e62b022022-03-22 09:33:25 -0700138template<> inline const NamespaceA::NamespaceB::TableInNestedNS *TableInFirstNS::foo_union_as<NamespaceA::NamespaceB::TableInNestedNS>() const {
139 return foo_union_as_TableInNestedNS();
140}
141
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700142struct TableInFirstNSBuilder {
Austin Schuh272c6132020-11-14 16:37:52 -0800143 typedef TableInFirstNS Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700144 flatbuffers::FlatBufferBuilder &fbb_;
145 flatbuffers::uoffset_t start_;
146 void add_foo_table(flatbuffers::Offset<NamespaceA::NamespaceB::TableInNestedNS> foo_table) {
147 fbb_.AddOffset(TableInFirstNS::VT_FOO_TABLE, foo_table);
148 }
149 void add_foo_enum(NamespaceA::NamespaceB::EnumInNestedNS foo_enum) {
150 fbb_.AddElement<int8_t>(TableInFirstNS::VT_FOO_ENUM, static_cast<int8_t>(foo_enum), 0);
151 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700152 void add_foo_union_type(NamespaceA::NamespaceB::UnionInNestedNS foo_union_type) {
153 fbb_.AddElement<uint8_t>(TableInFirstNS::VT_FOO_UNION_TYPE, static_cast<uint8_t>(foo_union_type), 0);
154 }
155 void add_foo_union(flatbuffers::Offset<void> foo_union) {
156 fbb_.AddOffset(TableInFirstNS::VT_FOO_UNION, foo_union);
157 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700158 void add_foo_struct(const NamespaceA::NamespaceB::StructInNestedNS *foo_struct) {
159 fbb_.AddStruct(TableInFirstNS::VT_FOO_STRUCT, foo_struct);
160 }
161 explicit TableInFirstNSBuilder(flatbuffers::FlatBufferBuilder &_fbb)
162 : fbb_(_fbb) {
163 start_ = fbb_.StartTable();
164 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700165 flatbuffers::Offset<TableInFirstNS> Finish() {
166 const auto end = fbb_.EndTable(start_);
167 auto o = flatbuffers::Offset<TableInFirstNS>(end);
168 return o;
169 }
170};
171
172inline flatbuffers::Offset<TableInFirstNS> CreateTableInFirstNS(
173 flatbuffers::FlatBufferBuilder &_fbb,
174 flatbuffers::Offset<NamespaceA::NamespaceB::TableInNestedNS> foo_table = 0,
175 NamespaceA::NamespaceB::EnumInNestedNS foo_enum = NamespaceA::NamespaceB::EnumInNestedNS_A,
James Kuszmaul8e62b022022-03-22 09:33:25 -0700176 NamespaceA::NamespaceB::UnionInNestedNS foo_union_type = NamespaceA::NamespaceB::UnionInNestedNS_NONE,
177 flatbuffers::Offset<void> foo_union = 0,
178 const NamespaceA::NamespaceB::StructInNestedNS *foo_struct = nullptr) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700179 TableInFirstNSBuilder builder_(_fbb);
180 builder_.add_foo_struct(foo_struct);
James Kuszmaul8e62b022022-03-22 09:33:25 -0700181 builder_.add_foo_union(foo_union);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700182 builder_.add_foo_table(foo_table);
James Kuszmaul8e62b022022-03-22 09:33:25 -0700183 builder_.add_foo_union_type(foo_union_type);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700184 builder_.add_foo_enum(foo_enum);
185 return builder_.Finish();
186}
187
Austin Schuh272c6132020-11-14 16:37:52 -0800188flatbuffers::Offset<TableInFirstNS> CreateTableInFirstNS(flatbuffers::FlatBufferBuilder &_fbb, const TableInFirstNST *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
189
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700190} // namespace NamespaceA
191
192namespace NamespaceC {
193
Austin Schuh272c6132020-11-14 16:37:52 -0800194struct TableInCT : public flatbuffers::NativeTable {
195 typedef TableInC TableType;
James Kuszmaul8e62b022022-03-22 09:33:25 -0700196 static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
Austin Schuh272c6132020-11-14 16:37:52 -0800197 return "NamespaceC.TableInCT";
198 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700199 flatbuffers::unique_ptr<NamespaceA::TableInFirstNST> refer_to_a1{};
200 flatbuffers::unique_ptr<NamespaceA::SecondTableInAT> refer_to_a2{};
201 TableInCT() = default;
202 TableInCT(const TableInCT &o);
203 TableInCT(TableInCT&&) FLATBUFFERS_NOEXCEPT = default;
204 TableInCT &operator=(TableInCT o) FLATBUFFERS_NOEXCEPT;
Austin Schuh272c6132020-11-14 16:37:52 -0800205};
206
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700207struct TableInC FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -0800208 typedef TableInCT NativeTableType;
209 typedef TableInCBuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700210 static const flatbuffers::TypeTable *MiniReflectTypeTable() {
211 return TableInCTypeTable();
212 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700213 static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
Austin Schuh272c6132020-11-14 16:37:52 -0800214 return "NamespaceC.TableInC";
215 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700216 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
217 VT_REFER_TO_A1 = 4,
218 VT_REFER_TO_A2 = 6
219 };
220 const NamespaceA::TableInFirstNS *refer_to_a1() const {
221 return GetPointer<const NamespaceA::TableInFirstNS *>(VT_REFER_TO_A1);
222 }
223 NamespaceA::TableInFirstNS *mutable_refer_to_a1() {
224 return GetPointer<NamespaceA::TableInFirstNS *>(VT_REFER_TO_A1);
225 }
226 const NamespaceA::SecondTableInA *refer_to_a2() const {
227 return GetPointer<const NamespaceA::SecondTableInA *>(VT_REFER_TO_A2);
228 }
229 NamespaceA::SecondTableInA *mutable_refer_to_a2() {
230 return GetPointer<NamespaceA::SecondTableInA *>(VT_REFER_TO_A2);
231 }
232 bool Verify(flatbuffers::Verifier &verifier) const {
233 return VerifyTableStart(verifier) &&
234 VerifyOffset(verifier, VT_REFER_TO_A1) &&
235 verifier.VerifyTable(refer_to_a1()) &&
236 VerifyOffset(verifier, VT_REFER_TO_A2) &&
237 verifier.VerifyTable(refer_to_a2()) &&
238 verifier.EndTable();
239 }
Austin Schuh272c6132020-11-14 16:37:52 -0800240 TableInCT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
241 void UnPackTo(TableInCT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
242 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 -0700243};
244
245struct TableInCBuilder {
Austin Schuh272c6132020-11-14 16:37:52 -0800246 typedef TableInC Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700247 flatbuffers::FlatBufferBuilder &fbb_;
248 flatbuffers::uoffset_t start_;
249 void add_refer_to_a1(flatbuffers::Offset<NamespaceA::TableInFirstNS> refer_to_a1) {
250 fbb_.AddOffset(TableInC::VT_REFER_TO_A1, refer_to_a1);
251 }
252 void add_refer_to_a2(flatbuffers::Offset<NamespaceA::SecondTableInA> refer_to_a2) {
253 fbb_.AddOffset(TableInC::VT_REFER_TO_A2, refer_to_a2);
254 }
255 explicit TableInCBuilder(flatbuffers::FlatBufferBuilder &_fbb)
256 : fbb_(_fbb) {
257 start_ = fbb_.StartTable();
258 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700259 flatbuffers::Offset<TableInC> Finish() {
260 const auto end = fbb_.EndTable(start_);
261 auto o = flatbuffers::Offset<TableInC>(end);
262 return o;
263 }
264};
265
266inline flatbuffers::Offset<TableInC> CreateTableInC(
267 flatbuffers::FlatBufferBuilder &_fbb,
268 flatbuffers::Offset<NamespaceA::TableInFirstNS> refer_to_a1 = 0,
269 flatbuffers::Offset<NamespaceA::SecondTableInA> refer_to_a2 = 0) {
270 TableInCBuilder builder_(_fbb);
271 builder_.add_refer_to_a2(refer_to_a2);
272 builder_.add_refer_to_a1(refer_to_a1);
273 return builder_.Finish();
274}
275
Austin Schuh272c6132020-11-14 16:37:52 -0800276flatbuffers::Offset<TableInC> CreateTableInC(flatbuffers::FlatBufferBuilder &_fbb, const TableInCT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
277
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700278} // namespace NamespaceC
279
280namespace NamespaceA {
281
Austin Schuh272c6132020-11-14 16:37:52 -0800282struct SecondTableInAT : public flatbuffers::NativeTable {
283 typedef SecondTableInA TableType;
James Kuszmaul8e62b022022-03-22 09:33:25 -0700284 static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
Austin Schuh272c6132020-11-14 16:37:52 -0800285 return "NamespaceA.SecondTableInAT";
286 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700287 flatbuffers::unique_ptr<NamespaceC::TableInCT> refer_to_c{};
288 SecondTableInAT() = default;
289 SecondTableInAT(const SecondTableInAT &o);
290 SecondTableInAT(SecondTableInAT&&) FLATBUFFERS_NOEXCEPT = default;
291 SecondTableInAT &operator=(SecondTableInAT o) FLATBUFFERS_NOEXCEPT;
Austin Schuh272c6132020-11-14 16:37:52 -0800292};
293
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700294struct SecondTableInA FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -0800295 typedef SecondTableInAT NativeTableType;
296 typedef SecondTableInABuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700297 static const flatbuffers::TypeTable *MiniReflectTypeTable() {
298 return SecondTableInATypeTable();
299 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700300 static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
Austin Schuh272c6132020-11-14 16:37:52 -0800301 return "NamespaceA.SecondTableInA";
302 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700303 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
304 VT_REFER_TO_C = 4
305 };
306 const NamespaceC::TableInC *refer_to_c() const {
307 return GetPointer<const NamespaceC::TableInC *>(VT_REFER_TO_C);
308 }
309 NamespaceC::TableInC *mutable_refer_to_c() {
310 return GetPointer<NamespaceC::TableInC *>(VT_REFER_TO_C);
311 }
312 bool Verify(flatbuffers::Verifier &verifier) const {
313 return VerifyTableStart(verifier) &&
314 VerifyOffset(verifier, VT_REFER_TO_C) &&
315 verifier.VerifyTable(refer_to_c()) &&
316 verifier.EndTable();
317 }
Austin Schuh272c6132020-11-14 16:37:52 -0800318 SecondTableInAT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
319 void UnPackTo(SecondTableInAT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
320 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 -0700321};
322
323struct SecondTableInABuilder {
Austin Schuh272c6132020-11-14 16:37:52 -0800324 typedef SecondTableInA Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700325 flatbuffers::FlatBufferBuilder &fbb_;
326 flatbuffers::uoffset_t start_;
327 void add_refer_to_c(flatbuffers::Offset<NamespaceC::TableInC> refer_to_c) {
328 fbb_.AddOffset(SecondTableInA::VT_REFER_TO_C, refer_to_c);
329 }
330 explicit SecondTableInABuilder(flatbuffers::FlatBufferBuilder &_fbb)
331 : fbb_(_fbb) {
332 start_ = fbb_.StartTable();
333 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700334 flatbuffers::Offset<SecondTableInA> Finish() {
335 const auto end = fbb_.EndTable(start_);
336 auto o = flatbuffers::Offset<SecondTableInA>(end);
337 return o;
338 }
339};
340
341inline flatbuffers::Offset<SecondTableInA> CreateSecondTableInA(
342 flatbuffers::FlatBufferBuilder &_fbb,
343 flatbuffers::Offset<NamespaceC::TableInC> refer_to_c = 0) {
344 SecondTableInABuilder builder_(_fbb);
345 builder_.add_refer_to_c(refer_to_c);
346 return builder_.Finish();
347}
348
Austin Schuh272c6132020-11-14 16:37:52 -0800349flatbuffers::Offset<SecondTableInA> CreateSecondTableInA(flatbuffers::FlatBufferBuilder &_fbb, const SecondTableInAT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
350
James Kuszmaul8e62b022022-03-22 09:33:25 -0700351
352inline bool operator==(const TableInFirstNST &lhs, const TableInFirstNST &rhs) {
353 return
354 ((lhs.foo_table == rhs.foo_table) || (lhs.foo_table && rhs.foo_table && *lhs.foo_table == *rhs.foo_table)) &&
355 (lhs.foo_enum == rhs.foo_enum) &&
356 (lhs.foo_union == rhs.foo_union) &&
357 ((lhs.foo_struct == rhs.foo_struct) || (lhs.foo_struct && rhs.foo_struct && *lhs.foo_struct == *rhs.foo_struct));
358}
359
360inline bool operator!=(const TableInFirstNST &lhs, const TableInFirstNST &rhs) {
361 return !(lhs == rhs);
362}
363
364
365inline TableInFirstNST::TableInFirstNST(const TableInFirstNST &o)
366 : foo_table((o.foo_table) ? new NamespaceA::NamespaceB::TableInNestedNST(*o.foo_table) : nullptr),
367 foo_enum(o.foo_enum),
368 foo_union(o.foo_union),
369 foo_struct((o.foo_struct) ? new NamespaceA::NamespaceB::StructInNestedNS(*o.foo_struct) : nullptr) {
370}
371
372inline TableInFirstNST &TableInFirstNST::operator=(TableInFirstNST o) FLATBUFFERS_NOEXCEPT {
373 std::swap(foo_table, o.foo_table);
374 std::swap(foo_enum, o.foo_enum);
375 std::swap(foo_union, o.foo_union);
376 std::swap(foo_struct, o.foo_struct);
377 return *this;
378}
379
Austin Schuh272c6132020-11-14 16:37:52 -0800380inline TableInFirstNST *TableInFirstNS::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700381 auto _o = std::unique_ptr<TableInFirstNST>(new TableInFirstNST());
Austin Schuh272c6132020-11-14 16:37:52 -0800382 UnPackTo(_o.get(), _resolver);
383 return _o.release();
384}
385
386inline void TableInFirstNS::UnPackTo(TableInFirstNST *_o, const flatbuffers::resolver_function_t *_resolver) const {
387 (void)_o;
388 (void)_resolver;
James Kuszmaul8e62b022022-03-22 09:33:25 -0700389 { auto _e = foo_table(); if (_e) { if(_o->foo_table) { _e->UnPackTo(_o->foo_table.get(), _resolver); } else { _o->foo_table = flatbuffers::unique_ptr<NamespaceA::NamespaceB::TableInNestedNST>(_e->UnPack(_resolver)); } } }
Austin Schuh272c6132020-11-14 16:37:52 -0800390 { auto _e = foo_enum(); _o->foo_enum = _e; }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700391 { auto _e = foo_union_type(); _o->foo_union.type = _e; }
392 { auto _e = foo_union(); if (_e) _o->foo_union.value = NamespaceA::NamespaceB::UnionInNestedNSUnion::UnPack(_e, foo_union_type(), _resolver); }
Austin Schuh272c6132020-11-14 16:37:52 -0800393 { auto _e = foo_struct(); if (_e) _o->foo_struct = flatbuffers::unique_ptr<NamespaceA::NamespaceB::StructInNestedNS>(new NamespaceA::NamespaceB::StructInNestedNS(*_e)); }
394}
395
396inline flatbuffers::Offset<TableInFirstNS> TableInFirstNS::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TableInFirstNST* _o, const flatbuffers::rehasher_function_t *_rehasher) {
397 return CreateTableInFirstNS(_fbb, _o, _rehasher);
398}
399
400inline flatbuffers::Offset<TableInFirstNS> CreateTableInFirstNS(flatbuffers::FlatBufferBuilder &_fbb, const TableInFirstNST *_o, const flatbuffers::rehasher_function_t *_rehasher) {
401 (void)_rehasher;
402 (void)_o;
403 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TableInFirstNST* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
404 auto _foo_table = _o->foo_table ? CreateTableInNestedNS(_fbb, _o->foo_table.get(), _rehasher) : 0;
405 auto _foo_enum = _o->foo_enum;
James Kuszmaul8e62b022022-03-22 09:33:25 -0700406 auto _foo_union_type = _o->foo_union.type;
407 auto _foo_union = _o->foo_union.Pack(_fbb);
Austin Schuh272c6132020-11-14 16:37:52 -0800408 auto _foo_struct = _o->foo_struct ? _o->foo_struct.get() : 0;
409 return NamespaceA::CreateTableInFirstNS(
410 _fbb,
411 _foo_table,
412 _foo_enum,
James Kuszmaul8e62b022022-03-22 09:33:25 -0700413 _foo_union_type,
414 _foo_union,
Austin Schuh272c6132020-11-14 16:37:52 -0800415 _foo_struct);
416}
417
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700418} // namespace NamespaceA
419
420namespace NamespaceC {
421
James Kuszmaul8e62b022022-03-22 09:33:25 -0700422
423inline bool operator==(const TableInCT &lhs, const TableInCT &rhs) {
424 return
425 ((lhs.refer_to_a1 == rhs.refer_to_a1) || (lhs.refer_to_a1 && rhs.refer_to_a1 && *lhs.refer_to_a1 == *rhs.refer_to_a1)) &&
426 ((lhs.refer_to_a2 == rhs.refer_to_a2) || (lhs.refer_to_a2 && rhs.refer_to_a2 && *lhs.refer_to_a2 == *rhs.refer_to_a2));
427}
428
429inline bool operator!=(const TableInCT &lhs, const TableInCT &rhs) {
430 return !(lhs == rhs);
431}
432
433
434inline TableInCT::TableInCT(const TableInCT &o)
435 : refer_to_a1((o.refer_to_a1) ? new NamespaceA::TableInFirstNST(*o.refer_to_a1) : nullptr),
436 refer_to_a2((o.refer_to_a2) ? new NamespaceA::SecondTableInAT(*o.refer_to_a2) : nullptr) {
437}
438
439inline TableInCT &TableInCT::operator=(TableInCT o) FLATBUFFERS_NOEXCEPT {
440 std::swap(refer_to_a1, o.refer_to_a1);
441 std::swap(refer_to_a2, o.refer_to_a2);
442 return *this;
443}
444
Austin Schuh272c6132020-11-14 16:37:52 -0800445inline TableInCT *TableInC::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700446 auto _o = std::unique_ptr<TableInCT>(new TableInCT());
Austin Schuh272c6132020-11-14 16:37:52 -0800447 UnPackTo(_o.get(), _resolver);
448 return _o.release();
449}
450
451inline void TableInC::UnPackTo(TableInCT *_o, const flatbuffers::resolver_function_t *_resolver) const {
452 (void)_o;
453 (void)_resolver;
James Kuszmaul8e62b022022-03-22 09:33:25 -0700454 { auto _e = refer_to_a1(); if (_e) { if(_o->refer_to_a1) { _e->UnPackTo(_o->refer_to_a1.get(), _resolver); } else { _o->refer_to_a1 = flatbuffers::unique_ptr<NamespaceA::TableInFirstNST>(_e->UnPack(_resolver)); } } }
455 { auto _e = refer_to_a2(); if (_e) { if(_o->refer_to_a2) { _e->UnPackTo(_o->refer_to_a2.get(), _resolver); } else { _o->refer_to_a2 = flatbuffers::unique_ptr<NamespaceA::SecondTableInAT>(_e->UnPack(_resolver)); } } }
Austin Schuh272c6132020-11-14 16:37:52 -0800456}
457
458inline flatbuffers::Offset<TableInC> TableInC::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TableInCT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
459 return CreateTableInC(_fbb, _o, _rehasher);
460}
461
462inline flatbuffers::Offset<TableInC> CreateTableInC(flatbuffers::FlatBufferBuilder &_fbb, const TableInCT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
463 (void)_rehasher;
464 (void)_o;
465 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TableInCT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
466 auto _refer_to_a1 = _o->refer_to_a1 ? CreateTableInFirstNS(_fbb, _o->refer_to_a1.get(), _rehasher) : 0;
467 auto _refer_to_a2 = _o->refer_to_a2 ? CreateSecondTableInA(_fbb, _o->refer_to_a2.get(), _rehasher) : 0;
468 return NamespaceC::CreateTableInC(
469 _fbb,
470 _refer_to_a1,
471 _refer_to_a2);
472}
473
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700474} // namespace NamespaceC
475
476namespace NamespaceA {
477
James Kuszmaul8e62b022022-03-22 09:33:25 -0700478
479inline bool operator==(const SecondTableInAT &lhs, const SecondTableInAT &rhs) {
480 return
481 ((lhs.refer_to_c == rhs.refer_to_c) || (lhs.refer_to_c && rhs.refer_to_c && *lhs.refer_to_c == *rhs.refer_to_c));
482}
483
484inline bool operator!=(const SecondTableInAT &lhs, const SecondTableInAT &rhs) {
485 return !(lhs == rhs);
486}
487
488
489inline SecondTableInAT::SecondTableInAT(const SecondTableInAT &o)
490 : refer_to_c((o.refer_to_c) ? new NamespaceC::TableInCT(*o.refer_to_c) : nullptr) {
491}
492
493inline SecondTableInAT &SecondTableInAT::operator=(SecondTableInAT o) FLATBUFFERS_NOEXCEPT {
494 std::swap(refer_to_c, o.refer_to_c);
495 return *this;
496}
497
Austin Schuh272c6132020-11-14 16:37:52 -0800498inline SecondTableInAT *SecondTableInA::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700499 auto _o = std::unique_ptr<SecondTableInAT>(new SecondTableInAT());
Austin Schuh272c6132020-11-14 16:37:52 -0800500 UnPackTo(_o.get(), _resolver);
501 return _o.release();
502}
503
504inline void SecondTableInA::UnPackTo(SecondTableInAT *_o, const flatbuffers::resolver_function_t *_resolver) const {
505 (void)_o;
506 (void)_resolver;
James Kuszmaul8e62b022022-03-22 09:33:25 -0700507 { auto _e = refer_to_c(); if (_e) { if(_o->refer_to_c) { _e->UnPackTo(_o->refer_to_c.get(), _resolver); } else { _o->refer_to_c = flatbuffers::unique_ptr<NamespaceC::TableInCT>(_e->UnPack(_resolver)); } } }
Austin Schuh272c6132020-11-14 16:37:52 -0800508}
509
510inline flatbuffers::Offset<SecondTableInA> SecondTableInA::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SecondTableInAT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
511 return CreateSecondTableInA(_fbb, _o, _rehasher);
512}
513
514inline flatbuffers::Offset<SecondTableInA> CreateSecondTableInA(flatbuffers::FlatBufferBuilder &_fbb, const SecondTableInAT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
515 (void)_rehasher;
516 (void)_o;
517 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SecondTableInAT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
518 auto _refer_to_c = _o->refer_to_c ? CreateTableInC(_fbb, _o->refer_to_c.get(), _rehasher) : 0;
519 return NamespaceA::CreateSecondTableInA(
520 _fbb,
521 _refer_to_c);
522}
523
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700524inline const flatbuffers::TypeTable *TableInFirstNSTypeTable() {
525 static const flatbuffers::TypeCode type_codes[] = {
526 { flatbuffers::ET_SEQUENCE, 0, 0 },
527 { flatbuffers::ET_CHAR, 0, 1 },
James Kuszmaul8e62b022022-03-22 09:33:25 -0700528 { flatbuffers::ET_UTYPE, 0, 2 },
529 { flatbuffers::ET_SEQUENCE, 0, 2 },
530 { flatbuffers::ET_SEQUENCE, 0, 3 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700531 };
532 static const flatbuffers::TypeFunction type_refs[] = {
533 NamespaceA::NamespaceB::TableInNestedNSTypeTable,
534 NamespaceA::NamespaceB::EnumInNestedNSTypeTable,
James Kuszmaul8e62b022022-03-22 09:33:25 -0700535 NamespaceA::NamespaceB::UnionInNestedNSTypeTable,
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700536 NamespaceA::NamespaceB::StructInNestedNSTypeTable
537 };
538 static const char * const names[] = {
539 "foo_table",
540 "foo_enum",
James Kuszmaul8e62b022022-03-22 09:33:25 -0700541 "foo_union_type",
542 "foo_union",
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700543 "foo_struct"
544 };
545 static const flatbuffers::TypeTable tt = {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700546 flatbuffers::ST_TABLE, 5, type_codes, type_refs, nullptr, nullptr, names
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700547 };
548 return &tt;
549}
550
551} // namespace NamespaceA
552
553namespace NamespaceC {
554
555inline const flatbuffers::TypeTable *TableInCTypeTable() {
556 static const flatbuffers::TypeCode type_codes[] = {
557 { flatbuffers::ET_SEQUENCE, 0, 0 },
558 { flatbuffers::ET_SEQUENCE, 0, 1 }
559 };
560 static const flatbuffers::TypeFunction type_refs[] = {
561 NamespaceA::TableInFirstNSTypeTable,
562 NamespaceA::SecondTableInATypeTable
563 };
564 static const char * const names[] = {
565 "refer_to_a1",
566 "refer_to_a2"
567 };
568 static const flatbuffers::TypeTable tt = {
Austin Schuh272c6132020-11-14 16:37:52 -0800569 flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, nullptr, names
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700570 };
571 return &tt;
572}
573
574} // namespace NamespaceC
575
576namespace NamespaceA {
577
578inline const flatbuffers::TypeTable *SecondTableInATypeTable() {
579 static const flatbuffers::TypeCode type_codes[] = {
580 { flatbuffers::ET_SEQUENCE, 0, 0 }
581 };
582 static const flatbuffers::TypeFunction type_refs[] = {
583 NamespaceC::TableInCTypeTable
584 };
585 static const char * const names[] = {
586 "refer_to_c"
587 };
588 static const flatbuffers::TypeTable tt = {
Austin Schuh272c6132020-11-14 16:37:52 -0800589 flatbuffers::ST_TABLE, 1, type_codes, type_refs, nullptr, nullptr, names
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700590 };
591 return &tt;
592}
593
594} // namespace NamespaceA
595
596#endif // FLATBUFFERS_GENERATED_NAMESPACETEST2_NAMESPACEA_H_