/src/gdal/frmts/icechunk/generated/snapshot_generated.h
Line | Count | Source |
1 | | // automatically generated by the FlatBuffers compiler, do not modify |
2 | | |
3 | | |
4 | | #ifndef FLATBUFFERS_GENERATED_SNAPSHOT_GENERATED_H_ |
5 | | #define FLATBUFFERS_GENERATED_SNAPSHOT_GENERATED_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 == 8, |
14 | | "Non-compatible flatbuffers version included"); |
15 | | |
16 | | #include "common_generated.h" |
17 | | |
18 | | namespace generated { |
19 | | |
20 | | struct ManifestFileInfo; |
21 | | |
22 | | struct ManifestFileInfoV2; |
23 | | struct ManifestFileInfoV2Builder; |
24 | | |
25 | | struct ChunkIndexRange; |
26 | | |
27 | | struct ManifestRef; |
28 | | struct ManifestRefBuilder; |
29 | | |
30 | | struct DimensionShape; |
31 | | |
32 | | struct DimensionShapeV2; |
33 | | struct DimensionShapeV2Builder; |
34 | | |
35 | | struct DimensionName; |
36 | | struct DimensionNameBuilder; |
37 | | |
38 | | struct GroupNodeData; |
39 | | struct GroupNodeDataBuilder; |
40 | | |
41 | | struct ArrayNodeData; |
42 | | struct ArrayNodeDataBuilder; |
43 | | |
44 | | struct NodeSnapshot; |
45 | | struct NodeSnapshotBuilder; |
46 | | |
47 | | struct Snapshot; |
48 | | struct SnapshotBuilder; |
49 | | |
50 | | enum class NodeData : uint8_t { |
51 | | NONE = 0, |
52 | | Array = 1, |
53 | | Group = 2, |
54 | | MIN = NONE, |
55 | | MAX = Group |
56 | | }; |
57 | | |
58 | 0 | inline const NodeData (&EnumValuesNodeData())[3] { |
59 | 0 | static const NodeData values[] = { |
60 | 0 | NodeData::NONE, |
61 | 0 | NodeData::Array, |
62 | 0 | NodeData::Group |
63 | 0 | }; |
64 | 0 | return values; |
65 | 0 | } |
66 | | |
67 | 0 | inline const char * const *EnumNamesNodeData() { |
68 | 0 | static const char * const names[4] = { |
69 | 0 | "NONE", |
70 | 0 | "Array", |
71 | 0 | "Group", |
72 | 0 | nullptr |
73 | 0 | }; |
74 | 0 | return names; |
75 | 0 | } |
76 | | |
77 | 0 | inline const char *EnumNameNodeData(NodeData e) { |
78 | 0 | if (flatbuffers::IsOutRange(e, NodeData::NONE, NodeData::Group)) return ""; |
79 | 0 | const size_t index = static_cast<size_t>(e); |
80 | 0 | return EnumNamesNodeData()[index]; |
81 | 0 | } |
82 | | |
83 | | template<typename T> struct NodeDataTraits { |
84 | | static const NodeData enum_value = NodeData::NONE; |
85 | | }; |
86 | | |
87 | | template<> struct NodeDataTraits<generated::ArrayNodeData> { |
88 | | static const NodeData enum_value = NodeData::Array; |
89 | | }; |
90 | | |
91 | | template<> struct NodeDataTraits<generated::GroupNodeData> { |
92 | | static const NodeData enum_value = NodeData::Group; |
93 | | }; |
94 | | |
95 | | bool VerifyNodeData(flatbuffers::Verifier &verifier, const void *obj, NodeData type); |
96 | | bool VerifyNodeDataVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<NodeData> *types); |
97 | | |
98 | | FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(8) ManifestFileInfo FLATBUFFERS_FINAL_CLASS { |
99 | | private: |
100 | | generated::ObjectId12 id_; |
101 | | int32_t padding0__; |
102 | | uint64_t size_bytes_; |
103 | | uint32_t num_chunk_refs_; |
104 | | int32_t padding1__; |
105 | | |
106 | | public: |
107 | | struct Traits; |
108 | | ManifestFileInfo() |
109 | | : id_(), |
110 | | padding0__(0), |
111 | | size_bytes_(0), |
112 | | num_chunk_refs_(0), |
113 | 0 | padding1__(0) { |
114 | 0 | (void)padding0__; |
115 | 0 | (void)padding1__; |
116 | 0 | } |
117 | | ManifestFileInfo(const generated::ObjectId12 &_id, uint64_t _size_bytes, uint32_t _num_chunk_refs) |
118 | | : id_(_id), |
119 | | padding0__(0), |
120 | | size_bytes_(flatbuffers::EndianScalar(_size_bytes)), |
121 | | num_chunk_refs_(flatbuffers::EndianScalar(_num_chunk_refs)), |
122 | 0 | padding1__(0) { |
123 | 0 | (void)padding0__; |
124 | 0 | (void)padding1__; |
125 | 0 | } |
126 | 0 | const generated::ObjectId12 &id() const { |
127 | 0 | return id_; |
128 | 0 | } |
129 | 0 | uint64_t size_bytes() const { |
130 | 0 | return flatbuffers::EndianScalar(size_bytes_); |
131 | 0 | } |
132 | 0 | uint32_t num_chunk_refs() const { |
133 | 0 | return flatbuffers::EndianScalar(num_chunk_refs_); |
134 | 0 | } |
135 | | }; |
136 | | FLATBUFFERS_STRUCT_END(ManifestFileInfo, 32); |
137 | | |
138 | | struct ManifestFileInfo::Traits { |
139 | | using type = ManifestFileInfo; |
140 | | }; |
141 | | |
142 | | FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(4) ChunkIndexRange FLATBUFFERS_FINAL_CLASS { |
143 | | private: |
144 | | uint32_t from_; |
145 | | uint32_t to_; |
146 | | |
147 | | public: |
148 | | struct Traits; |
149 | | ChunkIndexRange() |
150 | | : from_(0), |
151 | 0 | to_(0) { |
152 | 0 | } |
153 | | ChunkIndexRange(uint32_t _from, uint32_t _to) |
154 | | : from_(flatbuffers::EndianScalar(_from)), |
155 | 0 | to_(flatbuffers::EndianScalar(_to)) { |
156 | 0 | } |
157 | 0 | uint32_t from() const { |
158 | 0 | return flatbuffers::EndianScalar(from_); |
159 | 0 | } |
160 | 0 | uint32_t to() const { |
161 | 0 | return flatbuffers::EndianScalar(to_); |
162 | 0 | } |
163 | | }; |
164 | | FLATBUFFERS_STRUCT_END(ChunkIndexRange, 8); |
165 | | |
166 | | struct ChunkIndexRange::Traits { |
167 | | using type = ChunkIndexRange; |
168 | | }; |
169 | | |
170 | | FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(8) DimensionShape FLATBUFFERS_FINAL_CLASS { |
171 | | private: |
172 | | uint64_t array_length_; |
173 | | uint64_t chunk_length_; |
174 | | |
175 | | public: |
176 | | struct Traits; |
177 | | DimensionShape() |
178 | | : array_length_(0), |
179 | 0 | chunk_length_(0) { |
180 | 0 | } |
181 | | DimensionShape(uint64_t _array_length, uint64_t _chunk_length) |
182 | | : array_length_(flatbuffers::EndianScalar(_array_length)), |
183 | 0 | chunk_length_(flatbuffers::EndianScalar(_chunk_length)) { |
184 | 0 | } |
185 | 0 | uint64_t array_length() const { |
186 | 0 | return flatbuffers::EndianScalar(array_length_); |
187 | 0 | } |
188 | 0 | uint64_t chunk_length() const { |
189 | 0 | return flatbuffers::EndianScalar(chunk_length_); |
190 | 0 | } |
191 | | }; |
192 | | FLATBUFFERS_STRUCT_END(DimensionShape, 16); |
193 | | |
194 | | struct DimensionShape::Traits { |
195 | | using type = DimensionShape; |
196 | | }; |
197 | | |
198 | | struct ManifestFileInfoV2 FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { |
199 | | typedef ManifestFileInfoV2Builder Builder; |
200 | | struct Traits; |
201 | | enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { |
202 | | VT_ID = 4, |
203 | | VT_SIZE_BYTES = 6, |
204 | | VT_NUM_CHUNK_REFS = 8, |
205 | | VT_EXTRA = 10 |
206 | | }; |
207 | 0 | const generated::ObjectId12 *id() const { |
208 | 0 | return GetStruct<const generated::ObjectId12 *>(VT_ID); |
209 | 0 | } |
210 | 0 | uint64_t size_bytes() const { |
211 | 0 | return GetField<uint64_t>(VT_SIZE_BYTES, 0); |
212 | 0 | } |
213 | 0 | uint32_t num_chunk_refs() const { |
214 | 0 | return GetField<uint32_t>(VT_NUM_CHUNK_REFS, 0); |
215 | 0 | } |
216 | 0 | const flatbuffers::Vector<uint8_t> *extra() const { |
217 | 0 | return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_EXTRA); |
218 | 0 | } |
219 | 0 | bool Verify(flatbuffers::Verifier &verifier) const { |
220 | 0 | return VerifyTableStart(verifier) && |
221 | 0 | VerifyField<generated::ObjectId12>(verifier, VT_ID, 1) && |
222 | 0 | VerifyField<uint64_t>(verifier, VT_SIZE_BYTES, 8) && |
223 | 0 | VerifyField<uint32_t>(verifier, VT_NUM_CHUNK_REFS, 4) && |
224 | 0 | VerifyOffset(verifier, VT_EXTRA) && |
225 | 0 | verifier.VerifyVector(extra()) && |
226 | 0 | verifier.EndTable(); |
227 | 0 | } |
228 | | }; |
229 | | |
230 | | struct ManifestFileInfoV2Builder { |
231 | | typedef ManifestFileInfoV2 Table; |
232 | | flatbuffers::FlatBufferBuilder &fbb_; |
233 | | flatbuffers::uoffset_t start_; |
234 | 0 | void add_id(const generated::ObjectId12 *id) { |
235 | 0 | fbb_.AddStruct(ManifestFileInfoV2::VT_ID, id); |
236 | 0 | } |
237 | 0 | void add_size_bytes(uint64_t size_bytes) { |
238 | 0 | fbb_.AddElement<uint64_t>(ManifestFileInfoV2::VT_SIZE_BYTES, size_bytes, 0); |
239 | 0 | } |
240 | 0 | void add_num_chunk_refs(uint32_t num_chunk_refs) { |
241 | 0 | fbb_.AddElement<uint32_t>(ManifestFileInfoV2::VT_NUM_CHUNK_REFS, num_chunk_refs, 0); |
242 | 0 | } |
243 | 0 | void add_extra(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> extra) { |
244 | 0 | fbb_.AddOffset(ManifestFileInfoV2::VT_EXTRA, extra); |
245 | 0 | } |
246 | | explicit ManifestFileInfoV2Builder(flatbuffers::FlatBufferBuilder &_fbb) |
247 | 0 | : fbb_(_fbb) { |
248 | 0 | start_ = fbb_.StartTable(); |
249 | 0 | } |
250 | 0 | flatbuffers::Offset<ManifestFileInfoV2> Finish() { |
251 | 0 | const auto end = fbb_.EndTable(start_); |
252 | 0 | auto o = flatbuffers::Offset<ManifestFileInfoV2>(end); |
253 | 0 | return o; |
254 | 0 | } |
255 | | }; |
256 | | |
257 | | inline flatbuffers::Offset<ManifestFileInfoV2> CreateManifestFileInfoV2( |
258 | | flatbuffers::FlatBufferBuilder &_fbb, |
259 | | const generated::ObjectId12 *id = nullptr, |
260 | | uint64_t size_bytes = 0, |
261 | | uint32_t num_chunk_refs = 0, |
262 | 0 | flatbuffers::Offset<flatbuffers::Vector<uint8_t>> extra = 0) { |
263 | 0 | ManifestFileInfoV2Builder builder_(_fbb); |
264 | 0 | builder_.add_size_bytes(size_bytes); |
265 | 0 | builder_.add_extra(extra); |
266 | 0 | builder_.add_num_chunk_refs(num_chunk_refs); |
267 | 0 | builder_.add_id(id); |
268 | 0 | return builder_.Finish(); |
269 | 0 | } |
270 | | |
271 | | struct ManifestFileInfoV2::Traits { |
272 | | using type = ManifestFileInfoV2; |
273 | | static auto constexpr Create = CreateManifestFileInfoV2; |
274 | | }; |
275 | | |
276 | | inline flatbuffers::Offset<ManifestFileInfoV2> CreateManifestFileInfoV2Direct( |
277 | | flatbuffers::FlatBufferBuilder &_fbb, |
278 | | const generated::ObjectId12 *id = nullptr, |
279 | | uint64_t size_bytes = 0, |
280 | | uint32_t num_chunk_refs = 0, |
281 | 0 | const std::vector<uint8_t> *extra = nullptr) { |
282 | 0 | auto extra__ = extra ? _fbb.CreateVector<uint8_t>(*extra) : 0; |
283 | 0 | return generated::CreateManifestFileInfoV2( |
284 | 0 | _fbb, |
285 | 0 | id, |
286 | 0 | size_bytes, |
287 | 0 | num_chunk_refs, |
288 | 0 | extra__); |
289 | 0 | } |
290 | | |
291 | | struct ManifestRef FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { |
292 | | typedef ManifestRefBuilder Builder; |
293 | | struct Traits; |
294 | | enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { |
295 | | VT_OBJECT_ID = 4, |
296 | | VT_EXTENTS = 6 |
297 | | }; |
298 | 0 | const generated::ObjectId12 *object_id() const { |
299 | 0 | return GetStruct<const generated::ObjectId12 *>(VT_OBJECT_ID); |
300 | 0 | } |
301 | 0 | const flatbuffers::Vector<const generated::ChunkIndexRange *> *extents() const { |
302 | 0 | return GetPointer<const flatbuffers::Vector<const generated::ChunkIndexRange *> *>(VT_EXTENTS); |
303 | 0 | } |
304 | 0 | bool Verify(flatbuffers::Verifier &verifier) const { |
305 | 0 | return VerifyTableStart(verifier) && |
306 | 0 | VerifyFieldRequired<generated::ObjectId12>(verifier, VT_OBJECT_ID, 1) && |
307 | 0 | VerifyOffsetRequired(verifier, VT_EXTENTS) && |
308 | 0 | verifier.VerifyVector(extents()) && |
309 | 0 | verifier.EndTable(); |
310 | 0 | } |
311 | | }; |
312 | | |
313 | | struct ManifestRefBuilder { |
314 | | typedef ManifestRef Table; |
315 | | flatbuffers::FlatBufferBuilder &fbb_; |
316 | | flatbuffers::uoffset_t start_; |
317 | 0 | void add_object_id(const generated::ObjectId12 *object_id) { |
318 | 0 | fbb_.AddStruct(ManifestRef::VT_OBJECT_ID, object_id); |
319 | 0 | } |
320 | 0 | void add_extents(flatbuffers::Offset<flatbuffers::Vector<const generated::ChunkIndexRange *>> extents) { |
321 | 0 | fbb_.AddOffset(ManifestRef::VT_EXTENTS, extents); |
322 | 0 | } |
323 | | explicit ManifestRefBuilder(flatbuffers::FlatBufferBuilder &_fbb) |
324 | 0 | : fbb_(_fbb) { |
325 | 0 | start_ = fbb_.StartTable(); |
326 | 0 | } |
327 | 0 | flatbuffers::Offset<ManifestRef> Finish() { |
328 | 0 | const auto end = fbb_.EndTable(start_); |
329 | 0 | auto o = flatbuffers::Offset<ManifestRef>(end); |
330 | 0 | fbb_.Required(o, ManifestRef::VT_OBJECT_ID); |
331 | 0 | fbb_.Required(o, ManifestRef::VT_EXTENTS); |
332 | 0 | return o; |
333 | 0 | } |
334 | | }; |
335 | | |
336 | | inline flatbuffers::Offset<ManifestRef> CreateManifestRef( |
337 | | flatbuffers::FlatBufferBuilder &_fbb, |
338 | | const generated::ObjectId12 *object_id = nullptr, |
339 | 0 | flatbuffers::Offset<flatbuffers::Vector<const generated::ChunkIndexRange *>> extents = 0) { |
340 | 0 | ManifestRefBuilder builder_(_fbb); |
341 | 0 | builder_.add_extents(extents); |
342 | 0 | builder_.add_object_id(object_id); |
343 | 0 | return builder_.Finish(); |
344 | 0 | } |
345 | | |
346 | | struct ManifestRef::Traits { |
347 | | using type = ManifestRef; |
348 | | static auto constexpr Create = CreateManifestRef; |
349 | | }; |
350 | | |
351 | | inline flatbuffers::Offset<ManifestRef> CreateManifestRefDirect( |
352 | | flatbuffers::FlatBufferBuilder &_fbb, |
353 | | const generated::ObjectId12 *object_id = nullptr, |
354 | 0 | const std::vector<generated::ChunkIndexRange> *extents = nullptr) { |
355 | 0 | auto extents__ = extents ? _fbb.CreateVectorOfStructs<generated::ChunkIndexRange>(*extents) : 0; |
356 | 0 | return generated::CreateManifestRef( |
357 | 0 | _fbb, |
358 | 0 | object_id, |
359 | 0 | extents__); |
360 | 0 | } |
361 | | |
362 | | struct DimensionShapeV2 FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { |
363 | | typedef DimensionShapeV2Builder Builder; |
364 | | struct Traits; |
365 | | enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { |
366 | | VT_ARRAY_LENGTH = 4, |
367 | | VT_NUM_CHUNKS = 6 |
368 | | }; |
369 | 0 | uint64_t array_length() const { |
370 | 0 | return GetField<uint64_t>(VT_ARRAY_LENGTH, 0); |
371 | 0 | } |
372 | 0 | uint32_t num_chunks() const { |
373 | 0 | return GetField<uint32_t>(VT_NUM_CHUNKS, 0); |
374 | 0 | } |
375 | 0 | bool Verify(flatbuffers::Verifier &verifier) const { |
376 | 0 | return VerifyTableStart(verifier) && |
377 | 0 | VerifyField<uint64_t>(verifier, VT_ARRAY_LENGTH, 8) && |
378 | 0 | VerifyField<uint32_t>(verifier, VT_NUM_CHUNKS, 4) && |
379 | 0 | verifier.EndTable(); |
380 | 0 | } |
381 | | }; |
382 | | |
383 | | struct DimensionShapeV2Builder { |
384 | | typedef DimensionShapeV2 Table; |
385 | | flatbuffers::FlatBufferBuilder &fbb_; |
386 | | flatbuffers::uoffset_t start_; |
387 | 0 | void add_array_length(uint64_t array_length) { |
388 | 0 | fbb_.AddElement<uint64_t>(DimensionShapeV2::VT_ARRAY_LENGTH, array_length, 0); |
389 | 0 | } |
390 | 0 | void add_num_chunks(uint32_t num_chunks) { |
391 | 0 | fbb_.AddElement<uint32_t>(DimensionShapeV2::VT_NUM_CHUNKS, num_chunks, 0); |
392 | 0 | } |
393 | | explicit DimensionShapeV2Builder(flatbuffers::FlatBufferBuilder &_fbb) |
394 | 0 | : fbb_(_fbb) { |
395 | 0 | start_ = fbb_.StartTable(); |
396 | 0 | } |
397 | 0 | flatbuffers::Offset<DimensionShapeV2> Finish() { |
398 | 0 | const auto end = fbb_.EndTable(start_); |
399 | 0 | auto o = flatbuffers::Offset<DimensionShapeV2>(end); |
400 | 0 | return o; |
401 | 0 | } |
402 | | }; |
403 | | |
404 | | inline flatbuffers::Offset<DimensionShapeV2> CreateDimensionShapeV2( |
405 | | flatbuffers::FlatBufferBuilder &_fbb, |
406 | | uint64_t array_length = 0, |
407 | 0 | uint32_t num_chunks = 0) { |
408 | 0 | DimensionShapeV2Builder builder_(_fbb); |
409 | 0 | builder_.add_array_length(array_length); |
410 | 0 | builder_.add_num_chunks(num_chunks); |
411 | 0 | return builder_.Finish(); |
412 | 0 | } |
413 | | |
414 | | struct DimensionShapeV2::Traits { |
415 | | using type = DimensionShapeV2; |
416 | | static auto constexpr Create = CreateDimensionShapeV2; |
417 | | }; |
418 | | |
419 | | struct DimensionName FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { |
420 | | typedef DimensionNameBuilder Builder; |
421 | | struct Traits; |
422 | | enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { |
423 | | VT_NAME = 4 |
424 | | }; |
425 | 0 | const flatbuffers::String *name() const { |
426 | 0 | return GetPointer<const flatbuffers::String *>(VT_NAME); |
427 | 0 | } |
428 | 0 | bool Verify(flatbuffers::Verifier &verifier) const { |
429 | 0 | return VerifyTableStart(verifier) && |
430 | 0 | VerifyOffset(verifier, VT_NAME) && |
431 | 0 | verifier.VerifyString(name()) && |
432 | 0 | verifier.EndTable(); |
433 | 0 | } |
434 | | }; |
435 | | |
436 | | struct DimensionNameBuilder { |
437 | | typedef DimensionName Table; |
438 | | flatbuffers::FlatBufferBuilder &fbb_; |
439 | | flatbuffers::uoffset_t start_; |
440 | 0 | void add_name(flatbuffers::Offset<flatbuffers::String> name) { |
441 | 0 | fbb_.AddOffset(DimensionName::VT_NAME, name); |
442 | 0 | } |
443 | | explicit DimensionNameBuilder(flatbuffers::FlatBufferBuilder &_fbb) |
444 | 0 | : fbb_(_fbb) { |
445 | 0 | start_ = fbb_.StartTable(); |
446 | 0 | } |
447 | 0 | flatbuffers::Offset<DimensionName> Finish() { |
448 | 0 | const auto end = fbb_.EndTable(start_); |
449 | 0 | auto o = flatbuffers::Offset<DimensionName>(end); |
450 | 0 | return o; |
451 | 0 | } |
452 | | }; |
453 | | |
454 | | inline flatbuffers::Offset<DimensionName> CreateDimensionName( |
455 | | flatbuffers::FlatBufferBuilder &_fbb, |
456 | 0 | flatbuffers::Offset<flatbuffers::String> name = 0) { |
457 | 0 | DimensionNameBuilder builder_(_fbb); |
458 | 0 | builder_.add_name(name); |
459 | 0 | return builder_.Finish(); |
460 | 0 | } |
461 | | |
462 | | struct DimensionName::Traits { |
463 | | using type = DimensionName; |
464 | | static auto constexpr Create = CreateDimensionName; |
465 | | }; |
466 | | |
467 | | inline flatbuffers::Offset<DimensionName> CreateDimensionNameDirect( |
468 | | flatbuffers::FlatBufferBuilder &_fbb, |
469 | 0 | const char *name = nullptr) { |
470 | 0 | auto name__ = name ? _fbb.CreateString(name) : 0; |
471 | 0 | return generated::CreateDimensionName( |
472 | 0 | _fbb, |
473 | 0 | name__); |
474 | 0 | } |
475 | | |
476 | | struct GroupNodeData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { |
477 | | typedef GroupNodeDataBuilder Builder; |
478 | | struct Traits; |
479 | 0 | bool Verify(flatbuffers::Verifier &verifier) const { |
480 | 0 | return VerifyTableStart(verifier) && |
481 | 0 | verifier.EndTable(); |
482 | 0 | } |
483 | | }; |
484 | | |
485 | | struct GroupNodeDataBuilder { |
486 | | typedef GroupNodeData Table; |
487 | | flatbuffers::FlatBufferBuilder &fbb_; |
488 | | flatbuffers::uoffset_t start_; |
489 | | explicit GroupNodeDataBuilder(flatbuffers::FlatBufferBuilder &_fbb) |
490 | 0 | : fbb_(_fbb) { |
491 | 0 | start_ = fbb_.StartTable(); |
492 | 0 | } |
493 | 0 | flatbuffers::Offset<GroupNodeData> Finish() { |
494 | 0 | const auto end = fbb_.EndTable(start_); |
495 | 0 | auto o = flatbuffers::Offset<GroupNodeData>(end); |
496 | 0 | return o; |
497 | 0 | } |
498 | | }; |
499 | | |
500 | | inline flatbuffers::Offset<GroupNodeData> CreateGroupNodeData( |
501 | 0 | flatbuffers::FlatBufferBuilder &_fbb) { |
502 | 0 | GroupNodeDataBuilder builder_(_fbb); |
503 | 0 | return builder_.Finish(); |
504 | 0 | } |
505 | | |
506 | | struct GroupNodeData::Traits { |
507 | | using type = GroupNodeData; |
508 | | static auto constexpr Create = CreateGroupNodeData; |
509 | | }; |
510 | | |
511 | | struct ArrayNodeData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { |
512 | | typedef ArrayNodeDataBuilder Builder; |
513 | | struct Traits; |
514 | | enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { |
515 | | VT_SHAPE = 4, |
516 | | VT_DIMENSION_NAMES = 6, |
517 | | VT_MANIFESTS = 8, |
518 | | VT_SHAPE_V2 = 10 |
519 | | }; |
520 | 0 | const flatbuffers::Vector<const generated::DimensionShape *> *shape() const { |
521 | 0 | return GetPointer<const flatbuffers::Vector<const generated::DimensionShape *> *>(VT_SHAPE); |
522 | 0 | } |
523 | 0 | const flatbuffers::Vector<flatbuffers::Offset<generated::DimensionName>> *dimension_names() const { |
524 | 0 | return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<generated::DimensionName>> *>(VT_DIMENSION_NAMES); |
525 | 0 | } |
526 | 0 | const flatbuffers::Vector<flatbuffers::Offset<generated::ManifestRef>> *manifests() const { |
527 | 0 | return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<generated::ManifestRef>> *>(VT_MANIFESTS); |
528 | 0 | } |
529 | 0 | const flatbuffers::Vector<flatbuffers::Offset<generated::DimensionShapeV2>> *shape_v2() const { |
530 | 0 | return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<generated::DimensionShapeV2>> *>(VT_SHAPE_V2); |
531 | 0 | } |
532 | 0 | bool Verify(flatbuffers::Verifier &verifier) const { |
533 | 0 | return VerifyTableStart(verifier) && |
534 | 0 | VerifyOffsetRequired(verifier, VT_SHAPE) && |
535 | 0 | verifier.VerifyVector(shape()) && |
536 | 0 | VerifyOffset(verifier, VT_DIMENSION_NAMES) && |
537 | 0 | verifier.VerifyVector(dimension_names()) && |
538 | 0 | verifier.VerifyVectorOfTables(dimension_names()) && |
539 | 0 | VerifyOffsetRequired(verifier, VT_MANIFESTS) && |
540 | 0 | verifier.VerifyVector(manifests()) && |
541 | 0 | verifier.VerifyVectorOfTables(manifests()) && |
542 | 0 | VerifyOffset(verifier, VT_SHAPE_V2) && |
543 | 0 | verifier.VerifyVector(shape_v2()) && |
544 | 0 | verifier.VerifyVectorOfTables(shape_v2()) && |
545 | 0 | verifier.EndTable(); |
546 | 0 | } |
547 | | }; |
548 | | |
549 | | struct ArrayNodeDataBuilder { |
550 | | typedef ArrayNodeData Table; |
551 | | flatbuffers::FlatBufferBuilder &fbb_; |
552 | | flatbuffers::uoffset_t start_; |
553 | 0 | void add_shape(flatbuffers::Offset<flatbuffers::Vector<const generated::DimensionShape *>> shape) { |
554 | 0 | fbb_.AddOffset(ArrayNodeData::VT_SHAPE, shape); |
555 | 0 | } |
556 | 0 | void add_dimension_names(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<generated::DimensionName>>> dimension_names) { |
557 | 0 | fbb_.AddOffset(ArrayNodeData::VT_DIMENSION_NAMES, dimension_names); |
558 | 0 | } |
559 | 0 | void add_manifests(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<generated::ManifestRef>>> manifests) { |
560 | 0 | fbb_.AddOffset(ArrayNodeData::VT_MANIFESTS, manifests); |
561 | 0 | } |
562 | 0 | void add_shape_v2(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<generated::DimensionShapeV2>>> shape_v2) { |
563 | 0 | fbb_.AddOffset(ArrayNodeData::VT_SHAPE_V2, shape_v2); |
564 | 0 | } |
565 | | explicit ArrayNodeDataBuilder(flatbuffers::FlatBufferBuilder &_fbb) |
566 | 0 | : fbb_(_fbb) { |
567 | 0 | start_ = fbb_.StartTable(); |
568 | 0 | } |
569 | 0 | flatbuffers::Offset<ArrayNodeData> Finish() { |
570 | 0 | const auto end = fbb_.EndTable(start_); |
571 | 0 | auto o = flatbuffers::Offset<ArrayNodeData>(end); |
572 | 0 | fbb_.Required(o, ArrayNodeData::VT_SHAPE); |
573 | 0 | fbb_.Required(o, ArrayNodeData::VT_MANIFESTS); |
574 | 0 | return o; |
575 | 0 | } |
576 | | }; |
577 | | |
578 | | inline flatbuffers::Offset<ArrayNodeData> CreateArrayNodeData( |
579 | | flatbuffers::FlatBufferBuilder &_fbb, |
580 | | flatbuffers::Offset<flatbuffers::Vector<const generated::DimensionShape *>> shape = 0, |
581 | | flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<generated::DimensionName>>> dimension_names = 0, |
582 | | flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<generated::ManifestRef>>> manifests = 0, |
583 | 0 | flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<generated::DimensionShapeV2>>> shape_v2 = 0) { |
584 | 0 | ArrayNodeDataBuilder builder_(_fbb); |
585 | 0 | builder_.add_shape_v2(shape_v2); |
586 | 0 | builder_.add_manifests(manifests); |
587 | 0 | builder_.add_dimension_names(dimension_names); |
588 | 0 | builder_.add_shape(shape); |
589 | 0 | return builder_.Finish(); |
590 | 0 | } |
591 | | |
592 | | struct ArrayNodeData::Traits { |
593 | | using type = ArrayNodeData; |
594 | | static auto constexpr Create = CreateArrayNodeData; |
595 | | }; |
596 | | |
597 | | inline flatbuffers::Offset<ArrayNodeData> CreateArrayNodeDataDirect( |
598 | | flatbuffers::FlatBufferBuilder &_fbb, |
599 | | const std::vector<generated::DimensionShape> *shape = nullptr, |
600 | | const std::vector<flatbuffers::Offset<generated::DimensionName>> *dimension_names = nullptr, |
601 | | const std::vector<flatbuffers::Offset<generated::ManifestRef>> *manifests = nullptr, |
602 | 0 | const std::vector<flatbuffers::Offset<generated::DimensionShapeV2>> *shape_v2 = nullptr) { |
603 | 0 | auto shape__ = shape ? _fbb.CreateVectorOfStructs<generated::DimensionShape>(*shape) : 0; |
604 | 0 | auto dimension_names__ = dimension_names ? _fbb.CreateVector<flatbuffers::Offset<generated::DimensionName>>(*dimension_names) : 0; |
605 | 0 | auto manifests__ = manifests ? _fbb.CreateVector<flatbuffers::Offset<generated::ManifestRef>>(*manifests) : 0; |
606 | 0 | auto shape_v2__ = shape_v2 ? _fbb.CreateVector<flatbuffers::Offset<generated::DimensionShapeV2>>(*shape_v2) : 0; |
607 | 0 | return generated::CreateArrayNodeData( |
608 | 0 | _fbb, |
609 | 0 | shape__, |
610 | 0 | dimension_names__, |
611 | 0 | manifests__, |
612 | 0 | shape_v2__); |
613 | 0 | } |
614 | | |
615 | | struct NodeSnapshot FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { |
616 | | typedef NodeSnapshotBuilder Builder; |
617 | | struct Traits; |
618 | | enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { |
619 | | VT_ID = 4, |
620 | | VT_PATH = 6, |
621 | | VT_USER_DATA = 8, |
622 | | VT_NODE_DATA_TYPE = 10, |
623 | | VT_NODE_DATA = 12, |
624 | | VT_EXTRA = 14 |
625 | | }; |
626 | 0 | const generated::ObjectId8 *id() const { |
627 | 0 | return GetStruct<const generated::ObjectId8 *>(VT_ID); |
628 | 0 | } |
629 | 0 | const flatbuffers::String *path() const { |
630 | 0 | return GetPointer<const flatbuffers::String *>(VT_PATH); |
631 | 0 | } |
632 | 0 | const flatbuffers::Vector<uint8_t> *user_data() const { |
633 | 0 | return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_USER_DATA); |
634 | 0 | } |
635 | 0 | generated::NodeData node_data_type() const { |
636 | 0 | return static_cast<generated::NodeData>(GetField<uint8_t>(VT_NODE_DATA_TYPE, 0)); |
637 | 0 | } |
638 | 0 | const void *node_data() const { |
639 | 0 | return GetPointer<const void *>(VT_NODE_DATA); |
640 | 0 | } |
641 | | template<typename T> const T *node_data_as() const; |
642 | 0 | const generated::ArrayNodeData *node_data_as_Array() const { |
643 | 0 | return node_data_type() == generated::NodeData::Array ? static_cast<const generated::ArrayNodeData *>(node_data()) : nullptr; |
644 | 0 | } |
645 | 0 | const generated::GroupNodeData *node_data_as_Group() const { |
646 | 0 | return node_data_type() == generated::NodeData::Group ? static_cast<const generated::GroupNodeData *>(node_data()) : nullptr; |
647 | 0 | } |
648 | 0 | const flatbuffers::Vector<uint8_t> *extra() const { |
649 | 0 | return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_EXTRA); |
650 | 0 | } |
651 | 0 | bool Verify(flatbuffers::Verifier &verifier) const { |
652 | 0 | return VerifyTableStart(verifier) && |
653 | 0 | VerifyFieldRequired<generated::ObjectId8>(verifier, VT_ID, 1) && |
654 | 0 | VerifyOffsetRequired(verifier, VT_PATH) && |
655 | 0 | verifier.VerifyString(path()) && |
656 | 0 | VerifyOffsetRequired(verifier, VT_USER_DATA) && |
657 | 0 | verifier.VerifyVector(user_data()) && |
658 | 0 | VerifyField<uint8_t>(verifier, VT_NODE_DATA_TYPE, 1) && |
659 | 0 | VerifyOffsetRequired(verifier, VT_NODE_DATA) && |
660 | 0 | VerifyNodeData(verifier, node_data(), node_data_type()) && |
661 | 0 | VerifyOffset(verifier, VT_EXTRA) && |
662 | 0 | verifier.VerifyVector(extra()) && |
663 | 0 | verifier.EndTable(); |
664 | 0 | } |
665 | | }; |
666 | | |
667 | 0 | template<> inline const generated::ArrayNodeData *NodeSnapshot::node_data_as<generated::ArrayNodeData>() const { |
668 | 0 | return node_data_as_Array(); |
669 | 0 | } |
670 | | |
671 | 0 | template<> inline const generated::GroupNodeData *NodeSnapshot::node_data_as<generated::GroupNodeData>() const { |
672 | 0 | return node_data_as_Group(); |
673 | 0 | } |
674 | | |
675 | | struct NodeSnapshotBuilder { |
676 | | typedef NodeSnapshot Table; |
677 | | flatbuffers::FlatBufferBuilder &fbb_; |
678 | | flatbuffers::uoffset_t start_; |
679 | 0 | void add_id(const generated::ObjectId8 *id) { |
680 | 0 | fbb_.AddStruct(NodeSnapshot::VT_ID, id); |
681 | 0 | } |
682 | 0 | void add_path(flatbuffers::Offset<flatbuffers::String> path) { |
683 | 0 | fbb_.AddOffset(NodeSnapshot::VT_PATH, path); |
684 | 0 | } |
685 | 0 | void add_user_data(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> user_data) { |
686 | 0 | fbb_.AddOffset(NodeSnapshot::VT_USER_DATA, user_data); |
687 | 0 | } |
688 | 0 | void add_node_data_type(generated::NodeData node_data_type) { |
689 | 0 | fbb_.AddElement<uint8_t>(NodeSnapshot::VT_NODE_DATA_TYPE, static_cast<uint8_t>(node_data_type), 0); |
690 | 0 | } |
691 | 0 | void add_node_data(flatbuffers::Offset<void> node_data) { |
692 | 0 | fbb_.AddOffset(NodeSnapshot::VT_NODE_DATA, node_data); |
693 | 0 | } |
694 | 0 | void add_extra(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> extra) { |
695 | 0 | fbb_.AddOffset(NodeSnapshot::VT_EXTRA, extra); |
696 | 0 | } |
697 | | explicit NodeSnapshotBuilder(flatbuffers::FlatBufferBuilder &_fbb) |
698 | 0 | : fbb_(_fbb) { |
699 | 0 | start_ = fbb_.StartTable(); |
700 | 0 | } |
701 | 0 | flatbuffers::Offset<NodeSnapshot> Finish() { |
702 | 0 | const auto end = fbb_.EndTable(start_); |
703 | 0 | auto o = flatbuffers::Offset<NodeSnapshot>(end); |
704 | 0 | fbb_.Required(o, NodeSnapshot::VT_ID); |
705 | 0 | fbb_.Required(o, NodeSnapshot::VT_PATH); |
706 | 0 | fbb_.Required(o, NodeSnapshot::VT_USER_DATA); |
707 | 0 | fbb_.Required(o, NodeSnapshot::VT_NODE_DATA); |
708 | 0 | return o; |
709 | 0 | } |
710 | | }; |
711 | | |
712 | | inline flatbuffers::Offset<NodeSnapshot> CreateNodeSnapshot( |
713 | | flatbuffers::FlatBufferBuilder &_fbb, |
714 | | const generated::ObjectId8 *id = nullptr, |
715 | | flatbuffers::Offset<flatbuffers::String> path = 0, |
716 | | flatbuffers::Offset<flatbuffers::Vector<uint8_t>> user_data = 0, |
717 | | generated::NodeData node_data_type = generated::NodeData::NONE, |
718 | | flatbuffers::Offset<void> node_data = 0, |
719 | 0 | flatbuffers::Offset<flatbuffers::Vector<uint8_t>> extra = 0) { |
720 | 0 | NodeSnapshotBuilder builder_(_fbb); |
721 | 0 | builder_.add_extra(extra); |
722 | 0 | builder_.add_node_data(node_data); |
723 | 0 | builder_.add_user_data(user_data); |
724 | 0 | builder_.add_path(path); |
725 | 0 | builder_.add_id(id); |
726 | 0 | builder_.add_node_data_type(node_data_type); |
727 | 0 | return builder_.Finish(); |
728 | 0 | } |
729 | | |
730 | | struct NodeSnapshot::Traits { |
731 | | using type = NodeSnapshot; |
732 | | static auto constexpr Create = CreateNodeSnapshot; |
733 | | }; |
734 | | |
735 | | inline flatbuffers::Offset<NodeSnapshot> CreateNodeSnapshotDirect( |
736 | | flatbuffers::FlatBufferBuilder &_fbb, |
737 | | const generated::ObjectId8 *id = nullptr, |
738 | | const char *path = nullptr, |
739 | | const std::vector<uint8_t> *user_data = nullptr, |
740 | | generated::NodeData node_data_type = generated::NodeData::NONE, |
741 | | flatbuffers::Offset<void> node_data = 0, |
742 | 0 | const std::vector<uint8_t> *extra = nullptr) { |
743 | 0 | auto path__ = path ? _fbb.CreateString(path) : 0; |
744 | 0 | auto user_data__ = user_data ? _fbb.CreateVector<uint8_t>(*user_data) : 0; |
745 | 0 | auto extra__ = extra ? _fbb.CreateVector<uint8_t>(*extra) : 0; |
746 | 0 | return generated::CreateNodeSnapshot( |
747 | 0 | _fbb, |
748 | 0 | id, |
749 | 0 | path__, |
750 | 0 | user_data__, |
751 | 0 | node_data_type, |
752 | 0 | node_data, |
753 | 0 | extra__); |
754 | 0 | } |
755 | | |
756 | | struct Snapshot FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { |
757 | | typedef SnapshotBuilder Builder; |
758 | | struct Traits; |
759 | | enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { |
760 | | VT_ID = 4, |
761 | | VT_PARENT_ID = 6, |
762 | | VT_NODES = 8, |
763 | | VT_FLUSHED_AT = 10, |
764 | | VT_MESSAGE = 12, |
765 | | VT_METADATA = 14, |
766 | | VT_MANIFEST_FILES = 16, |
767 | | VT_MANIFEST_FILES_V2 = 18, |
768 | | VT_EXTRA = 20 |
769 | | }; |
770 | 0 | const generated::ObjectId12 *id() const { |
771 | 0 | return GetStruct<const generated::ObjectId12 *>(VT_ID); |
772 | 0 | } |
773 | 0 | const generated::ObjectId12 *parent_id() const { |
774 | 0 | return GetStruct<const generated::ObjectId12 *>(VT_PARENT_ID); |
775 | 0 | } |
776 | 0 | const flatbuffers::Vector<flatbuffers::Offset<generated::NodeSnapshot>> *nodes() const { |
777 | 0 | return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<generated::NodeSnapshot>> *>(VT_NODES); |
778 | 0 | } |
779 | 0 | uint64_t flushed_at() const { |
780 | 0 | return GetField<uint64_t>(VT_FLUSHED_AT, 0); |
781 | 0 | } |
782 | 0 | const flatbuffers::String *message() const { |
783 | 0 | return GetPointer<const flatbuffers::String *>(VT_MESSAGE); |
784 | 0 | } |
785 | 0 | const flatbuffers::Vector<flatbuffers::Offset<generated::MetadataItem>> *metadata() const { |
786 | 0 | return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<generated::MetadataItem>> *>(VT_METADATA); |
787 | 0 | } |
788 | 0 | const flatbuffers::Vector<const generated::ManifestFileInfo *> *manifest_files() const { |
789 | 0 | return GetPointer<const flatbuffers::Vector<const generated::ManifestFileInfo *> *>(VT_MANIFEST_FILES); |
790 | 0 | } |
791 | 0 | const flatbuffers::Vector<flatbuffers::Offset<generated::ManifestFileInfoV2>> *manifest_files_v2() const { |
792 | 0 | return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<generated::ManifestFileInfoV2>> *>(VT_MANIFEST_FILES_V2); |
793 | 0 | } |
794 | 0 | const flatbuffers::Vector<uint8_t> *extra() const { |
795 | 0 | return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_EXTRA); |
796 | 0 | } |
797 | 0 | bool Verify(flatbuffers::Verifier &verifier) const { |
798 | 0 | return VerifyTableStart(verifier) && |
799 | 0 | VerifyFieldRequired<generated::ObjectId12>(verifier, VT_ID, 1) && |
800 | 0 | VerifyField<generated::ObjectId12>(verifier, VT_PARENT_ID, 1) && |
801 | 0 | VerifyOffsetRequired(verifier, VT_NODES) && |
802 | 0 | verifier.VerifyVector(nodes()) && |
803 | 0 | verifier.VerifyVectorOfTables(nodes()) && |
804 | 0 | VerifyField<uint64_t>(verifier, VT_FLUSHED_AT, 8) && |
805 | 0 | VerifyOffsetRequired(verifier, VT_MESSAGE) && |
806 | 0 | verifier.VerifyString(message()) && |
807 | 0 | VerifyOffsetRequired(verifier, VT_METADATA) && |
808 | 0 | verifier.VerifyVector(metadata()) && |
809 | 0 | verifier.VerifyVectorOfTables(metadata()) && |
810 | 0 | VerifyOffsetRequired(verifier, VT_MANIFEST_FILES) && |
811 | 0 | verifier.VerifyVector(manifest_files()) && |
812 | 0 | VerifyOffset(verifier, VT_MANIFEST_FILES_V2) && |
813 | 0 | verifier.VerifyVector(manifest_files_v2()) && |
814 | 0 | verifier.VerifyVectorOfTables(manifest_files_v2()) && |
815 | 0 | VerifyOffset(verifier, VT_EXTRA) && |
816 | 0 | verifier.VerifyVector(extra()) && |
817 | 0 | verifier.EndTable(); |
818 | 0 | } |
819 | | }; |
820 | | |
821 | | struct SnapshotBuilder { |
822 | | typedef Snapshot Table; |
823 | | flatbuffers::FlatBufferBuilder &fbb_; |
824 | | flatbuffers::uoffset_t start_; |
825 | 0 | void add_id(const generated::ObjectId12 *id) { |
826 | 0 | fbb_.AddStruct(Snapshot::VT_ID, id); |
827 | 0 | } |
828 | 0 | void add_parent_id(const generated::ObjectId12 *parent_id) { |
829 | 0 | fbb_.AddStruct(Snapshot::VT_PARENT_ID, parent_id); |
830 | 0 | } |
831 | 0 | void add_nodes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<generated::NodeSnapshot>>> nodes) { |
832 | 0 | fbb_.AddOffset(Snapshot::VT_NODES, nodes); |
833 | 0 | } |
834 | 0 | void add_flushed_at(uint64_t flushed_at) { |
835 | 0 | fbb_.AddElement<uint64_t>(Snapshot::VT_FLUSHED_AT, flushed_at, 0); |
836 | 0 | } |
837 | 0 | void add_message(flatbuffers::Offset<flatbuffers::String> message) { |
838 | 0 | fbb_.AddOffset(Snapshot::VT_MESSAGE, message); |
839 | 0 | } |
840 | 0 | void add_metadata(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<generated::MetadataItem>>> metadata) { |
841 | 0 | fbb_.AddOffset(Snapshot::VT_METADATA, metadata); |
842 | 0 | } |
843 | 0 | void add_manifest_files(flatbuffers::Offset<flatbuffers::Vector<const generated::ManifestFileInfo *>> manifest_files) { |
844 | 0 | fbb_.AddOffset(Snapshot::VT_MANIFEST_FILES, manifest_files); |
845 | 0 | } |
846 | 0 | void add_manifest_files_v2(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<generated::ManifestFileInfoV2>>> manifest_files_v2) { |
847 | 0 | fbb_.AddOffset(Snapshot::VT_MANIFEST_FILES_V2, manifest_files_v2); |
848 | 0 | } |
849 | 0 | void add_extra(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> extra) { |
850 | 0 | fbb_.AddOffset(Snapshot::VT_EXTRA, extra); |
851 | 0 | } |
852 | | explicit SnapshotBuilder(flatbuffers::FlatBufferBuilder &_fbb) |
853 | 0 | : fbb_(_fbb) { |
854 | 0 | start_ = fbb_.StartTable(); |
855 | 0 | } |
856 | 0 | flatbuffers::Offset<Snapshot> Finish() { |
857 | 0 | const auto end = fbb_.EndTable(start_); |
858 | 0 | auto o = flatbuffers::Offset<Snapshot>(end); |
859 | 0 | fbb_.Required(o, Snapshot::VT_ID); |
860 | 0 | fbb_.Required(o, Snapshot::VT_NODES); |
861 | 0 | fbb_.Required(o, Snapshot::VT_MESSAGE); |
862 | 0 | fbb_.Required(o, Snapshot::VT_METADATA); |
863 | 0 | fbb_.Required(o, Snapshot::VT_MANIFEST_FILES); |
864 | 0 | return o; |
865 | 0 | } |
866 | | }; |
867 | | |
868 | | inline flatbuffers::Offset<Snapshot> CreateSnapshot( |
869 | | flatbuffers::FlatBufferBuilder &_fbb, |
870 | | const generated::ObjectId12 *id = nullptr, |
871 | | const generated::ObjectId12 *parent_id = nullptr, |
872 | | flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<generated::NodeSnapshot>>> nodes = 0, |
873 | | uint64_t flushed_at = 0, |
874 | | flatbuffers::Offset<flatbuffers::String> message = 0, |
875 | | flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<generated::MetadataItem>>> metadata = 0, |
876 | | flatbuffers::Offset<flatbuffers::Vector<const generated::ManifestFileInfo *>> manifest_files = 0, |
877 | | flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<generated::ManifestFileInfoV2>>> manifest_files_v2 = 0, |
878 | 0 | flatbuffers::Offset<flatbuffers::Vector<uint8_t>> extra = 0) { |
879 | 0 | SnapshotBuilder builder_(_fbb); |
880 | 0 | builder_.add_flushed_at(flushed_at); |
881 | 0 | builder_.add_extra(extra); |
882 | 0 | builder_.add_manifest_files_v2(manifest_files_v2); |
883 | 0 | builder_.add_manifest_files(manifest_files); |
884 | 0 | builder_.add_metadata(metadata); |
885 | 0 | builder_.add_message(message); |
886 | 0 | builder_.add_nodes(nodes); |
887 | 0 | builder_.add_parent_id(parent_id); |
888 | 0 | builder_.add_id(id); |
889 | 0 | return builder_.Finish(); |
890 | 0 | } |
891 | | |
892 | | struct Snapshot::Traits { |
893 | | using type = Snapshot; |
894 | | static auto constexpr Create = CreateSnapshot; |
895 | | }; |
896 | | |
897 | | inline flatbuffers::Offset<Snapshot> CreateSnapshotDirect( |
898 | | flatbuffers::FlatBufferBuilder &_fbb, |
899 | | const generated::ObjectId12 *id = nullptr, |
900 | | const generated::ObjectId12 *parent_id = nullptr, |
901 | | const std::vector<flatbuffers::Offset<generated::NodeSnapshot>> *nodes = nullptr, |
902 | | uint64_t flushed_at = 0, |
903 | | const char *message = nullptr, |
904 | | const std::vector<flatbuffers::Offset<generated::MetadataItem>> *metadata = nullptr, |
905 | | const std::vector<generated::ManifestFileInfo> *manifest_files = nullptr, |
906 | | const std::vector<flatbuffers::Offset<generated::ManifestFileInfoV2>> *manifest_files_v2 = nullptr, |
907 | 0 | const std::vector<uint8_t> *extra = nullptr) { |
908 | 0 | auto nodes__ = nodes ? _fbb.CreateVector<flatbuffers::Offset<generated::NodeSnapshot>>(*nodes) : 0; |
909 | 0 | auto message__ = message ? _fbb.CreateString(message) : 0; |
910 | 0 | auto metadata__ = metadata ? _fbb.CreateVector<flatbuffers::Offset<generated::MetadataItem>>(*metadata) : 0; |
911 | 0 | auto manifest_files__ = manifest_files ? _fbb.CreateVectorOfStructs<generated::ManifestFileInfo>(*manifest_files) : 0; |
912 | 0 | auto manifest_files_v2__ = manifest_files_v2 ? _fbb.CreateVector<flatbuffers::Offset<generated::ManifestFileInfoV2>>(*manifest_files_v2) : 0; |
913 | 0 | auto extra__ = extra ? _fbb.CreateVector<uint8_t>(*extra) : 0; |
914 | 0 | return generated::CreateSnapshot( |
915 | 0 | _fbb, |
916 | 0 | id, |
917 | 0 | parent_id, |
918 | 0 | nodes__, |
919 | 0 | flushed_at, |
920 | 0 | message__, |
921 | 0 | metadata__, |
922 | 0 | manifest_files__, |
923 | 0 | manifest_files_v2__, |
924 | 0 | extra__); |
925 | 0 | } |
926 | | |
927 | 0 | inline bool VerifyNodeData(flatbuffers::Verifier &verifier, const void *obj, NodeData type) { |
928 | 0 | switch (type) { |
929 | 0 | case NodeData::NONE: { |
930 | 0 | return true; |
931 | 0 | } |
932 | 0 | case NodeData::Array: { |
933 | 0 | auto ptr = reinterpret_cast<const generated::ArrayNodeData *>(obj); |
934 | 0 | return verifier.VerifyTable(ptr); |
935 | 0 | } |
936 | 0 | case NodeData::Group: { |
937 | 0 | auto ptr = reinterpret_cast<const generated::GroupNodeData *>(obj); |
938 | 0 | return verifier.VerifyTable(ptr); |
939 | 0 | } |
940 | 0 | default: return true; |
941 | 0 | } |
942 | 0 | } |
943 | | |
944 | 0 | inline bool VerifyNodeDataVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<NodeData> *types) { |
945 | 0 | if (!values || !types) return !values && !types; |
946 | 0 | if (values->size() != types->size()) return false; |
947 | 0 | for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { |
948 | 0 | if (!VerifyNodeData( |
949 | 0 | verifier, values->Get(i), types->GetEnum<NodeData>(i))) { |
950 | 0 | return false; |
951 | 0 | } |
952 | 0 | } |
953 | 0 | return true; |
954 | 0 | } |
955 | | |
956 | 0 | inline const generated::Snapshot *GetSnapshot(const void *buf) { |
957 | 0 | return flatbuffers::GetRoot<generated::Snapshot>(buf); |
958 | 0 | } |
959 | | |
960 | 0 | inline const generated::Snapshot *GetSizePrefixedSnapshot(const void *buf) { |
961 | 0 | return flatbuffers::GetSizePrefixedRoot<generated::Snapshot>(buf); |
962 | 0 | } |
963 | | |
964 | | inline bool VerifySnapshotBuffer( |
965 | 0 | flatbuffers::Verifier &verifier) { |
966 | 0 | return verifier.VerifyBuffer<generated::Snapshot>(nullptr); |
967 | 0 | } |
968 | | |
969 | | inline bool VerifySizePrefixedSnapshotBuffer( |
970 | 0 | flatbuffers::Verifier &verifier) { |
971 | 0 | return verifier.VerifySizePrefixedBuffer<generated::Snapshot>(nullptr); |
972 | 0 | } |
973 | | |
974 | | inline void FinishSnapshotBuffer( |
975 | | flatbuffers::FlatBufferBuilder &fbb, |
976 | 0 | flatbuffers::Offset<generated::Snapshot> root) { |
977 | 0 | fbb.Finish(root); |
978 | 0 | } |
979 | | |
980 | | inline void FinishSizePrefixedSnapshotBuffer( |
981 | | flatbuffers::FlatBufferBuilder &fbb, |
982 | 0 | flatbuffers::Offset<generated::Snapshot> root) { |
983 | 0 | fbb.FinishSizePrefixed(root); |
984 | 0 | } |
985 | | |
986 | | } // namespace generated |
987 | | |
988 | | #endif // FLATBUFFERS_GENERATED_SNAPSHOT_GENERATED_H_ |