Line data Source code
1 : // automatically generated by the FlatBuffers compiler, do not modify
2 :
3 : #ifndef FLATBUFFERS_GENERATED_FEATURE_FLATGEOBUF_H_
4 : #define FLATBUFFERS_GENERATED_FEATURE_FLATGEOBUF_H_
5 :
6 : #include "flatbuffers/flatbuffers.h"
7 :
8 : // Ensure the included flatbuffers.h is the same version as when this file was
9 : // generated, otherwise it may not be compatible.
10 : static_assert(FLATBUFFERS_VERSION_MAJOR == 2 &&
11 : FLATBUFFERS_VERSION_MINOR == 0 &&
12 : FLATBUFFERS_VERSION_REVISION == 6,
13 : "Non-compatible flatbuffers version included");
14 :
15 : #include "header_generated.h"
16 :
17 : namespace FlatGeobuf
18 : {
19 :
20 : struct Geometry;
21 : struct GeometryBuilder;
22 :
23 : struct Feature;
24 : struct FeatureBuilder;
25 :
26 : struct Geometry FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table
27 : {
28 : typedef GeometryBuilder Builder;
29 :
30 : enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE
31 : {
32 : VT_ENDS = 4,
33 : VT_XY = 6,
34 : VT_Z = 8,
35 : VT_M = 10,
36 : VT_T = 12,
37 : VT_TM = 14,
38 : VT_TYPE = 16,
39 : VT_PARTS = 18
40 : };
41 :
42 1286 : const flatbuffers::Vector<uint32_t> *ends() const
43 : {
44 1286 : return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_ENDS);
45 : }
46 :
47 1570 : const flatbuffers::Vector<double> *xy() const
48 : {
49 1570 : return GetPointer<const flatbuffers::Vector<double> *>(VT_XY);
50 : }
51 :
52 984 : const flatbuffers::Vector<double> *z() const
53 : {
54 984 : return GetPointer<const flatbuffers::Vector<double> *>(VT_Z);
55 : }
56 :
57 967 : const flatbuffers::Vector<double> *m() const
58 : {
59 967 : return GetPointer<const flatbuffers::Vector<double> *>(VT_M);
60 : }
61 :
62 825 : const flatbuffers::Vector<double> *t() const
63 : {
64 825 : return GetPointer<const flatbuffers::Vector<double> *>(VT_T);
65 : }
66 :
67 825 : const flatbuffers::Vector<uint64_t> *tm() const
68 : {
69 825 : return GetPointer<const flatbuffers::Vector<uint64_t> *>(VT_TM);
70 : }
71 :
72 82 : FlatGeobuf::GeometryType type() const
73 : {
74 : return static_cast<FlatGeobuf::GeometryType>(
75 82 : GetField<uint8_t>(VT_TYPE, 0));
76 : }
77 :
78 : const flatbuffers::Vector<flatbuffers::Offset<FlatGeobuf::Geometry>> *
79 1714 : parts() const
80 : {
81 : return GetPointer<const flatbuffers::Vector<
82 1714 : flatbuffers::Offset<FlatGeobuf::Geometry>> *>(VT_PARTS);
83 : }
84 :
85 825 : bool Verify(flatbuffers::Verifier &verifier) const
86 : {
87 1650 : return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_ENDS) &&
88 825 : verifier.VerifyVector(ends()) && VerifyOffset(verifier, VT_XY) &&
89 825 : verifier.VerifyVector(xy()) && VerifyOffset(verifier, VT_Z) &&
90 825 : verifier.VerifyVector(z()) && VerifyOffset(verifier, VT_M) &&
91 825 : verifier.VerifyVector(m()) && VerifyOffset(verifier, VT_T) &&
92 825 : verifier.VerifyVector(t()) && VerifyOffset(verifier, VT_TM) &&
93 825 : verifier.VerifyVector(tm()) &&
94 825 : VerifyField<uint8_t>(verifier, VT_TYPE, 1) &&
95 825 : VerifyOffset(verifier, VT_PARTS) &&
96 825 : verifier.VerifyVector(parts()) &&
97 1650 : verifier.VerifyVectorOfTables(parts()) && verifier.EndTable();
98 : }
99 : };
100 :
101 : struct GeometryBuilder
102 : {
103 : typedef Geometry Table;
104 : flatbuffers::FlatBufferBuilder &fbb_;
105 : flatbuffers::uoffset_t start_;
106 :
107 309 : void add_ends(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> ends)
108 : {
109 309 : fbb_.AddOffset(Geometry::VT_ENDS, ends);
110 309 : }
111 :
112 309 : void add_xy(flatbuffers::Offset<flatbuffers::Vector<double>> xy)
113 : {
114 309 : fbb_.AddOffset(Geometry::VT_XY, xy);
115 309 : }
116 :
117 309 : void add_z(flatbuffers::Offset<flatbuffers::Vector<double>> z)
118 : {
119 309 : fbb_.AddOffset(Geometry::VT_Z, z);
120 309 : }
121 :
122 309 : void add_m(flatbuffers::Offset<flatbuffers::Vector<double>> m)
123 : {
124 309 : fbb_.AddOffset(Geometry::VT_M, m);
125 309 : }
126 :
127 309 : void add_t(flatbuffers::Offset<flatbuffers::Vector<double>> t)
128 : {
129 309 : fbb_.AddOffset(Geometry::VT_T, t);
130 309 : }
131 :
132 309 : void add_tm(flatbuffers::Offset<flatbuffers::Vector<uint64_t>> tm)
133 : {
134 309 : fbb_.AddOffset(Geometry::VT_TM, tm);
135 309 : }
136 :
137 309 : void add_type(FlatGeobuf::GeometryType type)
138 : {
139 309 : fbb_.AddElement<uint8_t>(Geometry::VT_TYPE, static_cast<uint8_t>(type),
140 : 0);
141 309 : }
142 :
143 : void
144 309 : add_parts(flatbuffers::Offset<
145 : flatbuffers::Vector<flatbuffers::Offset<FlatGeobuf::Geometry>>>
146 : parts)
147 : {
148 309 : fbb_.AddOffset(Geometry::VT_PARTS, parts);
149 309 : }
150 :
151 309 : explicit GeometryBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb)
152 : {
153 309 : start_ = fbb_.StartTable();
154 309 : }
155 :
156 309 : flatbuffers::Offset<Geometry> Finish()
157 : {
158 309 : const auto end = fbb_.EndTable(start_);
159 309 : auto o = flatbuffers::Offset<Geometry>(end);
160 309 : return o;
161 : }
162 : };
163 :
164 309 : inline flatbuffers::Offset<Geometry> CreateGeometry(
165 : flatbuffers::FlatBufferBuilder &_fbb,
166 : flatbuffers::Offset<flatbuffers::Vector<uint32_t>> ends = 0,
167 : flatbuffers::Offset<flatbuffers::Vector<double>> xy = 0,
168 : flatbuffers::Offset<flatbuffers::Vector<double>> z = 0,
169 : flatbuffers::Offset<flatbuffers::Vector<double>> m = 0,
170 : flatbuffers::Offset<flatbuffers::Vector<double>> t = 0,
171 : flatbuffers::Offset<flatbuffers::Vector<uint64_t>> tm = 0,
172 : FlatGeobuf::GeometryType type = FlatGeobuf::GeometryType::Unknown,
173 : flatbuffers::Offset<
174 : flatbuffers::Vector<flatbuffers::Offset<FlatGeobuf::Geometry>>>
175 : parts = 0)
176 : {
177 309 : GeometryBuilder builder_(_fbb);
178 309 : builder_.add_parts(parts);
179 309 : builder_.add_tm(tm);
180 309 : builder_.add_t(t);
181 309 : builder_.add_m(m);
182 309 : builder_.add_z(z);
183 309 : builder_.add_xy(xy);
184 309 : builder_.add_ends(ends);
185 309 : builder_.add_type(type);
186 618 : return builder_.Finish();
187 : }
188 :
189 309 : inline flatbuffers::Offset<Geometry> CreateGeometryDirect(
190 : flatbuffers::FlatBufferBuilder &_fbb,
191 : const std::vector<uint32_t> *ends = nullptr,
192 : const std::vector<double> *xy = nullptr,
193 : const std::vector<double> *z = nullptr,
194 : const std::vector<double> *m = nullptr,
195 : const std::vector<double> *t = nullptr,
196 : const std::vector<uint64_t> *tm = nullptr,
197 : FlatGeobuf::GeometryType type = FlatGeobuf::GeometryType::Unknown,
198 : const std::vector<flatbuffers::Offset<FlatGeobuf::Geometry>> *parts =
199 : nullptr)
200 : {
201 309 : auto ends__ = ends ? _fbb.CreateVector<uint32_t>(*ends) : 0;
202 309 : auto xy__ = xy ? _fbb.CreateVector<double>(*xy) : 0;
203 309 : auto z__ = z ? _fbb.CreateVector<double>(*z) : 0;
204 309 : auto m__ = m ? _fbb.CreateVector<double>(*m) : 0;
205 309 : auto t__ = t ? _fbb.CreateVector<double>(*t) : 0;
206 309 : auto tm__ = tm ? _fbb.CreateVector<uint64_t>(*tm) : 0;
207 : auto parts__ =
208 : parts ? _fbb.CreateVector<flatbuffers::Offset<FlatGeobuf::Geometry>>(
209 57 : *parts)
210 309 : : 0;
211 : return FlatGeobuf::CreateGeometry(_fbb, ends__, xy__, z__, m__, t__, tm__,
212 618 : type, parts__);
213 : }
214 :
215 : struct Feature FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table
216 : {
217 : typedef FeatureBuilder Builder;
218 :
219 : enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE
220 : {
221 : VT_GEOMETRY = 4,
222 : VT_PROPERTIES = 6,
223 : VT_COLUMNS = 8
224 : };
225 :
226 1412 : const FlatGeobuf::Geometry *geometry() const
227 : {
228 1412 : return GetPointer<const FlatGeobuf::Geometry *>(VT_GEOMETRY);
229 : }
230 :
231 1408 : const flatbuffers::Vector<uint8_t> *properties() const
232 : {
233 1408 : return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_PROPERTIES);
234 : }
235 :
236 : const flatbuffers::Vector<flatbuffers::Offset<FlatGeobuf::Column>> *
237 1412 : columns() const
238 : {
239 : return GetPointer<const flatbuffers::Vector<
240 1412 : flatbuffers::Offset<FlatGeobuf::Column>> *>(VT_COLUMNS);
241 : }
242 :
243 706 : bool Verify(flatbuffers::Verifier &verifier) const
244 : {
245 706 : return VerifyTableStart(verifier) &&
246 706 : VerifyOffset(verifier, VT_GEOMETRY) &&
247 706 : verifier.VerifyTable(geometry()) &&
248 706 : VerifyOffset(verifier, VT_PROPERTIES) &&
249 706 : verifier.VerifyVector(properties()) &&
250 706 : VerifyOffset(verifier, VT_COLUMNS) &&
251 706 : verifier.VerifyVector(columns()) &&
252 1412 : verifier.VerifyVectorOfTables(columns()) && verifier.EndTable();
253 : }
254 : };
255 :
256 : struct FeatureBuilder
257 : {
258 : typedef Feature Table;
259 : flatbuffers::FlatBufferBuilder &fbb_;
260 : flatbuffers::uoffset_t start_;
261 :
262 200 : void add_geometry(flatbuffers::Offset<FlatGeobuf::Geometry> geometry)
263 : {
264 200 : fbb_.AddOffset(Feature::VT_GEOMETRY, geometry);
265 200 : }
266 :
267 : void
268 200 : add_properties(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> properties)
269 : {
270 200 : fbb_.AddOffset(Feature::VT_PROPERTIES, properties);
271 200 : }
272 :
273 : void
274 200 : add_columns(flatbuffers::Offset<
275 : flatbuffers::Vector<flatbuffers::Offset<FlatGeobuf::Column>>>
276 : columns)
277 : {
278 200 : fbb_.AddOffset(Feature::VT_COLUMNS, columns);
279 200 : }
280 :
281 200 : explicit FeatureBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb)
282 : {
283 200 : start_ = fbb_.StartTable();
284 200 : }
285 :
286 200 : flatbuffers::Offset<Feature> Finish()
287 : {
288 200 : const auto end = fbb_.EndTable(start_);
289 200 : auto o = flatbuffers::Offset<Feature>(end);
290 200 : return o;
291 : }
292 : };
293 :
294 : inline flatbuffers::Offset<Feature>
295 200 : CreateFeature(flatbuffers::FlatBufferBuilder &_fbb,
296 : flatbuffers::Offset<FlatGeobuf::Geometry> geometry = 0,
297 : flatbuffers::Offset<flatbuffers::Vector<uint8_t>> properties = 0,
298 : flatbuffers::Offset<
299 : flatbuffers::Vector<flatbuffers::Offset<FlatGeobuf::Column>>>
300 : columns = 0)
301 : {
302 200 : FeatureBuilder builder_(_fbb);
303 200 : builder_.add_columns(columns);
304 200 : builder_.add_properties(properties);
305 200 : builder_.add_geometry(geometry);
306 400 : return builder_.Finish();
307 : }
308 :
309 200 : inline flatbuffers::Offset<Feature> CreateFeatureDirect(
310 : flatbuffers::FlatBufferBuilder &_fbb,
311 : flatbuffers::Offset<FlatGeobuf::Geometry> geometry = 0,
312 : const std::vector<uint8_t> *properties = nullptr,
313 : const std::vector<flatbuffers::Offset<FlatGeobuf::Column>> *columns =
314 : nullptr)
315 : {
316 : auto properties__ =
317 200 : properties ? _fbb.CreateVector<uint8_t>(*properties) : 0;
318 : auto columns__ =
319 : columns ? _fbb.CreateVector<flatbuffers::Offset<FlatGeobuf::Column>>(
320 0 : *columns)
321 200 : : 0;
322 400 : return FlatGeobuf::CreateFeature(_fbb, geometry, properties__, columns__);
323 : }
324 :
325 : inline const FlatGeobuf::Feature *GetFeature(const void *buf)
326 : {
327 : return flatbuffers::GetRoot<FlatGeobuf::Feature>(buf);
328 : }
329 :
330 : inline const FlatGeobuf::Feature *GetSizePrefixedFeature(const void *buf)
331 : {
332 : return flatbuffers::GetSizePrefixedRoot<FlatGeobuf::Feature>(buf);
333 : }
334 :
335 706 : inline bool VerifyFeatureBuffer(flatbuffers::Verifier &verifier)
336 : {
337 706 : return verifier.VerifyBuffer<FlatGeobuf::Feature>(nullptr);
338 : }
339 :
340 : inline bool VerifySizePrefixedFeatureBuffer(flatbuffers::Verifier &verifier)
341 : {
342 : return verifier.VerifySizePrefixedBuffer<FlatGeobuf::Feature>(nullptr);
343 : }
344 :
345 : inline void FinishFeatureBuffer(flatbuffers::FlatBufferBuilder &fbb,
346 : flatbuffers::Offset<FlatGeobuf::Feature> root)
347 : {
348 : fbb.Finish(root);
349 : }
350 :
351 : inline void
352 : FinishSizePrefixedFeatureBuffer(flatbuffers::FlatBufferBuilder &fbb,
353 : flatbuffers::Offset<FlatGeobuf::Feature> root)
354 : {
355 : fbb.FinishSizePrefixed(root);
356 : }
357 :
358 : } // namespace FlatGeobuf
359 :
360 : #endif // FLATBUFFERS_GENERATED_FEATURE_FLATGEOBUF_H_
|