blob: 0e73a0feef6e53759175fa464e21592b4388ad0f [file] [log] [blame]
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001// automatically generated by the FlatBuffers compiler, do not modify
2
3
4#ifndef FLATBUFFERS_GENERATED_REFLECTION_REFLECTION_H_
5#define FLATBUFFERS_GENERATED_REFLECTION_REFLECTION_H_
6
7#include "flatbuffers/flatbuffers.h"
8
9namespace reflection {
10
11struct Type;
12
13struct KeyValue;
14
15struct EnumVal;
16
17struct Enum;
18
19struct Field;
20
21struct Object;
22
23struct RPCCall;
24
25struct Service;
26
27struct Schema;
28
29enum BaseType {
30 None = 0,
31 UType = 1,
32 Bool = 2,
33 Byte = 3,
34 UByte = 4,
35 Short = 5,
36 UShort = 6,
37 Int = 7,
38 UInt = 8,
39 Long = 9,
40 ULong = 10,
41 Float = 11,
42 Double = 12,
43 String = 13,
44 Vector = 14,
45 Obj = 15,
46 Union = 16,
47 Array = 17
48};
49
50inline const BaseType (&EnumValuesBaseType())[18] {
51 static const BaseType values[] = {
52 None,
53 UType,
54 Bool,
55 Byte,
56 UByte,
57 Short,
58 UShort,
59 Int,
60 UInt,
61 Long,
62 ULong,
63 Float,
64 Double,
65 String,
66 Vector,
67 Obj,
68 Union,
69 Array
70 };
71 return values;
72}
73
74inline const char * const *EnumNamesBaseType() {
75 static const char * const names[19] = {
76 "None",
77 "UType",
78 "Bool",
79 "Byte",
80 "UByte",
81 "Short",
82 "UShort",
83 "Int",
84 "UInt",
85 "Long",
86 "ULong",
87 "Float",
88 "Double",
89 "String",
90 "Vector",
91 "Obj",
92 "Union",
93 "Array",
94 nullptr
95 };
96 return names;
97}
98
99inline const char *EnumNameBaseType(BaseType e) {
100 if (e < None || e > Array) return "";
101 const size_t index = static_cast<size_t>(e);
102 return EnumNamesBaseType()[index];
103}
104
105struct Type FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
106 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
107 VT_BASE_TYPE = 4,
108 VT_ELEMENT = 6,
109 VT_INDEX = 8,
110 VT_FIXED_LENGTH = 10
111 };
112 reflection::BaseType base_type() const {
113 return static_cast<reflection::BaseType>(GetField<int8_t>(VT_BASE_TYPE, 0));
114 }
115 reflection::BaseType element() const {
116 return static_cast<reflection::BaseType>(GetField<int8_t>(VT_ELEMENT, 0));
117 }
118 int32_t index() const {
119 return GetField<int32_t>(VT_INDEX, -1);
120 }
121 uint16_t fixed_length() const {
122 return GetField<uint16_t>(VT_FIXED_LENGTH, 0);
123 }
124 bool Verify(flatbuffers::Verifier &verifier) const {
125 return VerifyTableStart(verifier) &&
126 VerifyField<int8_t>(verifier, VT_BASE_TYPE) &&
127 VerifyField<int8_t>(verifier, VT_ELEMENT) &&
128 VerifyField<int32_t>(verifier, VT_INDEX) &&
129 VerifyField<uint16_t>(verifier, VT_FIXED_LENGTH) &&
130 verifier.EndTable();
131 }
132};
133
134struct TypeBuilder {
135 flatbuffers::FlatBufferBuilder &fbb_;
136 flatbuffers::uoffset_t start_;
137 void add_base_type(reflection::BaseType base_type) {
138 fbb_.AddElement<int8_t>(Type::VT_BASE_TYPE, static_cast<int8_t>(base_type), 0);
139 }
140 void add_element(reflection::BaseType element) {
141 fbb_.AddElement<int8_t>(Type::VT_ELEMENT, static_cast<int8_t>(element), 0);
142 }
143 void add_index(int32_t index) {
144 fbb_.AddElement<int32_t>(Type::VT_INDEX, index, -1);
145 }
146 void add_fixed_length(uint16_t fixed_length) {
147 fbb_.AddElement<uint16_t>(Type::VT_FIXED_LENGTH, fixed_length, 0);
148 }
149 explicit TypeBuilder(flatbuffers::FlatBufferBuilder &_fbb)
150 : fbb_(_fbb) {
151 start_ = fbb_.StartTable();
152 }
153 TypeBuilder &operator=(const TypeBuilder &);
154 flatbuffers::Offset<Type> Finish() {
155 const auto end = fbb_.EndTable(start_);
156 auto o = flatbuffers::Offset<Type>(end);
157 return o;
158 }
159};
160
161inline flatbuffers::Offset<Type> CreateType(
162 flatbuffers::FlatBufferBuilder &_fbb,
163 reflection::BaseType base_type = reflection::None,
164 reflection::BaseType element = reflection::None,
165 int32_t index = -1,
166 uint16_t fixed_length = 0) {
167 TypeBuilder builder_(_fbb);
168 builder_.add_index(index);
169 builder_.add_fixed_length(fixed_length);
170 builder_.add_element(element);
171 builder_.add_base_type(base_type);
172 return builder_.Finish();
173}
174
175struct KeyValue FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
176 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
177 VT_KEY = 4,
178 VT_VALUE = 6
179 };
180 const flatbuffers::String *key() const {
181 return GetPointer<const flatbuffers::String *>(VT_KEY);
182 }
183 bool KeyCompareLessThan(const KeyValue *o) const {
184 return *key() < *o->key();
185 }
186 int KeyCompareWithValue(const char *val) const {
187 return strcmp(key()->c_str(), val);
188 }
189 const flatbuffers::String *value() const {
190 return GetPointer<const flatbuffers::String *>(VT_VALUE);
191 }
192 bool Verify(flatbuffers::Verifier &verifier) const {
193 return VerifyTableStart(verifier) &&
194 VerifyOffsetRequired(verifier, VT_KEY) &&
195 verifier.VerifyString(key()) &&
196 VerifyOffset(verifier, VT_VALUE) &&
197 verifier.VerifyString(value()) &&
198 verifier.EndTable();
199 }
200};
201
202struct KeyValueBuilder {
203 flatbuffers::FlatBufferBuilder &fbb_;
204 flatbuffers::uoffset_t start_;
205 void add_key(flatbuffers::Offset<flatbuffers::String> key) {
206 fbb_.AddOffset(KeyValue::VT_KEY, key);
207 }
208 void add_value(flatbuffers::Offset<flatbuffers::String> value) {
209 fbb_.AddOffset(KeyValue::VT_VALUE, value);
210 }
211 explicit KeyValueBuilder(flatbuffers::FlatBufferBuilder &_fbb)
212 : fbb_(_fbb) {
213 start_ = fbb_.StartTable();
214 }
215 KeyValueBuilder &operator=(const KeyValueBuilder &);
216 flatbuffers::Offset<KeyValue> Finish() {
217 const auto end = fbb_.EndTable(start_);
218 auto o = flatbuffers::Offset<KeyValue>(end);
219 fbb_.Required(o, KeyValue::VT_KEY);
220 return o;
221 }
222};
223
224inline flatbuffers::Offset<KeyValue> CreateKeyValue(
225 flatbuffers::FlatBufferBuilder &_fbb,
226 flatbuffers::Offset<flatbuffers::String> key = 0,
227 flatbuffers::Offset<flatbuffers::String> value = 0) {
228 KeyValueBuilder builder_(_fbb);
229 builder_.add_value(value);
230 builder_.add_key(key);
231 return builder_.Finish();
232}
233
234inline flatbuffers::Offset<KeyValue> CreateKeyValueDirect(
235 flatbuffers::FlatBufferBuilder &_fbb,
236 const char *key = nullptr,
237 const char *value = nullptr) {
238 auto key__ = key ? _fbb.CreateString(key) : 0;
239 auto value__ = value ? _fbb.CreateString(value) : 0;
240 return reflection::CreateKeyValue(
241 _fbb,
242 key__,
243 value__);
244}
245
246struct EnumVal FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
247 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
248 VT_NAME = 4,
249 VT_VALUE = 6,
250 VT_OBJECT = 8,
251 VT_UNION_TYPE = 10,
252 VT_DOCUMENTATION = 12
253 };
254 const flatbuffers::String *name() const {
255 return GetPointer<const flatbuffers::String *>(VT_NAME);
256 }
257 int64_t value() const {
258 return GetField<int64_t>(VT_VALUE, 0);
259 }
260 bool KeyCompareLessThan(const EnumVal *o) const {
261 return value() < o->value();
262 }
263 int KeyCompareWithValue(int64_t val) const {
264 return static_cast<int>(value() > val) - static_cast<int>(value() < val);
265 }
266 const reflection::Object *object() const {
267 return GetPointer<const reflection::Object *>(VT_OBJECT);
268 }
269 const reflection::Type *union_type() const {
270 return GetPointer<const reflection::Type *>(VT_UNION_TYPE);
271 }
272 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
273 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
274 }
275 bool Verify(flatbuffers::Verifier &verifier) const {
276 return VerifyTableStart(verifier) &&
277 VerifyOffsetRequired(verifier, VT_NAME) &&
278 verifier.VerifyString(name()) &&
279 VerifyField<int64_t>(verifier, VT_VALUE) &&
280 VerifyOffset(verifier, VT_OBJECT) &&
281 verifier.VerifyTable(object()) &&
282 VerifyOffset(verifier, VT_UNION_TYPE) &&
283 verifier.VerifyTable(union_type()) &&
284 VerifyOffset(verifier, VT_DOCUMENTATION) &&
285 verifier.VerifyVector(documentation()) &&
286 verifier.VerifyVectorOfStrings(documentation()) &&
287 verifier.EndTable();
288 }
289};
290
291struct EnumValBuilder {
292 flatbuffers::FlatBufferBuilder &fbb_;
293 flatbuffers::uoffset_t start_;
294 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
295 fbb_.AddOffset(EnumVal::VT_NAME, name);
296 }
297 void add_value(int64_t value) {
298 fbb_.AddElement<int64_t>(EnumVal::VT_VALUE, value, 0);
299 }
300 void add_object(flatbuffers::Offset<reflection::Object> object) {
301 fbb_.AddOffset(EnumVal::VT_OBJECT, object);
302 }
303 void add_union_type(flatbuffers::Offset<reflection::Type> union_type) {
304 fbb_.AddOffset(EnumVal::VT_UNION_TYPE, union_type);
305 }
306 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
307 fbb_.AddOffset(EnumVal::VT_DOCUMENTATION, documentation);
308 }
309 explicit EnumValBuilder(flatbuffers::FlatBufferBuilder &_fbb)
310 : fbb_(_fbb) {
311 start_ = fbb_.StartTable();
312 }
313 EnumValBuilder &operator=(const EnumValBuilder &);
314 flatbuffers::Offset<EnumVal> Finish() {
315 const auto end = fbb_.EndTable(start_);
316 auto o = flatbuffers::Offset<EnumVal>(end);
317 fbb_.Required(o, EnumVal::VT_NAME);
318 return o;
319 }
320};
321
322inline flatbuffers::Offset<EnumVal> CreateEnumVal(
323 flatbuffers::FlatBufferBuilder &_fbb,
324 flatbuffers::Offset<flatbuffers::String> name = 0,
325 int64_t value = 0,
326 flatbuffers::Offset<reflection::Object> object = 0,
327 flatbuffers::Offset<reflection::Type> union_type = 0,
328 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
329 EnumValBuilder builder_(_fbb);
330 builder_.add_value(value);
331 builder_.add_documentation(documentation);
332 builder_.add_union_type(union_type);
333 builder_.add_object(object);
334 builder_.add_name(name);
335 return builder_.Finish();
336}
337
338inline flatbuffers::Offset<EnumVal> CreateEnumValDirect(
339 flatbuffers::FlatBufferBuilder &_fbb,
340 const char *name = nullptr,
341 int64_t value = 0,
342 flatbuffers::Offset<reflection::Object> object = 0,
343 flatbuffers::Offset<reflection::Type> union_type = 0,
344 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
345 auto name__ = name ? _fbb.CreateString(name) : 0;
346 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
347 return reflection::CreateEnumVal(
348 _fbb,
349 name__,
350 value,
351 object,
352 union_type,
353 documentation__);
354}
355
356struct Enum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
357 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
358 VT_NAME = 4,
359 VT_VALUES = 6,
360 VT_IS_UNION = 8,
361 VT_UNDERLYING_TYPE = 10,
362 VT_ATTRIBUTES = 12,
363 VT_DOCUMENTATION = 14
364 };
365 const flatbuffers::String *name() const {
366 return GetPointer<const flatbuffers::String *>(VT_NAME);
367 }
368 bool KeyCompareLessThan(const Enum *o) const {
369 return *name() < *o->name();
370 }
371 int KeyCompareWithValue(const char *val) const {
372 return strcmp(name()->c_str(), val);
373 }
374 const flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>> *values() const {
375 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>> *>(VT_VALUES);
376 }
377 bool is_union() const {
378 return GetField<uint8_t>(VT_IS_UNION, 0) != 0;
379 }
380 const reflection::Type *underlying_type() const {
381 return GetPointer<const reflection::Type *>(VT_UNDERLYING_TYPE);
382 }
383 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
384 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
385 }
386 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
387 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
388 }
389 bool Verify(flatbuffers::Verifier &verifier) const {
390 return VerifyTableStart(verifier) &&
391 VerifyOffsetRequired(verifier, VT_NAME) &&
392 verifier.VerifyString(name()) &&
393 VerifyOffsetRequired(verifier, VT_VALUES) &&
394 verifier.VerifyVector(values()) &&
395 verifier.VerifyVectorOfTables(values()) &&
396 VerifyField<uint8_t>(verifier, VT_IS_UNION) &&
397 VerifyOffsetRequired(verifier, VT_UNDERLYING_TYPE) &&
398 verifier.VerifyTable(underlying_type()) &&
399 VerifyOffset(verifier, VT_ATTRIBUTES) &&
400 verifier.VerifyVector(attributes()) &&
401 verifier.VerifyVectorOfTables(attributes()) &&
402 VerifyOffset(verifier, VT_DOCUMENTATION) &&
403 verifier.VerifyVector(documentation()) &&
404 verifier.VerifyVectorOfStrings(documentation()) &&
405 verifier.EndTable();
406 }
407};
408
409struct EnumBuilder {
410 flatbuffers::FlatBufferBuilder &fbb_;
411 flatbuffers::uoffset_t start_;
412 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
413 fbb_.AddOffset(Enum::VT_NAME, name);
414 }
415 void add_values(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>>> values) {
416 fbb_.AddOffset(Enum::VT_VALUES, values);
417 }
418 void add_is_union(bool is_union) {
419 fbb_.AddElement<uint8_t>(Enum::VT_IS_UNION, static_cast<uint8_t>(is_union), 0);
420 }
421 void add_underlying_type(flatbuffers::Offset<reflection::Type> underlying_type) {
422 fbb_.AddOffset(Enum::VT_UNDERLYING_TYPE, underlying_type);
423 }
424 void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
425 fbb_.AddOffset(Enum::VT_ATTRIBUTES, attributes);
426 }
427 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
428 fbb_.AddOffset(Enum::VT_DOCUMENTATION, documentation);
429 }
430 explicit EnumBuilder(flatbuffers::FlatBufferBuilder &_fbb)
431 : fbb_(_fbb) {
432 start_ = fbb_.StartTable();
433 }
434 EnumBuilder &operator=(const EnumBuilder &);
435 flatbuffers::Offset<Enum> Finish() {
436 const auto end = fbb_.EndTable(start_);
437 auto o = flatbuffers::Offset<Enum>(end);
438 fbb_.Required(o, Enum::VT_NAME);
439 fbb_.Required(o, Enum::VT_VALUES);
440 fbb_.Required(o, Enum::VT_UNDERLYING_TYPE);
441 return o;
442 }
443};
444
445inline flatbuffers::Offset<Enum> CreateEnum(
446 flatbuffers::FlatBufferBuilder &_fbb,
447 flatbuffers::Offset<flatbuffers::String> name = 0,
448 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>>> values = 0,
449 bool is_union = false,
450 flatbuffers::Offset<reflection::Type> underlying_type = 0,
451 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
452 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
453 EnumBuilder builder_(_fbb);
454 builder_.add_documentation(documentation);
455 builder_.add_attributes(attributes);
456 builder_.add_underlying_type(underlying_type);
457 builder_.add_values(values);
458 builder_.add_name(name);
459 builder_.add_is_union(is_union);
460 return builder_.Finish();
461}
462
463inline flatbuffers::Offset<Enum> CreateEnumDirect(
464 flatbuffers::FlatBufferBuilder &_fbb,
465 const char *name = nullptr,
466 const std::vector<flatbuffers::Offset<reflection::EnumVal>> *values = nullptr,
467 bool is_union = false,
468 flatbuffers::Offset<reflection::Type> underlying_type = 0,
469 const std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
470 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
471 auto name__ = name ? _fbb.CreateString(name) : 0;
472 auto values__ = values ? _fbb.CreateVector<flatbuffers::Offset<reflection::EnumVal>>(*values) : 0;
473 auto attributes__ = attributes ? _fbb.CreateVector<flatbuffers::Offset<reflection::KeyValue>>(*attributes) : 0;
474 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
475 return reflection::CreateEnum(
476 _fbb,
477 name__,
478 values__,
479 is_union,
480 underlying_type,
481 attributes__,
482 documentation__);
483}
484
485struct Field FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
486 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
487 VT_NAME = 4,
488 VT_TYPE = 6,
489 VT_ID = 8,
490 VT_OFFSET = 10,
491 VT_DEFAULT_INTEGER = 12,
492 VT_DEFAULT_REAL = 14,
493 VT_DEPRECATED = 16,
494 VT_REQUIRED = 18,
495 VT_KEY = 20,
496 VT_ATTRIBUTES = 22,
497 VT_DOCUMENTATION = 24
498 };
499 const flatbuffers::String *name() const {
500 return GetPointer<const flatbuffers::String *>(VT_NAME);
501 }
502 bool KeyCompareLessThan(const Field *o) const {
503 return *name() < *o->name();
504 }
505 int KeyCompareWithValue(const char *val) const {
506 return strcmp(name()->c_str(), val);
507 }
508 const reflection::Type *type() const {
509 return GetPointer<const reflection::Type *>(VT_TYPE);
510 }
511 uint16_t id() const {
512 return GetField<uint16_t>(VT_ID, 0);
513 }
514 uint16_t offset() const {
515 return GetField<uint16_t>(VT_OFFSET, 0);
516 }
517 int64_t default_integer() const {
518 return GetField<int64_t>(VT_DEFAULT_INTEGER, 0);
519 }
520 double default_real() const {
521 return GetField<double>(VT_DEFAULT_REAL, 0.0);
522 }
523 bool deprecated() const {
524 return GetField<uint8_t>(VT_DEPRECATED, 0) != 0;
525 }
526 bool required() const {
527 return GetField<uint8_t>(VT_REQUIRED, 0) != 0;
528 }
529 bool key() const {
530 return GetField<uint8_t>(VT_KEY, 0) != 0;
531 }
532 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
533 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
534 }
535 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
536 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
537 }
538 bool Verify(flatbuffers::Verifier &verifier) const {
539 return VerifyTableStart(verifier) &&
540 VerifyOffsetRequired(verifier, VT_NAME) &&
541 verifier.VerifyString(name()) &&
542 VerifyOffsetRequired(verifier, VT_TYPE) &&
543 verifier.VerifyTable(type()) &&
544 VerifyField<uint16_t>(verifier, VT_ID) &&
545 VerifyField<uint16_t>(verifier, VT_OFFSET) &&
546 VerifyField<int64_t>(verifier, VT_DEFAULT_INTEGER) &&
547 VerifyField<double>(verifier, VT_DEFAULT_REAL) &&
548 VerifyField<uint8_t>(verifier, VT_DEPRECATED) &&
549 VerifyField<uint8_t>(verifier, VT_REQUIRED) &&
550 VerifyField<uint8_t>(verifier, VT_KEY) &&
551 VerifyOffset(verifier, VT_ATTRIBUTES) &&
552 verifier.VerifyVector(attributes()) &&
553 verifier.VerifyVectorOfTables(attributes()) &&
554 VerifyOffset(verifier, VT_DOCUMENTATION) &&
555 verifier.VerifyVector(documentation()) &&
556 verifier.VerifyVectorOfStrings(documentation()) &&
557 verifier.EndTable();
558 }
559};
560
561struct FieldBuilder {
562 flatbuffers::FlatBufferBuilder &fbb_;
563 flatbuffers::uoffset_t start_;
564 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
565 fbb_.AddOffset(Field::VT_NAME, name);
566 }
567 void add_type(flatbuffers::Offset<reflection::Type> type) {
568 fbb_.AddOffset(Field::VT_TYPE, type);
569 }
570 void add_id(uint16_t id) {
571 fbb_.AddElement<uint16_t>(Field::VT_ID, id, 0);
572 }
573 void add_offset(uint16_t offset) {
574 fbb_.AddElement<uint16_t>(Field::VT_OFFSET, offset, 0);
575 }
576 void add_default_integer(int64_t default_integer) {
577 fbb_.AddElement<int64_t>(Field::VT_DEFAULT_INTEGER, default_integer, 0);
578 }
579 void add_default_real(double default_real) {
580 fbb_.AddElement<double>(Field::VT_DEFAULT_REAL, default_real, 0.0);
581 }
582 void add_deprecated(bool deprecated) {
583 fbb_.AddElement<uint8_t>(Field::VT_DEPRECATED, static_cast<uint8_t>(deprecated), 0);
584 }
585 void add_required(bool required) {
586 fbb_.AddElement<uint8_t>(Field::VT_REQUIRED, static_cast<uint8_t>(required), 0);
587 }
588 void add_key(bool key) {
589 fbb_.AddElement<uint8_t>(Field::VT_KEY, static_cast<uint8_t>(key), 0);
590 }
591 void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
592 fbb_.AddOffset(Field::VT_ATTRIBUTES, attributes);
593 }
594 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
595 fbb_.AddOffset(Field::VT_DOCUMENTATION, documentation);
596 }
597 explicit FieldBuilder(flatbuffers::FlatBufferBuilder &_fbb)
598 : fbb_(_fbb) {
599 start_ = fbb_.StartTable();
600 }
601 FieldBuilder &operator=(const FieldBuilder &);
602 flatbuffers::Offset<Field> Finish() {
603 const auto end = fbb_.EndTable(start_);
604 auto o = flatbuffers::Offset<Field>(end);
605 fbb_.Required(o, Field::VT_NAME);
606 fbb_.Required(o, Field::VT_TYPE);
607 return o;
608 }
609};
610
611inline flatbuffers::Offset<Field> CreateField(
612 flatbuffers::FlatBufferBuilder &_fbb,
613 flatbuffers::Offset<flatbuffers::String> name = 0,
614 flatbuffers::Offset<reflection::Type> type = 0,
615 uint16_t id = 0,
616 uint16_t offset = 0,
617 int64_t default_integer = 0,
618 double default_real = 0.0,
619 bool deprecated = false,
620 bool required = false,
621 bool key = false,
622 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
623 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
624 FieldBuilder builder_(_fbb);
625 builder_.add_default_real(default_real);
626 builder_.add_default_integer(default_integer);
627 builder_.add_documentation(documentation);
628 builder_.add_attributes(attributes);
629 builder_.add_type(type);
630 builder_.add_name(name);
631 builder_.add_offset(offset);
632 builder_.add_id(id);
633 builder_.add_key(key);
634 builder_.add_required(required);
635 builder_.add_deprecated(deprecated);
636 return builder_.Finish();
637}
638
639inline flatbuffers::Offset<Field> CreateFieldDirect(
640 flatbuffers::FlatBufferBuilder &_fbb,
641 const char *name = nullptr,
642 flatbuffers::Offset<reflection::Type> type = 0,
643 uint16_t id = 0,
644 uint16_t offset = 0,
645 int64_t default_integer = 0,
646 double default_real = 0.0,
647 bool deprecated = false,
648 bool required = false,
649 bool key = false,
650 const std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
651 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
652 auto name__ = name ? _fbb.CreateString(name) : 0;
653 auto attributes__ = attributes ? _fbb.CreateVector<flatbuffers::Offset<reflection::KeyValue>>(*attributes) : 0;
654 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
655 return reflection::CreateField(
656 _fbb,
657 name__,
658 type,
659 id,
660 offset,
661 default_integer,
662 default_real,
663 deprecated,
664 required,
665 key,
666 attributes__,
667 documentation__);
668}
669
670struct Object FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
671 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
672 VT_NAME = 4,
673 VT_FIELDS = 6,
674 VT_IS_STRUCT = 8,
675 VT_MINALIGN = 10,
676 VT_BYTESIZE = 12,
677 VT_ATTRIBUTES = 14,
678 VT_DOCUMENTATION = 16
679 };
680 const flatbuffers::String *name() const {
681 return GetPointer<const flatbuffers::String *>(VT_NAME);
682 }
683 bool KeyCompareLessThan(const Object *o) const {
684 return *name() < *o->name();
685 }
686 int KeyCompareWithValue(const char *val) const {
687 return strcmp(name()->c_str(), val);
688 }
689 const flatbuffers::Vector<flatbuffers::Offset<reflection::Field>> *fields() const {
690 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Field>> *>(VT_FIELDS);
691 }
692 bool is_struct() const {
693 return GetField<uint8_t>(VT_IS_STRUCT, 0) != 0;
694 }
695 int32_t minalign() const {
696 return GetField<int32_t>(VT_MINALIGN, 0);
697 }
698 int32_t bytesize() const {
699 return GetField<int32_t>(VT_BYTESIZE, 0);
700 }
701 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
702 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
703 }
704 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
705 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
706 }
707 bool Verify(flatbuffers::Verifier &verifier) const {
708 return VerifyTableStart(verifier) &&
709 VerifyOffsetRequired(verifier, VT_NAME) &&
710 verifier.VerifyString(name()) &&
711 VerifyOffsetRequired(verifier, VT_FIELDS) &&
712 verifier.VerifyVector(fields()) &&
713 verifier.VerifyVectorOfTables(fields()) &&
714 VerifyField<uint8_t>(verifier, VT_IS_STRUCT) &&
715 VerifyField<int32_t>(verifier, VT_MINALIGN) &&
716 VerifyField<int32_t>(verifier, VT_BYTESIZE) &&
717 VerifyOffset(verifier, VT_ATTRIBUTES) &&
718 verifier.VerifyVector(attributes()) &&
719 verifier.VerifyVectorOfTables(attributes()) &&
720 VerifyOffset(verifier, VT_DOCUMENTATION) &&
721 verifier.VerifyVector(documentation()) &&
722 verifier.VerifyVectorOfStrings(documentation()) &&
723 verifier.EndTable();
724 }
725};
726
727struct ObjectBuilder {
728 flatbuffers::FlatBufferBuilder &fbb_;
729 flatbuffers::uoffset_t start_;
730 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
731 fbb_.AddOffset(Object::VT_NAME, name);
732 }
733 void add_fields(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Field>>> fields) {
734 fbb_.AddOffset(Object::VT_FIELDS, fields);
735 }
736 void add_is_struct(bool is_struct) {
737 fbb_.AddElement<uint8_t>(Object::VT_IS_STRUCT, static_cast<uint8_t>(is_struct), 0);
738 }
739 void add_minalign(int32_t minalign) {
740 fbb_.AddElement<int32_t>(Object::VT_MINALIGN, minalign, 0);
741 }
742 void add_bytesize(int32_t bytesize) {
743 fbb_.AddElement<int32_t>(Object::VT_BYTESIZE, bytesize, 0);
744 }
745 void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
746 fbb_.AddOffset(Object::VT_ATTRIBUTES, attributes);
747 }
748 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
749 fbb_.AddOffset(Object::VT_DOCUMENTATION, documentation);
750 }
751 explicit ObjectBuilder(flatbuffers::FlatBufferBuilder &_fbb)
752 : fbb_(_fbb) {
753 start_ = fbb_.StartTable();
754 }
755 ObjectBuilder &operator=(const ObjectBuilder &);
756 flatbuffers::Offset<Object> Finish() {
757 const auto end = fbb_.EndTable(start_);
758 auto o = flatbuffers::Offset<Object>(end);
759 fbb_.Required(o, Object::VT_NAME);
760 fbb_.Required(o, Object::VT_FIELDS);
761 return o;
762 }
763};
764
765inline flatbuffers::Offset<Object> CreateObject(
766 flatbuffers::FlatBufferBuilder &_fbb,
767 flatbuffers::Offset<flatbuffers::String> name = 0,
768 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Field>>> fields = 0,
769 bool is_struct = false,
770 int32_t minalign = 0,
771 int32_t bytesize = 0,
772 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
773 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
774 ObjectBuilder builder_(_fbb);
775 builder_.add_documentation(documentation);
776 builder_.add_attributes(attributes);
777 builder_.add_bytesize(bytesize);
778 builder_.add_minalign(minalign);
779 builder_.add_fields(fields);
780 builder_.add_name(name);
781 builder_.add_is_struct(is_struct);
782 return builder_.Finish();
783}
784
785inline flatbuffers::Offset<Object> CreateObjectDirect(
786 flatbuffers::FlatBufferBuilder &_fbb,
787 const char *name = nullptr,
788 const std::vector<flatbuffers::Offset<reflection::Field>> *fields = nullptr,
789 bool is_struct = false,
790 int32_t minalign = 0,
791 int32_t bytesize = 0,
792 const std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
793 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
794 auto name__ = name ? _fbb.CreateString(name) : 0;
795 auto fields__ = fields ? _fbb.CreateVector<flatbuffers::Offset<reflection::Field>>(*fields) : 0;
796 auto attributes__ = attributes ? _fbb.CreateVector<flatbuffers::Offset<reflection::KeyValue>>(*attributes) : 0;
797 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
798 return reflection::CreateObject(
799 _fbb,
800 name__,
801 fields__,
802 is_struct,
803 minalign,
804 bytesize,
805 attributes__,
806 documentation__);
807}
808
809struct RPCCall FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
810 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
811 VT_NAME = 4,
812 VT_REQUEST = 6,
813 VT_RESPONSE = 8,
814 VT_ATTRIBUTES = 10,
815 VT_DOCUMENTATION = 12
816 };
817 const flatbuffers::String *name() const {
818 return GetPointer<const flatbuffers::String *>(VT_NAME);
819 }
820 bool KeyCompareLessThan(const RPCCall *o) const {
821 return *name() < *o->name();
822 }
823 int KeyCompareWithValue(const char *val) const {
824 return strcmp(name()->c_str(), val);
825 }
826 const reflection::Object *request() const {
827 return GetPointer<const reflection::Object *>(VT_REQUEST);
828 }
829 const reflection::Object *response() const {
830 return GetPointer<const reflection::Object *>(VT_RESPONSE);
831 }
832 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
833 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
834 }
835 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
836 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
837 }
838 bool Verify(flatbuffers::Verifier &verifier) const {
839 return VerifyTableStart(verifier) &&
840 VerifyOffsetRequired(verifier, VT_NAME) &&
841 verifier.VerifyString(name()) &&
842 VerifyOffsetRequired(verifier, VT_REQUEST) &&
843 verifier.VerifyTable(request()) &&
844 VerifyOffsetRequired(verifier, VT_RESPONSE) &&
845 verifier.VerifyTable(response()) &&
846 VerifyOffset(verifier, VT_ATTRIBUTES) &&
847 verifier.VerifyVector(attributes()) &&
848 verifier.VerifyVectorOfTables(attributes()) &&
849 VerifyOffset(verifier, VT_DOCUMENTATION) &&
850 verifier.VerifyVector(documentation()) &&
851 verifier.VerifyVectorOfStrings(documentation()) &&
852 verifier.EndTable();
853 }
854};
855
856struct RPCCallBuilder {
857 flatbuffers::FlatBufferBuilder &fbb_;
858 flatbuffers::uoffset_t start_;
859 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
860 fbb_.AddOffset(RPCCall::VT_NAME, name);
861 }
862 void add_request(flatbuffers::Offset<reflection::Object> request) {
863 fbb_.AddOffset(RPCCall::VT_REQUEST, request);
864 }
865 void add_response(flatbuffers::Offset<reflection::Object> response) {
866 fbb_.AddOffset(RPCCall::VT_RESPONSE, response);
867 }
868 void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
869 fbb_.AddOffset(RPCCall::VT_ATTRIBUTES, attributes);
870 }
871 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
872 fbb_.AddOffset(RPCCall::VT_DOCUMENTATION, documentation);
873 }
874 explicit RPCCallBuilder(flatbuffers::FlatBufferBuilder &_fbb)
875 : fbb_(_fbb) {
876 start_ = fbb_.StartTable();
877 }
878 RPCCallBuilder &operator=(const RPCCallBuilder &);
879 flatbuffers::Offset<RPCCall> Finish() {
880 const auto end = fbb_.EndTable(start_);
881 auto o = flatbuffers::Offset<RPCCall>(end);
882 fbb_.Required(o, RPCCall::VT_NAME);
883 fbb_.Required(o, RPCCall::VT_REQUEST);
884 fbb_.Required(o, RPCCall::VT_RESPONSE);
885 return o;
886 }
887};
888
889inline flatbuffers::Offset<RPCCall> CreateRPCCall(
890 flatbuffers::FlatBufferBuilder &_fbb,
891 flatbuffers::Offset<flatbuffers::String> name = 0,
892 flatbuffers::Offset<reflection::Object> request = 0,
893 flatbuffers::Offset<reflection::Object> response = 0,
894 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
895 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
896 RPCCallBuilder builder_(_fbb);
897 builder_.add_documentation(documentation);
898 builder_.add_attributes(attributes);
899 builder_.add_response(response);
900 builder_.add_request(request);
901 builder_.add_name(name);
902 return builder_.Finish();
903}
904
905inline flatbuffers::Offset<RPCCall> CreateRPCCallDirect(
906 flatbuffers::FlatBufferBuilder &_fbb,
907 const char *name = nullptr,
908 flatbuffers::Offset<reflection::Object> request = 0,
909 flatbuffers::Offset<reflection::Object> response = 0,
910 const std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
911 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
912 auto name__ = name ? _fbb.CreateString(name) : 0;
913 auto attributes__ = attributes ? _fbb.CreateVector<flatbuffers::Offset<reflection::KeyValue>>(*attributes) : 0;
914 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
915 return reflection::CreateRPCCall(
916 _fbb,
917 name__,
918 request,
919 response,
920 attributes__,
921 documentation__);
922}
923
924struct Service FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
925 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
926 VT_NAME = 4,
927 VT_CALLS = 6,
928 VT_ATTRIBUTES = 8,
929 VT_DOCUMENTATION = 10
930 };
931 const flatbuffers::String *name() const {
932 return GetPointer<const flatbuffers::String *>(VT_NAME);
933 }
934 bool KeyCompareLessThan(const Service *o) const {
935 return *name() < *o->name();
936 }
937 int KeyCompareWithValue(const char *val) const {
938 return strcmp(name()->c_str(), val);
939 }
940 const flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>> *calls() const {
941 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>> *>(VT_CALLS);
942 }
943 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
944 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
945 }
946 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
947 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
948 }
949 bool Verify(flatbuffers::Verifier &verifier) const {
950 return VerifyTableStart(verifier) &&
951 VerifyOffsetRequired(verifier, VT_NAME) &&
952 verifier.VerifyString(name()) &&
953 VerifyOffset(verifier, VT_CALLS) &&
954 verifier.VerifyVector(calls()) &&
955 verifier.VerifyVectorOfTables(calls()) &&
956 VerifyOffset(verifier, VT_ATTRIBUTES) &&
957 verifier.VerifyVector(attributes()) &&
958 verifier.VerifyVectorOfTables(attributes()) &&
959 VerifyOffset(verifier, VT_DOCUMENTATION) &&
960 verifier.VerifyVector(documentation()) &&
961 verifier.VerifyVectorOfStrings(documentation()) &&
962 verifier.EndTable();
963 }
964};
965
966struct ServiceBuilder {
967 flatbuffers::FlatBufferBuilder &fbb_;
968 flatbuffers::uoffset_t start_;
969 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
970 fbb_.AddOffset(Service::VT_NAME, name);
971 }
972 void add_calls(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>>> calls) {
973 fbb_.AddOffset(Service::VT_CALLS, calls);
974 }
975 void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
976 fbb_.AddOffset(Service::VT_ATTRIBUTES, attributes);
977 }
978 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
979 fbb_.AddOffset(Service::VT_DOCUMENTATION, documentation);
980 }
981 explicit ServiceBuilder(flatbuffers::FlatBufferBuilder &_fbb)
982 : fbb_(_fbb) {
983 start_ = fbb_.StartTable();
984 }
985 ServiceBuilder &operator=(const ServiceBuilder &);
986 flatbuffers::Offset<Service> Finish() {
987 const auto end = fbb_.EndTable(start_);
988 auto o = flatbuffers::Offset<Service>(end);
989 fbb_.Required(o, Service::VT_NAME);
990 return o;
991 }
992};
993
994inline flatbuffers::Offset<Service> CreateService(
995 flatbuffers::FlatBufferBuilder &_fbb,
996 flatbuffers::Offset<flatbuffers::String> name = 0,
997 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>>> calls = 0,
998 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
999 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
1000 ServiceBuilder builder_(_fbb);
1001 builder_.add_documentation(documentation);
1002 builder_.add_attributes(attributes);
1003 builder_.add_calls(calls);
1004 builder_.add_name(name);
1005 return builder_.Finish();
1006}
1007
1008inline flatbuffers::Offset<Service> CreateServiceDirect(
1009 flatbuffers::FlatBufferBuilder &_fbb,
1010 const char *name = nullptr,
1011 const std::vector<flatbuffers::Offset<reflection::RPCCall>> *calls = nullptr,
1012 const std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
1013 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
1014 auto name__ = name ? _fbb.CreateString(name) : 0;
1015 auto calls__ = calls ? _fbb.CreateVector<flatbuffers::Offset<reflection::RPCCall>>(*calls) : 0;
1016 auto attributes__ = attributes ? _fbb.CreateVector<flatbuffers::Offset<reflection::KeyValue>>(*attributes) : 0;
1017 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
1018 return reflection::CreateService(
1019 _fbb,
1020 name__,
1021 calls__,
1022 attributes__,
1023 documentation__);
1024}
1025
1026struct Schema FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1027 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1028 VT_OBJECTS = 4,
1029 VT_ENUMS = 6,
1030 VT_FILE_IDENT = 8,
1031 VT_FILE_EXT = 10,
1032 VT_ROOT_TABLE = 12,
1033 VT_SERVICES = 14
1034 };
1035 const flatbuffers::Vector<flatbuffers::Offset<reflection::Object>> *objects() const {
1036 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Object>> *>(VT_OBJECTS);
1037 }
1038 const flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>> *enums() const {
1039 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>> *>(VT_ENUMS);
1040 }
1041 const flatbuffers::String *file_ident() const {
1042 return GetPointer<const flatbuffers::String *>(VT_FILE_IDENT);
1043 }
1044 const flatbuffers::String *file_ext() const {
1045 return GetPointer<const flatbuffers::String *>(VT_FILE_EXT);
1046 }
1047 const reflection::Object *root_table() const {
1048 return GetPointer<const reflection::Object *>(VT_ROOT_TABLE);
1049 }
1050 const flatbuffers::Vector<flatbuffers::Offset<reflection::Service>> *services() const {
1051 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Service>> *>(VT_SERVICES);
1052 }
1053 bool Verify(flatbuffers::Verifier &verifier) const {
1054 return VerifyTableStart(verifier) &&
1055 VerifyOffsetRequired(verifier, VT_OBJECTS) &&
1056 verifier.VerifyVector(objects()) &&
1057 verifier.VerifyVectorOfTables(objects()) &&
1058 VerifyOffsetRequired(verifier, VT_ENUMS) &&
1059 verifier.VerifyVector(enums()) &&
1060 verifier.VerifyVectorOfTables(enums()) &&
1061 VerifyOffset(verifier, VT_FILE_IDENT) &&
1062 verifier.VerifyString(file_ident()) &&
1063 VerifyOffset(verifier, VT_FILE_EXT) &&
1064 verifier.VerifyString(file_ext()) &&
1065 VerifyOffset(verifier, VT_ROOT_TABLE) &&
1066 verifier.VerifyTable(root_table()) &&
1067 VerifyOffset(verifier, VT_SERVICES) &&
1068 verifier.VerifyVector(services()) &&
1069 verifier.VerifyVectorOfTables(services()) &&
1070 verifier.EndTable();
1071 }
1072};
1073
1074struct SchemaBuilder {
1075 flatbuffers::FlatBufferBuilder &fbb_;
1076 flatbuffers::uoffset_t start_;
1077 void add_objects(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Object>>> objects) {
1078 fbb_.AddOffset(Schema::VT_OBJECTS, objects);
1079 }
1080 void add_enums(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>>> enums) {
1081 fbb_.AddOffset(Schema::VT_ENUMS, enums);
1082 }
1083 void add_file_ident(flatbuffers::Offset<flatbuffers::String> file_ident) {
1084 fbb_.AddOffset(Schema::VT_FILE_IDENT, file_ident);
1085 }
1086 void add_file_ext(flatbuffers::Offset<flatbuffers::String> file_ext) {
1087 fbb_.AddOffset(Schema::VT_FILE_EXT, file_ext);
1088 }
1089 void add_root_table(flatbuffers::Offset<reflection::Object> root_table) {
1090 fbb_.AddOffset(Schema::VT_ROOT_TABLE, root_table);
1091 }
1092 void add_services(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Service>>> services) {
1093 fbb_.AddOffset(Schema::VT_SERVICES, services);
1094 }
1095 explicit SchemaBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1096 : fbb_(_fbb) {
1097 start_ = fbb_.StartTable();
1098 }
1099 SchemaBuilder &operator=(const SchemaBuilder &);
1100 flatbuffers::Offset<Schema> Finish() {
1101 const auto end = fbb_.EndTable(start_);
1102 auto o = flatbuffers::Offset<Schema>(end);
1103 fbb_.Required(o, Schema::VT_OBJECTS);
1104 fbb_.Required(o, Schema::VT_ENUMS);
1105 return o;
1106 }
1107};
1108
1109inline flatbuffers::Offset<Schema> CreateSchema(
1110 flatbuffers::FlatBufferBuilder &_fbb,
1111 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Object>>> objects = 0,
1112 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>>> enums = 0,
1113 flatbuffers::Offset<flatbuffers::String> file_ident = 0,
1114 flatbuffers::Offset<flatbuffers::String> file_ext = 0,
1115 flatbuffers::Offset<reflection::Object> root_table = 0,
1116 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Service>>> services = 0) {
1117 SchemaBuilder builder_(_fbb);
1118 builder_.add_services(services);
1119 builder_.add_root_table(root_table);
1120 builder_.add_file_ext(file_ext);
1121 builder_.add_file_ident(file_ident);
1122 builder_.add_enums(enums);
1123 builder_.add_objects(objects);
1124 return builder_.Finish();
1125}
1126
1127inline flatbuffers::Offset<Schema> CreateSchemaDirect(
1128 flatbuffers::FlatBufferBuilder &_fbb,
1129 const std::vector<flatbuffers::Offset<reflection::Object>> *objects = nullptr,
1130 const std::vector<flatbuffers::Offset<reflection::Enum>> *enums = nullptr,
1131 const char *file_ident = nullptr,
1132 const char *file_ext = nullptr,
1133 flatbuffers::Offset<reflection::Object> root_table = 0,
1134 const std::vector<flatbuffers::Offset<reflection::Service>> *services = nullptr) {
1135 auto objects__ = objects ? _fbb.CreateVector<flatbuffers::Offset<reflection::Object>>(*objects) : 0;
1136 auto enums__ = enums ? _fbb.CreateVector<flatbuffers::Offset<reflection::Enum>>(*enums) : 0;
1137 auto file_ident__ = file_ident ? _fbb.CreateString(file_ident) : 0;
1138 auto file_ext__ = file_ext ? _fbb.CreateString(file_ext) : 0;
1139 auto services__ = services ? _fbb.CreateVector<flatbuffers::Offset<reflection::Service>>(*services) : 0;
1140 return reflection::CreateSchema(
1141 _fbb,
1142 objects__,
1143 enums__,
1144 file_ident__,
1145 file_ext__,
1146 root_table,
1147 services__);
1148}
1149
1150inline const reflection::Schema *GetSchema(const void *buf) {
1151 return flatbuffers::GetRoot<reflection::Schema>(buf);
1152}
1153
1154inline const reflection::Schema *GetSizePrefixedSchema(const void *buf) {
1155 return flatbuffers::GetSizePrefixedRoot<reflection::Schema>(buf);
1156}
1157
1158inline const char *SchemaIdentifier() {
1159 return "BFBS";
1160}
1161
1162inline bool SchemaBufferHasIdentifier(const void *buf) {
1163 return flatbuffers::BufferHasIdentifier(
1164 buf, SchemaIdentifier());
1165}
1166
1167inline bool VerifySchemaBuffer(
1168 flatbuffers::Verifier &verifier) {
1169 return verifier.VerifyBuffer<reflection::Schema>(SchemaIdentifier());
1170}
1171
1172inline bool VerifySizePrefixedSchemaBuffer(
1173 flatbuffers::Verifier &verifier) {
1174 return verifier.VerifySizePrefixedBuffer<reflection::Schema>(SchemaIdentifier());
1175}
1176
1177inline const char *SchemaExtension() {
1178 return "bfbs";
1179}
1180
1181inline void FinishSchemaBuffer(
1182 flatbuffers::FlatBufferBuilder &fbb,
1183 flatbuffers::Offset<reflection::Schema> root) {
1184 fbb.Finish(root, SchemaIdentifier());
1185}
1186
1187inline void FinishSizePrefixedSchemaBuffer(
1188 flatbuffers::FlatBufferBuilder &fbb,
1189 flatbuffers::Offset<reflection::Schema> root) {
1190 fbb.FinishSizePrefixed(root, SchemaIdentifier());
1191}
1192
1193} // namespace reflection
1194
1195#endif // FLATBUFFERS_GENERATED_REFLECTION_REFLECTION_H_