1 // automatically generated by the FlatBuffers compiler, do not modify
2
3
4 #ifndef FLATBUFFERS_GENERATED_NATIVETYPETEST_GEOMETRY_H_
5 #define FLATBUFFERS_GENERATED_NATIVETYPETEST_GEOMETRY_H_
6
7 #include "flatbuffers/flatbuffers.h"
8
9 // Ensure the included flatbuffers.h is the same version as when this file was
10 // generated, otherwise it may not be compatible.
11 static_assert(FLATBUFFERS_VERSION_MAJOR == 25 &&
12 FLATBUFFERS_VERSION_MINOR == 1 &&
13 FLATBUFFERS_VERSION_REVISION == 24,
14 "Non-compatible flatbuffers version included");
15
16 #include "native_type_test_impl.h"
17
18 namespace Geometry {
19
20 struct Vector3D;
21
22 struct Vector3DAlt;
23
24 struct ApplicationData;
25 struct ApplicationDataBuilder;
26 struct ApplicationDataT;
27
28 inline const ::flatbuffers::TypeTable *Vector3DTypeTable();
29
30 inline const ::flatbuffers::TypeTable *Vector3DAltTypeTable();
31
32 inline const ::flatbuffers::TypeTable *ApplicationDataTypeTable();
33
34 FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(4) Vector3D FLATBUFFERS_FINAL_CLASS {
35 private:
36 float x_;
37 float y_;
38 float z_;
39
40 public:
MiniReflectTypeTable()41 static const ::flatbuffers::TypeTable *MiniReflectTypeTable() {
42 return Vector3DTypeTable();
43 }
Vector3D()44 Vector3D()
45 : x_(0),
46 y_(0),
47 z_(0) {
48 }
Vector3D(float _x,float _y,float _z)49 Vector3D(float _x, float _y, float _z)
50 : x_(::flatbuffers::EndianScalar(_x)),
51 y_(::flatbuffers::EndianScalar(_y)),
52 z_(::flatbuffers::EndianScalar(_z)) {
53 }
x()54 float x() const {
55 return ::flatbuffers::EndianScalar(x_);
56 }
mutate_x(float _x)57 void mutate_x(float _x) {
58 ::flatbuffers::WriteScalar(&x_, _x);
59 }
y()60 float y() const {
61 return ::flatbuffers::EndianScalar(y_);
62 }
mutate_y(float _y)63 void mutate_y(float _y) {
64 ::flatbuffers::WriteScalar(&y_, _y);
65 }
z()66 float z() const {
67 return ::flatbuffers::EndianScalar(z_);
68 }
mutate_z(float _z)69 void mutate_z(float _z) {
70 ::flatbuffers::WriteScalar(&z_, _z);
71 }
72 };
73 FLATBUFFERS_STRUCT_END(Vector3D, 12);
74
75 FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(4) Vector3DAlt FLATBUFFERS_FINAL_CLASS {
76 private:
77 float a_;
78 float b_;
79 float c_;
80
81 public:
MiniReflectTypeTable()82 static const ::flatbuffers::TypeTable *MiniReflectTypeTable() {
83 return Vector3DAltTypeTable();
84 }
Vector3DAlt()85 Vector3DAlt()
86 : a_(0),
87 b_(0),
88 c_(0) {
89 }
Vector3DAlt(float _a,float _b,float _c)90 Vector3DAlt(float _a, float _b, float _c)
91 : a_(::flatbuffers::EndianScalar(_a)),
92 b_(::flatbuffers::EndianScalar(_b)),
93 c_(::flatbuffers::EndianScalar(_c)) {
94 }
a()95 float a() const {
96 return ::flatbuffers::EndianScalar(a_);
97 }
mutate_a(float _a)98 void mutate_a(float _a) {
99 ::flatbuffers::WriteScalar(&a_, _a);
100 }
b()101 float b() const {
102 return ::flatbuffers::EndianScalar(b_);
103 }
mutate_b(float _b)104 void mutate_b(float _b) {
105 ::flatbuffers::WriteScalar(&b_, _b);
106 }
c()107 float c() const {
108 return ::flatbuffers::EndianScalar(c_);
109 }
mutate_c(float _c)110 void mutate_c(float _c) {
111 ::flatbuffers::WriteScalar(&c_, _c);
112 }
113 };
114 FLATBUFFERS_STRUCT_END(Vector3DAlt, 12);
115
116 struct ApplicationDataT : public ::flatbuffers::NativeTable {
117 typedef ApplicationData TableType;
118 std::vector<Native::Vector3D> vectors{};
119 std::vector<Native::Vector3D> vectors_alt{};
120 };
121
122 struct ApplicationData FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
123 typedef ApplicationDataT NativeTableType;
124 typedef ApplicationDataBuilder Builder;
MiniReflectTypeTableFLATBUFFERS_FINAL_CLASS125 static const ::flatbuffers::TypeTable *MiniReflectTypeTable() {
126 return ApplicationDataTypeTable();
127 }
128 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
129 VT_VECTORS = 4,
130 VT_VECTORS_ALT = 6
131 };
vectorsFLATBUFFERS_FINAL_CLASS132 const ::flatbuffers::Vector<const Geometry::Vector3D *> *vectors() const {
133 return GetPointer<const ::flatbuffers::Vector<const Geometry::Vector3D *> *>(VT_VECTORS);
134 }
mutable_vectorsFLATBUFFERS_FINAL_CLASS135 ::flatbuffers::Vector<const Geometry::Vector3D *> *mutable_vectors() {
136 return GetPointer<::flatbuffers::Vector<const Geometry::Vector3D *> *>(VT_VECTORS);
137 }
vectors_altFLATBUFFERS_FINAL_CLASS138 const ::flatbuffers::Vector<const Geometry::Vector3DAlt *> *vectors_alt() const {
139 return GetPointer<const ::flatbuffers::Vector<const Geometry::Vector3DAlt *> *>(VT_VECTORS_ALT);
140 }
mutable_vectors_altFLATBUFFERS_FINAL_CLASS141 ::flatbuffers::Vector<const Geometry::Vector3DAlt *> *mutable_vectors_alt() {
142 return GetPointer<::flatbuffers::Vector<const Geometry::Vector3DAlt *> *>(VT_VECTORS_ALT);
143 }
VerifyFLATBUFFERS_FINAL_CLASS144 bool Verify(::flatbuffers::Verifier &verifier) const {
145 return VerifyTableStart(verifier) &&
146 VerifyOffset(verifier, VT_VECTORS) &&
147 verifier.VerifyVector(vectors()) &&
148 VerifyOffset(verifier, VT_VECTORS_ALT) &&
149 verifier.VerifyVector(vectors_alt()) &&
150 verifier.EndTable();
151 }
152 ApplicationDataT *UnPack(const ::flatbuffers::resolver_function_t *_resolver = nullptr) const;
153 void UnPackTo(ApplicationDataT *_o, const ::flatbuffers::resolver_function_t *_resolver = nullptr) const;
154 static ::flatbuffers::Offset<ApplicationData> Pack(::flatbuffers::FlatBufferBuilder &_fbb, const ApplicationDataT* _o, const ::flatbuffers::rehasher_function_t *_rehasher = nullptr);
155 };
156
157 struct ApplicationDataBuilder {
158 typedef ApplicationData Table;
159 ::flatbuffers::FlatBufferBuilder &fbb_;
160 ::flatbuffers::uoffset_t start_;
add_vectorsApplicationDataBuilder161 void add_vectors(::flatbuffers::Offset<::flatbuffers::Vector<const Geometry::Vector3D *>> vectors) {
162 fbb_.AddOffset(ApplicationData::VT_VECTORS, vectors);
163 }
add_vectors_altApplicationDataBuilder164 void add_vectors_alt(::flatbuffers::Offset<::flatbuffers::Vector<const Geometry::Vector3DAlt *>> vectors_alt) {
165 fbb_.AddOffset(ApplicationData::VT_VECTORS_ALT, vectors_alt);
166 }
ApplicationDataBuilderApplicationDataBuilder167 explicit ApplicationDataBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
168 : fbb_(_fbb) {
169 start_ = fbb_.StartTable();
170 }
FinishApplicationDataBuilder171 ::flatbuffers::Offset<ApplicationData> Finish() {
172 const auto end = fbb_.EndTable(start_);
173 auto o = ::flatbuffers::Offset<ApplicationData>(end);
174 return o;
175 }
176 };
177
178 inline ::flatbuffers::Offset<ApplicationData> CreateApplicationData(
179 ::flatbuffers::FlatBufferBuilder &_fbb,
180 ::flatbuffers::Offset<::flatbuffers::Vector<const Geometry::Vector3D *>> vectors = 0,
181 ::flatbuffers::Offset<::flatbuffers::Vector<const Geometry::Vector3DAlt *>> vectors_alt = 0) {
182 ApplicationDataBuilder builder_(_fbb);
183 builder_.add_vectors_alt(vectors_alt);
184 builder_.add_vectors(vectors);
185 return builder_.Finish();
186 }
187
188 inline ::flatbuffers::Offset<ApplicationData> CreateApplicationDataDirect(
189 ::flatbuffers::FlatBufferBuilder &_fbb,
190 const std::vector<Geometry::Vector3D> *vectors = nullptr,
191 const std::vector<Geometry::Vector3DAlt> *vectors_alt = nullptr) {
192 auto vectors__ = vectors ? _fbb.CreateVectorOfStructs<Geometry::Vector3D>(*vectors) : 0;
193 auto vectors_alt__ = vectors_alt ? _fbb.CreateVectorOfStructs<Geometry::Vector3DAlt>(*vectors_alt) : 0;
194 return Geometry::CreateApplicationData(
195 _fbb,
196 vectors__,
197 vectors_alt__);
198 }
199
200 ::flatbuffers::Offset<ApplicationData> CreateApplicationData(::flatbuffers::FlatBufferBuilder &_fbb, const ApplicationDataT *_o, const ::flatbuffers::rehasher_function_t *_rehasher = nullptr);
201
UnPack(const::flatbuffers::resolver_function_t * _resolver)202 inline ApplicationDataT *ApplicationData::UnPack(const ::flatbuffers::resolver_function_t *_resolver) const {
203 auto _o = std::unique_ptr<ApplicationDataT>(new ApplicationDataT());
204 UnPackTo(_o.get(), _resolver);
205 return _o.release();
206 }
207
UnPackTo(ApplicationDataT * _o,const::flatbuffers::resolver_function_t * _resolver)208 inline void ApplicationData::UnPackTo(ApplicationDataT *_o, const ::flatbuffers::resolver_function_t *_resolver) const {
209 (void)_o;
210 (void)_resolver;
211 { auto _e = vectors(); if (_e) { _o->vectors.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->vectors[_i] = ::flatbuffers::UnPack(*_e->Get(_i)); } } else { _o->vectors.resize(0); } }
212 { auto _e = vectors_alt(); if (_e) { _o->vectors_alt.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->vectors_alt[_i] = ::flatbuffers::UnPackVector3DAlt(*_e->Get(_i)); } } else { _o->vectors_alt.resize(0); } }
213 }
214
Pack(::flatbuffers::FlatBufferBuilder & _fbb,const ApplicationDataT * _o,const::flatbuffers::rehasher_function_t * _rehasher)215 inline ::flatbuffers::Offset<ApplicationData> ApplicationData::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const ApplicationDataT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) {
216 return CreateApplicationData(_fbb, _o, _rehasher);
217 }
218
CreateApplicationData(::flatbuffers::FlatBufferBuilder & _fbb,const ApplicationDataT * _o,const::flatbuffers::rehasher_function_t * _rehasher)219 inline ::flatbuffers::Offset<ApplicationData> CreateApplicationData(::flatbuffers::FlatBufferBuilder &_fbb, const ApplicationDataT *_o, const ::flatbuffers::rehasher_function_t *_rehasher) {
220 (void)_rehasher;
221 (void)_o;
222 struct _VectorArgs { ::flatbuffers::FlatBufferBuilder *__fbb; const ApplicationDataT* __o; const ::flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
223 auto _vectors = _o->vectors.size() ? _fbb.CreateVectorOfNativeStructs<Geometry::Vector3D, Native::Vector3D>(_o->vectors) : 0;
224 auto _vectors_alt = _o->vectors_alt.size() ? _fbb.CreateVectorOfNativeStructs<Geometry::Vector3DAlt, Native::Vector3D>(_o->vectors_alt, ::flatbuffers::PackVector3DAlt) : 0;
225 return Geometry::CreateApplicationData(
226 _fbb,
227 _vectors,
228 _vectors_alt);
229 }
230
Vector3DTypeTable()231 inline const ::flatbuffers::TypeTable *Vector3DTypeTable() {
232 static const ::flatbuffers::TypeCode type_codes[] = {
233 { ::flatbuffers::ET_FLOAT, 0, -1 },
234 { ::flatbuffers::ET_FLOAT, 0, -1 },
235 { ::flatbuffers::ET_FLOAT, 0, -1 }
236 };
237 static const int64_t values[] = { 0, 4, 8, 12 };
238 static const char * const names[] = {
239 "x",
240 "y",
241 "z"
242 };
243 static const ::flatbuffers::TypeTable tt = {
244 ::flatbuffers::ST_STRUCT, 3, type_codes, nullptr, nullptr, values, names
245 };
246 return &tt;
247 }
248
Vector3DAltTypeTable()249 inline const ::flatbuffers::TypeTable *Vector3DAltTypeTable() {
250 static const ::flatbuffers::TypeCode type_codes[] = {
251 { ::flatbuffers::ET_FLOAT, 0, -1 },
252 { ::flatbuffers::ET_FLOAT, 0, -1 },
253 { ::flatbuffers::ET_FLOAT, 0, -1 }
254 };
255 static const int64_t values[] = { 0, 4, 8, 12 };
256 static const char * const names[] = {
257 "a",
258 "b",
259 "c"
260 };
261 static const ::flatbuffers::TypeTable tt = {
262 ::flatbuffers::ST_STRUCT, 3, type_codes, nullptr, nullptr, values, names
263 };
264 return &tt;
265 }
266
ApplicationDataTypeTable()267 inline const ::flatbuffers::TypeTable *ApplicationDataTypeTable() {
268 static const ::flatbuffers::TypeCode type_codes[] = {
269 { ::flatbuffers::ET_SEQUENCE, 1, 0 },
270 { ::flatbuffers::ET_SEQUENCE, 1, 1 }
271 };
272 static const ::flatbuffers::TypeFunction type_refs[] = {
273 Geometry::Vector3DTypeTable,
274 Geometry::Vector3DAltTypeTable
275 };
276 static const char * const names[] = {
277 "vectors",
278 "vectors_alt"
279 };
280 static const ::flatbuffers::TypeTable tt = {
281 ::flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, nullptr, names
282 };
283 return &tt;
284 }
285
GetApplicationData(const void * buf)286 inline const Geometry::ApplicationData *GetApplicationData(const void *buf) {
287 return ::flatbuffers::GetRoot<Geometry::ApplicationData>(buf);
288 }
289
GetSizePrefixedApplicationData(const void * buf)290 inline const Geometry::ApplicationData *GetSizePrefixedApplicationData(const void *buf) {
291 return ::flatbuffers::GetSizePrefixedRoot<Geometry::ApplicationData>(buf);
292 }
293
GetMutableApplicationData(void * buf)294 inline ApplicationData *GetMutableApplicationData(void *buf) {
295 return ::flatbuffers::GetMutableRoot<ApplicationData>(buf);
296 }
297
GetMutableSizePrefixedApplicationData(void * buf)298 inline Geometry::ApplicationData *GetMutableSizePrefixedApplicationData(void *buf) {
299 return ::flatbuffers::GetMutableSizePrefixedRoot<Geometry::ApplicationData>(buf);
300 }
301
VerifyApplicationDataBuffer(::flatbuffers::Verifier & verifier)302 inline bool VerifyApplicationDataBuffer(
303 ::flatbuffers::Verifier &verifier) {
304 return verifier.VerifyBuffer<Geometry::ApplicationData>(nullptr);
305 }
306
VerifySizePrefixedApplicationDataBuffer(::flatbuffers::Verifier & verifier)307 inline bool VerifySizePrefixedApplicationDataBuffer(
308 ::flatbuffers::Verifier &verifier) {
309 return verifier.VerifySizePrefixedBuffer<Geometry::ApplicationData>(nullptr);
310 }
311
FinishApplicationDataBuffer(::flatbuffers::FlatBufferBuilder & fbb,::flatbuffers::Offset<Geometry::ApplicationData> root)312 inline void FinishApplicationDataBuffer(
313 ::flatbuffers::FlatBufferBuilder &fbb,
314 ::flatbuffers::Offset<Geometry::ApplicationData> root) {
315 fbb.Finish(root);
316 }
317
FinishSizePrefixedApplicationDataBuffer(::flatbuffers::FlatBufferBuilder & fbb,::flatbuffers::Offset<Geometry::ApplicationData> root)318 inline void FinishSizePrefixedApplicationDataBuffer(
319 ::flatbuffers::FlatBufferBuilder &fbb,
320 ::flatbuffers::Offset<Geometry::ApplicationData> root) {
321 fbb.FinishSizePrefixed(root);
322 }
323
324 inline std::unique_ptr<Geometry::ApplicationDataT> UnPackApplicationData(
325 const void *buf,
326 const ::flatbuffers::resolver_function_t *res = nullptr) {
327 return std::unique_ptr<Geometry::ApplicationDataT>(GetApplicationData(buf)->UnPack(res));
328 }
329
330 inline std::unique_ptr<Geometry::ApplicationDataT> UnPackSizePrefixedApplicationData(
331 const void *buf,
332 const ::flatbuffers::resolver_function_t *res = nullptr) {
333 return std::unique_ptr<Geometry::ApplicationDataT>(GetSizePrefixedApplicationData(buf)->UnPack(res));
334 }
335
336 } // namespace Geometry
337
338 #endif // FLATBUFFERS_GENERATED_NATIVETYPETEST_GEOMETRY_H_
339