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 == 2 &&
12 FLATBUFFERS_VERSION_MINOR == 0 &&
13 FLATBUFFERS_VERSION_REVISION == 7,
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)); } } }
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)); } } }
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 flatbuffers::unique_ptr<Geometry::ApplicationDataT> UnPackApplicationData(
325 const void *buf,
326 const flatbuffers::resolver_function_t *res = nullptr) {
327 return flatbuffers::unique_ptr<Geometry::ApplicationDataT>(GetApplicationData(buf)->UnPack(res));
328 }
329
330 inline flatbuffers::unique_ptr<Geometry::ApplicationDataT> UnPackSizePrefixedApplicationData(
331 const void *buf,
332 const flatbuffers::resolver_function_t *res = nullptr) {
333 return flatbuffers::unique_ptr<Geometry::ApplicationDataT>(GetSizePrefixedApplicationData(buf)->UnPack(res));
334 }
335
336 } // namespace Geometry
337
338 #endif // FLATBUFFERS_GENERATED_NATIVETYPETEST_GEOMETRY_H_
339