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