blob: 3d55c5e3cd6c313e31798879c812b0cff0335386 [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 Schuh2dd86a92022-09-14 21:19:23 -07009// Ensure the included flatbuffers.h is the same version as when this file was
10// generated, otherwise it may not be compatible.
James Kuszmaul3b15b0c2022-11-08 14:03:16 -080011static_assert(FLATBUFFERS_VERSION_MAJOR == 22 &&
12 FLATBUFFERS_VERSION_MINOR == 10 &&
13 FLATBUFFERS_VERSION_REVISION == 26,
Austin Schuh2dd86a92022-09-14 21:19:23 -070014 "Non-compatible flatbuffers version included");
15
Austin Schuhe89fa2d2019-08-14 20:24:23 -070016namespace NamespaceA {
17
18struct TableInFirstNS;
Austin Schuh272c6132020-11-14 16:37:52 -080019struct TableInFirstNSBuilder;
20struct TableInFirstNST;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070021
22} // namespace NamespaceA
23
24namespace NamespaceC {
25
26struct TableInC;
Austin Schuh272c6132020-11-14 16:37:52 -080027struct TableInCBuilder;
28struct TableInCT;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070029
30} // namespace NamespaceC
31
32namespace NamespaceA {
33
34struct SecondTableInA;
Austin Schuh272c6132020-11-14 16:37:52 -080035struct SecondTableInABuilder;
36struct SecondTableInAT;
37
38bool operator==(const TableInFirstNST &lhs, const TableInFirstNST &rhs);
39bool operator!=(const TableInFirstNST &lhs, const TableInFirstNST &rhs);
40} // namespace NamespaceA
41
42namespace NamespaceC {
43
44bool operator==(const TableInCT &lhs, const TableInCT &rhs);
45bool operator!=(const TableInCT &lhs, const TableInCT &rhs);
46} // namespace NamespaceC
47
48namespace NamespaceA {
49
50bool operator==(const SecondTableInAT &lhs, const SecondTableInAT &rhs);
51bool operator!=(const SecondTableInAT &lhs, const SecondTableInAT &rhs);
Austin Schuhe89fa2d2019-08-14 20:24:23 -070052
53inline const flatbuffers::TypeTable *TableInFirstNSTypeTable();
54
55} // namespace NamespaceA
56
57namespace NamespaceC {
58
59inline const flatbuffers::TypeTable *TableInCTypeTable();
60
61} // namespace NamespaceC
62
63namespace NamespaceA {
64
65inline const flatbuffers::TypeTable *SecondTableInATypeTable();
66
Austin Schuh272c6132020-11-14 16:37:52 -080067struct TableInFirstNST : public flatbuffers::NativeTable {
68 typedef TableInFirstNS TableType;
James Kuszmaul8e62b022022-03-22 09:33:25 -070069 static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
Austin Schuh272c6132020-11-14 16:37:52 -080070 return "NamespaceA.TableInFirstNST";
71 }
James Kuszmaul8e62b022022-03-22 09:33:25 -070072 flatbuffers::unique_ptr<NamespaceA::NamespaceB::TableInNestedNST> foo_table{};
73 NamespaceA::NamespaceB::EnumInNestedNS foo_enum = NamespaceA::NamespaceB::EnumInNestedNS_A;
74 NamespaceA::NamespaceB::UnionInNestedNSUnion foo_union{};
75 flatbuffers::unique_ptr<NamespaceA::NamespaceB::StructInNestedNS> foo_struct{};
76 TableInFirstNST() = default;
77 TableInFirstNST(const TableInFirstNST &o);
78 TableInFirstNST(TableInFirstNST&&) FLATBUFFERS_NOEXCEPT = default;
79 TableInFirstNST &operator=(TableInFirstNST o) FLATBUFFERS_NOEXCEPT;
Austin Schuh272c6132020-11-14 16:37:52 -080080};
81
Austin Schuhe89fa2d2019-08-14 20:24:23 -070082struct TableInFirstNS FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -080083 typedef TableInFirstNST NativeTableType;
84 typedef TableInFirstNSBuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070085 static const flatbuffers::TypeTable *MiniReflectTypeTable() {
86 return TableInFirstNSTypeTable();
87 }
James Kuszmaul8e62b022022-03-22 09:33:25 -070088 static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
Austin Schuh272c6132020-11-14 16:37:52 -080089 return "NamespaceA.TableInFirstNS";
90 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -070091 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
92 VT_FOO_TABLE = 4,
93 VT_FOO_ENUM = 6,
James Kuszmaul8e62b022022-03-22 09:33:25 -070094 VT_FOO_UNION_TYPE = 8,
95 VT_FOO_UNION = 10,
96 VT_FOO_STRUCT = 12
Austin Schuhe89fa2d2019-08-14 20:24:23 -070097 };
98 const NamespaceA::NamespaceB::TableInNestedNS *foo_table() const {
99 return GetPointer<const NamespaceA::NamespaceB::TableInNestedNS *>(VT_FOO_TABLE);
100 }
101 NamespaceA::NamespaceB::TableInNestedNS *mutable_foo_table() {
102 return GetPointer<NamespaceA::NamespaceB::TableInNestedNS *>(VT_FOO_TABLE);
103 }
104 NamespaceA::NamespaceB::EnumInNestedNS foo_enum() const {
105 return static_cast<NamespaceA::NamespaceB::EnumInNestedNS>(GetField<int8_t>(VT_FOO_ENUM, 0));
106 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700107 bool mutate_foo_enum(NamespaceA::NamespaceB::EnumInNestedNS _foo_enum = static_cast<NamespaceA::NamespaceB::EnumInNestedNS>(0)) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700108 return SetField<int8_t>(VT_FOO_ENUM, static_cast<int8_t>(_foo_enum), 0);
109 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700110 NamespaceA::NamespaceB::UnionInNestedNS foo_union_type() const {
111 return static_cast<NamespaceA::NamespaceB::UnionInNestedNS>(GetField<uint8_t>(VT_FOO_UNION_TYPE, 0));
112 }
113 const void *foo_union() const {
114 return GetPointer<const void *>(VT_FOO_UNION);
115 }
116 template<typename T> const T *foo_union_as() const;
117 const NamespaceA::NamespaceB::TableInNestedNS *foo_union_as_TableInNestedNS() const {
118 return foo_union_type() == NamespaceA::NamespaceB::UnionInNestedNS_TableInNestedNS ? static_cast<const NamespaceA::NamespaceB::TableInNestedNS *>(foo_union()) : nullptr;
119 }
120 void *mutable_foo_union() {
121 return GetPointer<void *>(VT_FOO_UNION);
122 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700123 const NamespaceA::NamespaceB::StructInNestedNS *foo_struct() const {
124 return GetStruct<const NamespaceA::NamespaceB::StructInNestedNS *>(VT_FOO_STRUCT);
125 }
126 NamespaceA::NamespaceB::StructInNestedNS *mutable_foo_struct() {
127 return GetStruct<NamespaceA::NamespaceB::StructInNestedNS *>(VT_FOO_STRUCT);
128 }
129 bool Verify(flatbuffers::Verifier &verifier) const {
130 return VerifyTableStart(verifier) &&
131 VerifyOffset(verifier, VT_FOO_TABLE) &&
132 verifier.VerifyTable(foo_table()) &&
James Kuszmaul8e62b022022-03-22 09:33:25 -0700133 VerifyField<int8_t>(verifier, VT_FOO_ENUM, 1) &&
134 VerifyField<uint8_t>(verifier, VT_FOO_UNION_TYPE, 1) &&
135 VerifyOffset(verifier, VT_FOO_UNION) &&
136 VerifyUnionInNestedNS(verifier, foo_union(), foo_union_type()) &&
137 VerifyField<NamespaceA::NamespaceB::StructInNestedNS>(verifier, VT_FOO_STRUCT, 4) &&
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700138 verifier.EndTable();
139 }
Austin Schuh272c6132020-11-14 16:37:52 -0800140 TableInFirstNST *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
141 void UnPackTo(TableInFirstNST *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
142 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 -0700143};
144
James Kuszmaul8e62b022022-03-22 09:33:25 -0700145template<> inline const NamespaceA::NamespaceB::TableInNestedNS *TableInFirstNS::foo_union_as<NamespaceA::NamespaceB::TableInNestedNS>() const {
146 return foo_union_as_TableInNestedNS();
147}
148
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700149struct TableInFirstNSBuilder {
Austin Schuh272c6132020-11-14 16:37:52 -0800150 typedef TableInFirstNS Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700151 flatbuffers::FlatBufferBuilder &fbb_;
152 flatbuffers::uoffset_t start_;
153 void add_foo_table(flatbuffers::Offset<NamespaceA::NamespaceB::TableInNestedNS> foo_table) {
154 fbb_.AddOffset(TableInFirstNS::VT_FOO_TABLE, foo_table);
155 }
156 void add_foo_enum(NamespaceA::NamespaceB::EnumInNestedNS foo_enum) {
157 fbb_.AddElement<int8_t>(TableInFirstNS::VT_FOO_ENUM, static_cast<int8_t>(foo_enum), 0);
158 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700159 void add_foo_union_type(NamespaceA::NamespaceB::UnionInNestedNS foo_union_type) {
160 fbb_.AddElement<uint8_t>(TableInFirstNS::VT_FOO_UNION_TYPE, static_cast<uint8_t>(foo_union_type), 0);
161 }
162 void add_foo_union(flatbuffers::Offset<void> foo_union) {
163 fbb_.AddOffset(TableInFirstNS::VT_FOO_UNION, foo_union);
164 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700165 void add_foo_struct(const NamespaceA::NamespaceB::StructInNestedNS *foo_struct) {
166 fbb_.AddStruct(TableInFirstNS::VT_FOO_STRUCT, foo_struct);
167 }
168 explicit TableInFirstNSBuilder(flatbuffers::FlatBufferBuilder &_fbb)
169 : fbb_(_fbb) {
170 start_ = fbb_.StartTable();
171 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700172 flatbuffers::Offset<TableInFirstNS> Finish() {
173 const auto end = fbb_.EndTable(start_);
174 auto o = flatbuffers::Offset<TableInFirstNS>(end);
175 return o;
176 }
177};
178
179inline flatbuffers::Offset<TableInFirstNS> CreateTableInFirstNS(
180 flatbuffers::FlatBufferBuilder &_fbb,
181 flatbuffers::Offset<NamespaceA::NamespaceB::TableInNestedNS> foo_table = 0,
182 NamespaceA::NamespaceB::EnumInNestedNS foo_enum = NamespaceA::NamespaceB::EnumInNestedNS_A,
James Kuszmaul8e62b022022-03-22 09:33:25 -0700183 NamespaceA::NamespaceB::UnionInNestedNS foo_union_type = NamespaceA::NamespaceB::UnionInNestedNS_NONE,
184 flatbuffers::Offset<void> foo_union = 0,
185 const NamespaceA::NamespaceB::StructInNestedNS *foo_struct = nullptr) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700186 TableInFirstNSBuilder builder_(_fbb);
187 builder_.add_foo_struct(foo_struct);
James Kuszmaul8e62b022022-03-22 09:33:25 -0700188 builder_.add_foo_union(foo_union);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700189 builder_.add_foo_table(foo_table);
James Kuszmaul8e62b022022-03-22 09:33:25 -0700190 builder_.add_foo_union_type(foo_union_type);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700191 builder_.add_foo_enum(foo_enum);
192 return builder_.Finish();
193}
194
Austin Schuh272c6132020-11-14 16:37:52 -0800195flatbuffers::Offset<TableInFirstNS> CreateTableInFirstNS(flatbuffers::FlatBufferBuilder &_fbb, const TableInFirstNST *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
196
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700197} // namespace NamespaceA
198
199namespace NamespaceC {
200
Austin Schuh272c6132020-11-14 16:37:52 -0800201struct TableInCT : public flatbuffers::NativeTable {
202 typedef TableInC TableType;
James Kuszmaul8e62b022022-03-22 09:33:25 -0700203 static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
Austin Schuh272c6132020-11-14 16:37:52 -0800204 return "NamespaceC.TableInCT";
205 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700206 flatbuffers::unique_ptr<NamespaceA::TableInFirstNST> refer_to_a1{};
207 flatbuffers::unique_ptr<NamespaceA::SecondTableInAT> refer_to_a2{};
208 TableInCT() = default;
209 TableInCT(const TableInCT &o);
210 TableInCT(TableInCT&&) FLATBUFFERS_NOEXCEPT = default;
211 TableInCT &operator=(TableInCT o) FLATBUFFERS_NOEXCEPT;
Austin Schuh272c6132020-11-14 16:37:52 -0800212};
213
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700214struct TableInC FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -0800215 typedef TableInCT NativeTableType;
216 typedef TableInCBuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700217 static const flatbuffers::TypeTable *MiniReflectTypeTable() {
218 return TableInCTypeTable();
219 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700220 static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
Austin Schuh272c6132020-11-14 16:37:52 -0800221 return "NamespaceC.TableInC";
222 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700223 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
224 VT_REFER_TO_A1 = 4,
225 VT_REFER_TO_A2 = 6
226 };
227 const NamespaceA::TableInFirstNS *refer_to_a1() const {
228 return GetPointer<const NamespaceA::TableInFirstNS *>(VT_REFER_TO_A1);
229 }
230 NamespaceA::TableInFirstNS *mutable_refer_to_a1() {
231 return GetPointer<NamespaceA::TableInFirstNS *>(VT_REFER_TO_A1);
232 }
233 const NamespaceA::SecondTableInA *refer_to_a2() const {
234 return GetPointer<const NamespaceA::SecondTableInA *>(VT_REFER_TO_A2);
235 }
236 NamespaceA::SecondTableInA *mutable_refer_to_a2() {
237 return GetPointer<NamespaceA::SecondTableInA *>(VT_REFER_TO_A2);
238 }
239 bool Verify(flatbuffers::Verifier &verifier) const {
240 return VerifyTableStart(verifier) &&
241 VerifyOffset(verifier, VT_REFER_TO_A1) &&
242 verifier.VerifyTable(refer_to_a1()) &&
243 VerifyOffset(verifier, VT_REFER_TO_A2) &&
244 verifier.VerifyTable(refer_to_a2()) &&
245 verifier.EndTable();
246 }
Austin Schuh272c6132020-11-14 16:37:52 -0800247 TableInCT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
248 void UnPackTo(TableInCT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
249 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 -0700250};
251
252struct TableInCBuilder {
Austin Schuh272c6132020-11-14 16:37:52 -0800253 typedef TableInC Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700254 flatbuffers::FlatBufferBuilder &fbb_;
255 flatbuffers::uoffset_t start_;
256 void add_refer_to_a1(flatbuffers::Offset<NamespaceA::TableInFirstNS> refer_to_a1) {
257 fbb_.AddOffset(TableInC::VT_REFER_TO_A1, refer_to_a1);
258 }
259 void add_refer_to_a2(flatbuffers::Offset<NamespaceA::SecondTableInA> refer_to_a2) {
260 fbb_.AddOffset(TableInC::VT_REFER_TO_A2, refer_to_a2);
261 }
262 explicit TableInCBuilder(flatbuffers::FlatBufferBuilder &_fbb)
263 : fbb_(_fbb) {
264 start_ = fbb_.StartTable();
265 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700266 flatbuffers::Offset<TableInC> Finish() {
267 const auto end = fbb_.EndTable(start_);
268 auto o = flatbuffers::Offset<TableInC>(end);
269 return o;
270 }
271};
272
273inline flatbuffers::Offset<TableInC> CreateTableInC(
274 flatbuffers::FlatBufferBuilder &_fbb,
275 flatbuffers::Offset<NamespaceA::TableInFirstNS> refer_to_a1 = 0,
276 flatbuffers::Offset<NamespaceA::SecondTableInA> refer_to_a2 = 0) {
277 TableInCBuilder builder_(_fbb);
278 builder_.add_refer_to_a2(refer_to_a2);
279 builder_.add_refer_to_a1(refer_to_a1);
280 return builder_.Finish();
281}
282
Austin Schuh272c6132020-11-14 16:37:52 -0800283flatbuffers::Offset<TableInC> CreateTableInC(flatbuffers::FlatBufferBuilder &_fbb, const TableInCT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
284
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700285} // namespace NamespaceC
286
287namespace NamespaceA {
288
Austin Schuh272c6132020-11-14 16:37:52 -0800289struct SecondTableInAT : public flatbuffers::NativeTable {
290 typedef SecondTableInA TableType;
James Kuszmaul8e62b022022-03-22 09:33:25 -0700291 static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
Austin Schuh272c6132020-11-14 16:37:52 -0800292 return "NamespaceA.SecondTableInAT";
293 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700294 flatbuffers::unique_ptr<NamespaceC::TableInCT> refer_to_c{};
295 SecondTableInAT() = default;
296 SecondTableInAT(const SecondTableInAT &o);
297 SecondTableInAT(SecondTableInAT&&) FLATBUFFERS_NOEXCEPT = default;
298 SecondTableInAT &operator=(SecondTableInAT o) FLATBUFFERS_NOEXCEPT;
Austin Schuh272c6132020-11-14 16:37:52 -0800299};
300
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700301struct SecondTableInA FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -0800302 typedef SecondTableInAT NativeTableType;
303 typedef SecondTableInABuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700304 static const flatbuffers::TypeTable *MiniReflectTypeTable() {
305 return SecondTableInATypeTable();
306 }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700307 static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
Austin Schuh272c6132020-11-14 16:37:52 -0800308 return "NamespaceA.SecondTableInA";
309 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700310 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
311 VT_REFER_TO_C = 4
312 };
313 const NamespaceC::TableInC *refer_to_c() const {
314 return GetPointer<const NamespaceC::TableInC *>(VT_REFER_TO_C);
315 }
316 NamespaceC::TableInC *mutable_refer_to_c() {
317 return GetPointer<NamespaceC::TableInC *>(VT_REFER_TO_C);
318 }
319 bool Verify(flatbuffers::Verifier &verifier) const {
320 return VerifyTableStart(verifier) &&
321 VerifyOffset(verifier, VT_REFER_TO_C) &&
322 verifier.VerifyTable(refer_to_c()) &&
323 verifier.EndTable();
324 }
Austin Schuh272c6132020-11-14 16:37:52 -0800325 SecondTableInAT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
326 void UnPackTo(SecondTableInAT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
327 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 -0700328};
329
330struct SecondTableInABuilder {
Austin Schuh272c6132020-11-14 16:37:52 -0800331 typedef SecondTableInA Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700332 flatbuffers::FlatBufferBuilder &fbb_;
333 flatbuffers::uoffset_t start_;
334 void add_refer_to_c(flatbuffers::Offset<NamespaceC::TableInC> refer_to_c) {
335 fbb_.AddOffset(SecondTableInA::VT_REFER_TO_C, refer_to_c);
336 }
337 explicit SecondTableInABuilder(flatbuffers::FlatBufferBuilder &_fbb)
338 : fbb_(_fbb) {
339 start_ = fbb_.StartTable();
340 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700341 flatbuffers::Offset<SecondTableInA> Finish() {
342 const auto end = fbb_.EndTable(start_);
343 auto o = flatbuffers::Offset<SecondTableInA>(end);
344 return o;
345 }
346};
347
348inline flatbuffers::Offset<SecondTableInA> CreateSecondTableInA(
349 flatbuffers::FlatBufferBuilder &_fbb,
350 flatbuffers::Offset<NamespaceC::TableInC> refer_to_c = 0) {
351 SecondTableInABuilder builder_(_fbb);
352 builder_.add_refer_to_c(refer_to_c);
353 return builder_.Finish();
354}
355
Austin Schuh272c6132020-11-14 16:37:52 -0800356flatbuffers::Offset<SecondTableInA> CreateSecondTableInA(flatbuffers::FlatBufferBuilder &_fbb, const SecondTableInAT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
357
James Kuszmaul8e62b022022-03-22 09:33:25 -0700358
359inline bool operator==(const TableInFirstNST &lhs, const TableInFirstNST &rhs) {
360 return
361 ((lhs.foo_table == rhs.foo_table) || (lhs.foo_table && rhs.foo_table && *lhs.foo_table == *rhs.foo_table)) &&
362 (lhs.foo_enum == rhs.foo_enum) &&
363 (lhs.foo_union == rhs.foo_union) &&
364 ((lhs.foo_struct == rhs.foo_struct) || (lhs.foo_struct && rhs.foo_struct && *lhs.foo_struct == *rhs.foo_struct));
365}
366
367inline bool operator!=(const TableInFirstNST &lhs, const TableInFirstNST &rhs) {
368 return !(lhs == rhs);
369}
370
371
372inline TableInFirstNST::TableInFirstNST(const TableInFirstNST &o)
373 : foo_table((o.foo_table) ? new NamespaceA::NamespaceB::TableInNestedNST(*o.foo_table) : nullptr),
374 foo_enum(o.foo_enum),
375 foo_union(o.foo_union),
376 foo_struct((o.foo_struct) ? new NamespaceA::NamespaceB::StructInNestedNS(*o.foo_struct) : nullptr) {
377}
378
379inline TableInFirstNST &TableInFirstNST::operator=(TableInFirstNST o) FLATBUFFERS_NOEXCEPT {
380 std::swap(foo_table, o.foo_table);
381 std::swap(foo_enum, o.foo_enum);
382 std::swap(foo_union, o.foo_union);
383 std::swap(foo_struct, o.foo_struct);
384 return *this;
385}
386
Austin Schuh272c6132020-11-14 16:37:52 -0800387inline TableInFirstNST *TableInFirstNS::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700388 auto _o = std::unique_ptr<TableInFirstNST>(new TableInFirstNST());
Austin Schuh272c6132020-11-14 16:37:52 -0800389 UnPackTo(_o.get(), _resolver);
390 return _o.release();
391}
392
393inline void TableInFirstNS::UnPackTo(TableInFirstNST *_o, const flatbuffers::resolver_function_t *_resolver) const {
394 (void)_o;
395 (void)_resolver;
Austin Schuh2dd86a92022-09-14 21:19:23 -0700396 { 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)); } } else if (_o->foo_table) { _o->foo_table.reset(); } }
Austin Schuh272c6132020-11-14 16:37:52 -0800397 { auto _e = foo_enum(); _o->foo_enum = _e; }
James Kuszmaul8e62b022022-03-22 09:33:25 -0700398 { auto _e = foo_union_type(); _o->foo_union.type = _e; }
399 { 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 -0800400 { auto _e = foo_struct(); if (_e) _o->foo_struct = flatbuffers::unique_ptr<NamespaceA::NamespaceB::StructInNestedNS>(new NamespaceA::NamespaceB::StructInNestedNS(*_e)); }
401}
402
403inline flatbuffers::Offset<TableInFirstNS> TableInFirstNS::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TableInFirstNST* _o, const flatbuffers::rehasher_function_t *_rehasher) {
404 return CreateTableInFirstNS(_fbb, _o, _rehasher);
405}
406
407inline flatbuffers::Offset<TableInFirstNS> CreateTableInFirstNS(flatbuffers::FlatBufferBuilder &_fbb, const TableInFirstNST *_o, const flatbuffers::rehasher_function_t *_rehasher) {
408 (void)_rehasher;
409 (void)_o;
410 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TableInFirstNST* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
411 auto _foo_table = _o->foo_table ? CreateTableInNestedNS(_fbb, _o->foo_table.get(), _rehasher) : 0;
412 auto _foo_enum = _o->foo_enum;
James Kuszmaul8e62b022022-03-22 09:33:25 -0700413 auto _foo_union_type = _o->foo_union.type;
414 auto _foo_union = _o->foo_union.Pack(_fbb);
Austin Schuh2dd86a92022-09-14 21:19:23 -0700415 auto _foo_struct = _o->foo_struct ? _o->foo_struct.get() : nullptr;
Austin Schuh272c6132020-11-14 16:37:52 -0800416 return NamespaceA::CreateTableInFirstNS(
417 _fbb,
418 _foo_table,
419 _foo_enum,
James Kuszmaul8e62b022022-03-22 09:33:25 -0700420 _foo_union_type,
421 _foo_union,
Austin Schuh272c6132020-11-14 16:37:52 -0800422 _foo_struct);
423}
424
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700425} // namespace NamespaceA
426
427namespace NamespaceC {
428
James Kuszmaul8e62b022022-03-22 09:33:25 -0700429
430inline bool operator==(const TableInCT &lhs, const TableInCT &rhs) {
431 return
432 ((lhs.refer_to_a1 == rhs.refer_to_a1) || (lhs.refer_to_a1 && rhs.refer_to_a1 && *lhs.refer_to_a1 == *rhs.refer_to_a1)) &&
433 ((lhs.refer_to_a2 == rhs.refer_to_a2) || (lhs.refer_to_a2 && rhs.refer_to_a2 && *lhs.refer_to_a2 == *rhs.refer_to_a2));
434}
435
436inline bool operator!=(const TableInCT &lhs, const TableInCT &rhs) {
437 return !(lhs == rhs);
438}
439
440
441inline TableInCT::TableInCT(const TableInCT &o)
442 : refer_to_a1((o.refer_to_a1) ? new NamespaceA::TableInFirstNST(*o.refer_to_a1) : nullptr),
443 refer_to_a2((o.refer_to_a2) ? new NamespaceA::SecondTableInAT(*o.refer_to_a2) : nullptr) {
444}
445
446inline TableInCT &TableInCT::operator=(TableInCT o) FLATBUFFERS_NOEXCEPT {
447 std::swap(refer_to_a1, o.refer_to_a1);
448 std::swap(refer_to_a2, o.refer_to_a2);
449 return *this;
450}
451
Austin Schuh272c6132020-11-14 16:37:52 -0800452inline TableInCT *TableInC::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700453 auto _o = std::unique_ptr<TableInCT>(new TableInCT());
Austin Schuh272c6132020-11-14 16:37:52 -0800454 UnPackTo(_o.get(), _resolver);
455 return _o.release();
456}
457
458inline void TableInC::UnPackTo(TableInCT *_o, const flatbuffers::resolver_function_t *_resolver) const {
459 (void)_o;
460 (void)_resolver;
Austin Schuh2dd86a92022-09-14 21:19:23 -0700461 { 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)); } } else if (_o->refer_to_a1) { _o->refer_to_a1.reset(); } }
462 { 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)); } } else if (_o->refer_to_a2) { _o->refer_to_a2.reset(); } }
Austin Schuh272c6132020-11-14 16:37:52 -0800463}
464
465inline flatbuffers::Offset<TableInC> TableInC::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TableInCT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
466 return CreateTableInC(_fbb, _o, _rehasher);
467}
468
469inline flatbuffers::Offset<TableInC> CreateTableInC(flatbuffers::FlatBufferBuilder &_fbb, const TableInCT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
470 (void)_rehasher;
471 (void)_o;
472 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TableInCT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
473 auto _refer_to_a1 = _o->refer_to_a1 ? CreateTableInFirstNS(_fbb, _o->refer_to_a1.get(), _rehasher) : 0;
474 auto _refer_to_a2 = _o->refer_to_a2 ? CreateSecondTableInA(_fbb, _o->refer_to_a2.get(), _rehasher) : 0;
475 return NamespaceC::CreateTableInC(
476 _fbb,
477 _refer_to_a1,
478 _refer_to_a2);
479}
480
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700481} // namespace NamespaceC
482
483namespace NamespaceA {
484
James Kuszmaul8e62b022022-03-22 09:33:25 -0700485
486inline bool operator==(const SecondTableInAT &lhs, const SecondTableInAT &rhs) {
487 return
488 ((lhs.refer_to_c == rhs.refer_to_c) || (lhs.refer_to_c && rhs.refer_to_c && *lhs.refer_to_c == *rhs.refer_to_c));
489}
490
491inline bool operator!=(const SecondTableInAT &lhs, const SecondTableInAT &rhs) {
492 return !(lhs == rhs);
493}
494
495
496inline SecondTableInAT::SecondTableInAT(const SecondTableInAT &o)
497 : refer_to_c((o.refer_to_c) ? new NamespaceC::TableInCT(*o.refer_to_c) : nullptr) {
498}
499
500inline SecondTableInAT &SecondTableInAT::operator=(SecondTableInAT o) FLATBUFFERS_NOEXCEPT {
501 std::swap(refer_to_c, o.refer_to_c);
502 return *this;
503}
504
Austin Schuh272c6132020-11-14 16:37:52 -0800505inline SecondTableInAT *SecondTableInA::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700506 auto _o = std::unique_ptr<SecondTableInAT>(new SecondTableInAT());
Austin Schuh272c6132020-11-14 16:37:52 -0800507 UnPackTo(_o.get(), _resolver);
508 return _o.release();
509}
510
511inline void SecondTableInA::UnPackTo(SecondTableInAT *_o, const flatbuffers::resolver_function_t *_resolver) const {
512 (void)_o;
513 (void)_resolver;
Austin Schuh2dd86a92022-09-14 21:19:23 -0700514 { 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)); } } else if (_o->refer_to_c) { _o->refer_to_c.reset(); } }
Austin Schuh272c6132020-11-14 16:37:52 -0800515}
516
517inline flatbuffers::Offset<SecondTableInA> SecondTableInA::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SecondTableInAT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
518 return CreateSecondTableInA(_fbb, _o, _rehasher);
519}
520
521inline flatbuffers::Offset<SecondTableInA> CreateSecondTableInA(flatbuffers::FlatBufferBuilder &_fbb, const SecondTableInAT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
522 (void)_rehasher;
523 (void)_o;
524 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SecondTableInAT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
525 auto _refer_to_c = _o->refer_to_c ? CreateTableInC(_fbb, _o->refer_to_c.get(), _rehasher) : 0;
526 return NamespaceA::CreateSecondTableInA(
527 _fbb,
528 _refer_to_c);
529}
530
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700531inline const flatbuffers::TypeTable *TableInFirstNSTypeTable() {
532 static const flatbuffers::TypeCode type_codes[] = {
533 { flatbuffers::ET_SEQUENCE, 0, 0 },
534 { flatbuffers::ET_CHAR, 0, 1 },
James Kuszmaul8e62b022022-03-22 09:33:25 -0700535 { flatbuffers::ET_UTYPE, 0, 2 },
536 { flatbuffers::ET_SEQUENCE, 0, 2 },
537 { flatbuffers::ET_SEQUENCE, 0, 3 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700538 };
539 static const flatbuffers::TypeFunction type_refs[] = {
540 NamespaceA::NamespaceB::TableInNestedNSTypeTable,
541 NamespaceA::NamespaceB::EnumInNestedNSTypeTable,
James Kuszmaul8e62b022022-03-22 09:33:25 -0700542 NamespaceA::NamespaceB::UnionInNestedNSTypeTable,
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700543 NamespaceA::NamespaceB::StructInNestedNSTypeTable
544 };
545 static const char * const names[] = {
546 "foo_table",
547 "foo_enum",
James Kuszmaul8e62b022022-03-22 09:33:25 -0700548 "foo_union_type",
549 "foo_union",
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700550 "foo_struct"
551 };
552 static const flatbuffers::TypeTable tt = {
James Kuszmaul8e62b022022-03-22 09:33:25 -0700553 flatbuffers::ST_TABLE, 5, type_codes, type_refs, nullptr, nullptr, names
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700554 };
555 return &tt;
556}
557
558} // namespace NamespaceA
559
560namespace NamespaceC {
561
562inline const flatbuffers::TypeTable *TableInCTypeTable() {
563 static const flatbuffers::TypeCode type_codes[] = {
564 { flatbuffers::ET_SEQUENCE, 0, 0 },
565 { flatbuffers::ET_SEQUENCE, 0, 1 }
566 };
567 static const flatbuffers::TypeFunction type_refs[] = {
568 NamespaceA::TableInFirstNSTypeTable,
569 NamespaceA::SecondTableInATypeTable
570 };
571 static const char * const names[] = {
572 "refer_to_a1",
573 "refer_to_a2"
574 };
575 static const flatbuffers::TypeTable tt = {
Austin Schuh272c6132020-11-14 16:37:52 -0800576 flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, nullptr, names
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700577 };
578 return &tt;
579}
580
581} // namespace NamespaceC
582
583namespace NamespaceA {
584
585inline const flatbuffers::TypeTable *SecondTableInATypeTable() {
586 static const flatbuffers::TypeCode type_codes[] = {
587 { flatbuffers::ET_SEQUENCE, 0, 0 }
588 };
589 static const flatbuffers::TypeFunction type_refs[] = {
590 NamespaceC::TableInCTypeTable
591 };
592 static const char * const names[] = {
593 "refer_to_c"
594 };
595 static const flatbuffers::TypeTable tt = {
Austin Schuh272c6132020-11-14 16:37:52 -0800596 flatbuffers::ST_TABLE, 1, type_codes, type_refs, nullptr, nullptr, names
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700597 };
598 return &tt;
599}
600
601} // namespace NamespaceA
602
603#endif // FLATBUFFERS_GENERATED_NAMESPACETEST2_NAMESPACEA_H_