• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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