1 // 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
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 == 7,
14 "Non-compatible flatbuffers version included");
15
16 namespace reflection {
17
18 struct Type;
19 struct TypeBuilder;
20
21 struct KeyValue;
22 struct KeyValueBuilder;
23
24 struct EnumVal;
25 struct EnumValBuilder;
26
27 struct Enum;
28 struct EnumBuilder;
29
30 struct Field;
31 struct FieldBuilder;
32
33 struct Object;
34 struct ObjectBuilder;
35
36 struct RPCCall;
37 struct RPCCallBuilder;
38
39 struct Service;
40 struct ServiceBuilder;
41
42 struct SchemaFile;
43 struct SchemaFileBuilder;
44
45 struct Schema;
46 struct SchemaBuilder;
47
48 enum BaseType {
49 None = 0,
50 UType = 1,
51 Bool = 2,
52 Byte = 3,
53 UByte = 4,
54 Short = 5,
55 UShort = 6,
56 Int = 7,
57 UInt = 8,
58 Long = 9,
59 ULong = 10,
60 Float = 11,
61 Double = 12,
62 String = 13,
63 Vector = 14,
64 Obj = 15,
65 Union = 16,
66 Array = 17,
67 MaxBaseType = 18
68 };
69
EnumValuesBaseType()70 inline const BaseType (&EnumValuesBaseType())[19] {
71 static const BaseType values[] = {
72 None,
73 UType,
74 Bool,
75 Byte,
76 UByte,
77 Short,
78 UShort,
79 Int,
80 UInt,
81 Long,
82 ULong,
83 Float,
84 Double,
85 String,
86 Vector,
87 Obj,
88 Union,
89 Array,
90 MaxBaseType
91 };
92 return values;
93 }
94
EnumNamesBaseType()95 inline const char * const *EnumNamesBaseType() {
96 static const char * const names[20] = {
97 "None",
98 "UType",
99 "Bool",
100 "Byte",
101 "UByte",
102 "Short",
103 "UShort",
104 "Int",
105 "UInt",
106 "Long",
107 "ULong",
108 "Float",
109 "Double",
110 "String",
111 "Vector",
112 "Obj",
113 "Union",
114 "Array",
115 "MaxBaseType",
116 nullptr
117 };
118 return names;
119 }
120
EnumNameBaseType(BaseType e)121 inline const char *EnumNameBaseType(BaseType e) {
122 if (flatbuffers::IsOutRange(e, None, MaxBaseType)) return "";
123 const size_t index = static_cast<size_t>(e);
124 return EnumNamesBaseType()[index];
125 }
126
127 /// New schema language features that are not supported by old code generators.
128 enum AdvancedFeatures {
129 AdvancedArrayFeatures = 1ULL,
130 AdvancedUnionFeatures = 2ULL,
131 OptionalScalars = 4ULL,
132 DefaultVectorsAndStrings = 8ULL
133 };
134
EnumValuesAdvancedFeatures()135 inline const AdvancedFeatures (&EnumValuesAdvancedFeatures())[4] {
136 static const AdvancedFeatures values[] = {
137 AdvancedArrayFeatures,
138 AdvancedUnionFeatures,
139 OptionalScalars,
140 DefaultVectorsAndStrings
141 };
142 return values;
143 }
144
EnumNamesAdvancedFeatures()145 inline const char * const *EnumNamesAdvancedFeatures() {
146 static const char * const names[9] = {
147 "AdvancedArrayFeatures",
148 "AdvancedUnionFeatures",
149 "",
150 "OptionalScalars",
151 "",
152 "",
153 "",
154 "DefaultVectorsAndStrings",
155 nullptr
156 };
157 return names;
158 }
159
EnumNameAdvancedFeatures(AdvancedFeatures e)160 inline const char *EnumNameAdvancedFeatures(AdvancedFeatures e) {
161 if (flatbuffers::IsOutRange(e, AdvancedArrayFeatures, DefaultVectorsAndStrings)) return "";
162 const size_t index = static_cast<size_t>(e) - static_cast<size_t>(AdvancedArrayFeatures);
163 return EnumNamesAdvancedFeatures()[index];
164 }
165
166 struct Type FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
167 typedef TypeBuilder Builder;
168 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
169 VT_BASE_TYPE = 4,
170 VT_ELEMENT = 6,
171 VT_INDEX = 8,
172 VT_FIXED_LENGTH = 10,
173 VT_BASE_SIZE = 12,
174 VT_ELEMENT_SIZE = 14
175 };
base_typeFLATBUFFERS_FINAL_CLASS176 reflection::BaseType base_type() const {
177 return static_cast<reflection::BaseType>(GetField<int8_t>(VT_BASE_TYPE, 0));
178 }
elementFLATBUFFERS_FINAL_CLASS179 reflection::BaseType element() const {
180 return static_cast<reflection::BaseType>(GetField<int8_t>(VT_ELEMENT, 0));
181 }
indexFLATBUFFERS_FINAL_CLASS182 int32_t index() const {
183 return GetField<int32_t>(VT_INDEX, -1);
184 }
fixed_lengthFLATBUFFERS_FINAL_CLASS185 uint16_t fixed_length() const {
186 return GetField<uint16_t>(VT_FIXED_LENGTH, 0);
187 }
188 /// The size (octets) of the `base_type` field.
base_sizeFLATBUFFERS_FINAL_CLASS189 uint32_t base_size() const {
190 return GetField<uint32_t>(VT_BASE_SIZE, 4);
191 }
192 /// The size (octets) of the `element` field, if present.
element_sizeFLATBUFFERS_FINAL_CLASS193 uint32_t element_size() const {
194 return GetField<uint32_t>(VT_ELEMENT_SIZE, 0);
195 }
VerifyFLATBUFFERS_FINAL_CLASS196 bool Verify(flatbuffers::Verifier &verifier) const {
197 return VerifyTableStart(verifier) &&
198 VerifyField<int8_t>(verifier, VT_BASE_TYPE, 1) &&
199 VerifyField<int8_t>(verifier, VT_ELEMENT, 1) &&
200 VerifyField<int32_t>(verifier, VT_INDEX, 4) &&
201 VerifyField<uint16_t>(verifier, VT_FIXED_LENGTH, 2) &&
202 VerifyField<uint32_t>(verifier, VT_BASE_SIZE, 4) &&
203 VerifyField<uint32_t>(verifier, VT_ELEMENT_SIZE, 4) &&
204 verifier.EndTable();
205 }
206 };
207
208 struct TypeBuilder {
209 typedef Type Table;
210 flatbuffers::FlatBufferBuilder &fbb_;
211 flatbuffers::uoffset_t start_;
add_base_typeTypeBuilder212 void add_base_type(reflection::BaseType base_type) {
213 fbb_.AddElement<int8_t>(Type::VT_BASE_TYPE, static_cast<int8_t>(base_type), 0);
214 }
add_elementTypeBuilder215 void add_element(reflection::BaseType element) {
216 fbb_.AddElement<int8_t>(Type::VT_ELEMENT, static_cast<int8_t>(element), 0);
217 }
add_indexTypeBuilder218 void add_index(int32_t index) {
219 fbb_.AddElement<int32_t>(Type::VT_INDEX, index, -1);
220 }
add_fixed_lengthTypeBuilder221 void add_fixed_length(uint16_t fixed_length) {
222 fbb_.AddElement<uint16_t>(Type::VT_FIXED_LENGTH, fixed_length, 0);
223 }
add_base_sizeTypeBuilder224 void add_base_size(uint32_t base_size) {
225 fbb_.AddElement<uint32_t>(Type::VT_BASE_SIZE, base_size, 4);
226 }
add_element_sizeTypeBuilder227 void add_element_size(uint32_t element_size) {
228 fbb_.AddElement<uint32_t>(Type::VT_ELEMENT_SIZE, element_size, 0);
229 }
TypeBuilderTypeBuilder230 explicit TypeBuilder(flatbuffers::FlatBufferBuilder &_fbb)
231 : fbb_(_fbb) {
232 start_ = fbb_.StartTable();
233 }
FinishTypeBuilder234 flatbuffers::Offset<Type> Finish() {
235 const auto end = fbb_.EndTable(start_);
236 auto o = flatbuffers::Offset<Type>(end);
237 return o;
238 }
239 };
240
241 inline flatbuffers::Offset<Type> CreateType(
242 flatbuffers::FlatBufferBuilder &_fbb,
243 reflection::BaseType base_type = reflection::None,
244 reflection::BaseType element = reflection::None,
245 int32_t index = -1,
246 uint16_t fixed_length = 0,
247 uint32_t base_size = 4,
248 uint32_t element_size = 0) {
249 TypeBuilder builder_(_fbb);
250 builder_.add_element_size(element_size);
251 builder_.add_base_size(base_size);
252 builder_.add_index(index);
253 builder_.add_fixed_length(fixed_length);
254 builder_.add_element(element);
255 builder_.add_base_type(base_type);
256 return builder_.Finish();
257 }
258
259 struct KeyValue FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
260 typedef KeyValueBuilder Builder;
261 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
262 VT_KEY = 4,
263 VT_VALUE = 6
264 };
keyFLATBUFFERS_FINAL_CLASS265 const flatbuffers::String *key() const {
266 return GetPointer<const flatbuffers::String *>(VT_KEY);
267 }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS268 bool KeyCompareLessThan(const KeyValue *o) const {
269 return *key() < *o->key();
270 }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS271 int KeyCompareWithValue(const char *_key) const {
272 return strcmp(key()->c_str(), _key);
273 }
valueFLATBUFFERS_FINAL_CLASS274 const flatbuffers::String *value() const {
275 return GetPointer<const flatbuffers::String *>(VT_VALUE);
276 }
VerifyFLATBUFFERS_FINAL_CLASS277 bool Verify(flatbuffers::Verifier &verifier) const {
278 return VerifyTableStart(verifier) &&
279 VerifyOffsetRequired(verifier, VT_KEY) &&
280 verifier.VerifyString(key()) &&
281 VerifyOffset(verifier, VT_VALUE) &&
282 verifier.VerifyString(value()) &&
283 verifier.EndTable();
284 }
285 };
286
287 struct KeyValueBuilder {
288 typedef KeyValue Table;
289 flatbuffers::FlatBufferBuilder &fbb_;
290 flatbuffers::uoffset_t start_;
add_keyKeyValueBuilder291 void add_key(flatbuffers::Offset<flatbuffers::String> key) {
292 fbb_.AddOffset(KeyValue::VT_KEY, key);
293 }
add_valueKeyValueBuilder294 void add_value(flatbuffers::Offset<flatbuffers::String> value) {
295 fbb_.AddOffset(KeyValue::VT_VALUE, value);
296 }
KeyValueBuilderKeyValueBuilder297 explicit KeyValueBuilder(flatbuffers::FlatBufferBuilder &_fbb)
298 : fbb_(_fbb) {
299 start_ = fbb_.StartTable();
300 }
FinishKeyValueBuilder301 flatbuffers::Offset<KeyValue> Finish() {
302 const auto end = fbb_.EndTable(start_);
303 auto o = flatbuffers::Offset<KeyValue>(end);
304 fbb_.Required(o, KeyValue::VT_KEY);
305 return o;
306 }
307 };
308
309 inline flatbuffers::Offset<KeyValue> CreateKeyValue(
310 flatbuffers::FlatBufferBuilder &_fbb,
311 flatbuffers::Offset<flatbuffers::String> key = 0,
312 flatbuffers::Offset<flatbuffers::String> value = 0) {
313 KeyValueBuilder builder_(_fbb);
314 builder_.add_value(value);
315 builder_.add_key(key);
316 return builder_.Finish();
317 }
318
319 inline flatbuffers::Offset<KeyValue> CreateKeyValueDirect(
320 flatbuffers::FlatBufferBuilder &_fbb,
321 const char *key = nullptr,
322 const char *value = nullptr) {
323 auto key__ = key ? _fbb.CreateString(key) : 0;
324 auto value__ = value ? _fbb.CreateString(value) : 0;
325 return reflection::CreateKeyValue(
326 _fbb,
327 key__,
328 value__);
329 }
330
331 struct EnumVal FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
332 typedef EnumValBuilder Builder;
333 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
334 VT_NAME = 4,
335 VT_VALUE = 6,
336 VT_UNION_TYPE = 10,
337 VT_DOCUMENTATION = 12
338 };
nameFLATBUFFERS_FINAL_CLASS339 const flatbuffers::String *name() const {
340 return GetPointer<const flatbuffers::String *>(VT_NAME);
341 }
valueFLATBUFFERS_FINAL_CLASS342 int64_t value() const {
343 return GetField<int64_t>(VT_VALUE, 0);
344 }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS345 bool KeyCompareLessThan(const EnumVal *o) const {
346 return value() < o->value();
347 }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS348 int KeyCompareWithValue(int64_t _value) const {
349 return static_cast<int>(value() > _value) - static_cast<int>(value() < _value);
350 }
union_typeFLATBUFFERS_FINAL_CLASS351 const reflection::Type *union_type() const {
352 return GetPointer<const reflection::Type *>(VT_UNION_TYPE);
353 }
documentationFLATBUFFERS_FINAL_CLASS354 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
355 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
356 }
VerifyFLATBUFFERS_FINAL_CLASS357 bool Verify(flatbuffers::Verifier &verifier) const {
358 return VerifyTableStart(verifier) &&
359 VerifyOffsetRequired(verifier, VT_NAME) &&
360 verifier.VerifyString(name()) &&
361 VerifyField<int64_t>(verifier, VT_VALUE, 8) &&
362 VerifyOffset(verifier, VT_UNION_TYPE) &&
363 verifier.VerifyTable(union_type()) &&
364 VerifyOffset(verifier, VT_DOCUMENTATION) &&
365 verifier.VerifyVector(documentation()) &&
366 verifier.VerifyVectorOfStrings(documentation()) &&
367 verifier.EndTable();
368 }
369 };
370
371 struct EnumValBuilder {
372 typedef EnumVal Table;
373 flatbuffers::FlatBufferBuilder &fbb_;
374 flatbuffers::uoffset_t start_;
add_nameEnumValBuilder375 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
376 fbb_.AddOffset(EnumVal::VT_NAME, name);
377 }
add_valueEnumValBuilder378 void add_value(int64_t value) {
379 fbb_.AddElement<int64_t>(EnumVal::VT_VALUE, value, 0);
380 }
add_union_typeEnumValBuilder381 void add_union_type(flatbuffers::Offset<reflection::Type> union_type) {
382 fbb_.AddOffset(EnumVal::VT_UNION_TYPE, union_type);
383 }
add_documentationEnumValBuilder384 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
385 fbb_.AddOffset(EnumVal::VT_DOCUMENTATION, documentation);
386 }
EnumValBuilderEnumValBuilder387 explicit EnumValBuilder(flatbuffers::FlatBufferBuilder &_fbb)
388 : fbb_(_fbb) {
389 start_ = fbb_.StartTable();
390 }
FinishEnumValBuilder391 flatbuffers::Offset<EnumVal> Finish() {
392 const auto end = fbb_.EndTable(start_);
393 auto o = flatbuffers::Offset<EnumVal>(end);
394 fbb_.Required(o, EnumVal::VT_NAME);
395 return o;
396 }
397 };
398
399 inline flatbuffers::Offset<EnumVal> CreateEnumVal(
400 flatbuffers::FlatBufferBuilder &_fbb,
401 flatbuffers::Offset<flatbuffers::String> name = 0,
402 int64_t value = 0,
403 flatbuffers::Offset<reflection::Type> union_type = 0,
404 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
405 EnumValBuilder builder_(_fbb);
406 builder_.add_value(value);
407 builder_.add_documentation(documentation);
408 builder_.add_union_type(union_type);
409 builder_.add_name(name);
410 return builder_.Finish();
411 }
412
413 inline flatbuffers::Offset<EnumVal> CreateEnumValDirect(
414 flatbuffers::FlatBufferBuilder &_fbb,
415 const char *name = nullptr,
416 int64_t value = 0,
417 flatbuffers::Offset<reflection::Type> union_type = 0,
418 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
419 auto name__ = name ? _fbb.CreateString(name) : 0;
420 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
421 return reflection::CreateEnumVal(
422 _fbb,
423 name__,
424 value,
425 union_type,
426 documentation__);
427 }
428
429 struct Enum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
430 typedef EnumBuilder Builder;
431 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
432 VT_NAME = 4,
433 VT_VALUES = 6,
434 VT_IS_UNION = 8,
435 VT_UNDERLYING_TYPE = 10,
436 VT_ATTRIBUTES = 12,
437 VT_DOCUMENTATION = 14,
438 VT_DECLARATION_FILE = 16
439 };
nameFLATBUFFERS_FINAL_CLASS440 const flatbuffers::String *name() const {
441 return GetPointer<const flatbuffers::String *>(VT_NAME);
442 }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS443 bool KeyCompareLessThan(const Enum *o) const {
444 return *name() < *o->name();
445 }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS446 int KeyCompareWithValue(const char *_name) const {
447 return strcmp(name()->c_str(), _name);
448 }
valuesFLATBUFFERS_FINAL_CLASS449 const flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>> *values() const {
450 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>> *>(VT_VALUES);
451 }
is_unionFLATBUFFERS_FINAL_CLASS452 bool is_union() const {
453 return GetField<uint8_t>(VT_IS_UNION, 0) != 0;
454 }
underlying_typeFLATBUFFERS_FINAL_CLASS455 const reflection::Type *underlying_type() const {
456 return GetPointer<const reflection::Type *>(VT_UNDERLYING_TYPE);
457 }
attributesFLATBUFFERS_FINAL_CLASS458 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
459 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
460 }
documentationFLATBUFFERS_FINAL_CLASS461 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
462 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
463 }
464 /// File that this Enum is declared in.
declaration_fileFLATBUFFERS_FINAL_CLASS465 const flatbuffers::String *declaration_file() const {
466 return GetPointer<const flatbuffers::String *>(VT_DECLARATION_FILE);
467 }
VerifyFLATBUFFERS_FINAL_CLASS468 bool Verify(flatbuffers::Verifier &verifier) const {
469 return VerifyTableStart(verifier) &&
470 VerifyOffsetRequired(verifier, VT_NAME) &&
471 verifier.VerifyString(name()) &&
472 VerifyOffsetRequired(verifier, VT_VALUES) &&
473 verifier.VerifyVector(values()) &&
474 verifier.VerifyVectorOfTables(values()) &&
475 VerifyField<uint8_t>(verifier, VT_IS_UNION, 1) &&
476 VerifyOffsetRequired(verifier, VT_UNDERLYING_TYPE) &&
477 verifier.VerifyTable(underlying_type()) &&
478 VerifyOffset(verifier, VT_ATTRIBUTES) &&
479 verifier.VerifyVector(attributes()) &&
480 verifier.VerifyVectorOfTables(attributes()) &&
481 VerifyOffset(verifier, VT_DOCUMENTATION) &&
482 verifier.VerifyVector(documentation()) &&
483 verifier.VerifyVectorOfStrings(documentation()) &&
484 VerifyOffset(verifier, VT_DECLARATION_FILE) &&
485 verifier.VerifyString(declaration_file()) &&
486 verifier.EndTable();
487 }
488 };
489
490 struct EnumBuilder {
491 typedef Enum Table;
492 flatbuffers::FlatBufferBuilder &fbb_;
493 flatbuffers::uoffset_t start_;
add_nameEnumBuilder494 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
495 fbb_.AddOffset(Enum::VT_NAME, name);
496 }
add_valuesEnumBuilder497 void add_values(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>>> values) {
498 fbb_.AddOffset(Enum::VT_VALUES, values);
499 }
add_is_unionEnumBuilder500 void add_is_union(bool is_union) {
501 fbb_.AddElement<uint8_t>(Enum::VT_IS_UNION, static_cast<uint8_t>(is_union), 0);
502 }
add_underlying_typeEnumBuilder503 void add_underlying_type(flatbuffers::Offset<reflection::Type> underlying_type) {
504 fbb_.AddOffset(Enum::VT_UNDERLYING_TYPE, underlying_type);
505 }
add_attributesEnumBuilder506 void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
507 fbb_.AddOffset(Enum::VT_ATTRIBUTES, attributes);
508 }
add_documentationEnumBuilder509 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
510 fbb_.AddOffset(Enum::VT_DOCUMENTATION, documentation);
511 }
add_declaration_fileEnumBuilder512 void add_declaration_file(flatbuffers::Offset<flatbuffers::String> declaration_file) {
513 fbb_.AddOffset(Enum::VT_DECLARATION_FILE, declaration_file);
514 }
EnumBuilderEnumBuilder515 explicit EnumBuilder(flatbuffers::FlatBufferBuilder &_fbb)
516 : fbb_(_fbb) {
517 start_ = fbb_.StartTable();
518 }
FinishEnumBuilder519 flatbuffers::Offset<Enum> Finish() {
520 const auto end = fbb_.EndTable(start_);
521 auto o = flatbuffers::Offset<Enum>(end);
522 fbb_.Required(o, Enum::VT_NAME);
523 fbb_.Required(o, Enum::VT_VALUES);
524 fbb_.Required(o, Enum::VT_UNDERLYING_TYPE);
525 return o;
526 }
527 };
528
529 inline flatbuffers::Offset<Enum> CreateEnum(
530 flatbuffers::FlatBufferBuilder &_fbb,
531 flatbuffers::Offset<flatbuffers::String> name = 0,
532 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>>> values = 0,
533 bool is_union = false,
534 flatbuffers::Offset<reflection::Type> underlying_type = 0,
535 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
536 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0,
537 flatbuffers::Offset<flatbuffers::String> declaration_file = 0) {
538 EnumBuilder builder_(_fbb);
539 builder_.add_declaration_file(declaration_file);
540 builder_.add_documentation(documentation);
541 builder_.add_attributes(attributes);
542 builder_.add_underlying_type(underlying_type);
543 builder_.add_values(values);
544 builder_.add_name(name);
545 builder_.add_is_union(is_union);
546 return builder_.Finish();
547 }
548
549 inline flatbuffers::Offset<Enum> CreateEnumDirect(
550 flatbuffers::FlatBufferBuilder &_fbb,
551 const char *name = nullptr,
552 std::vector<flatbuffers::Offset<reflection::EnumVal>> *values = nullptr,
553 bool is_union = false,
554 flatbuffers::Offset<reflection::Type> underlying_type = 0,
555 std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
556 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr,
557 const char *declaration_file = nullptr) {
558 auto name__ = name ? _fbb.CreateString(name) : 0;
559 auto values__ = values ? _fbb.CreateVectorOfSortedTables<reflection::EnumVal>(values) : 0;
560 auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
561 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
562 auto declaration_file__ = declaration_file ? _fbb.CreateString(declaration_file) : 0;
563 return reflection::CreateEnum(
564 _fbb,
565 name__,
566 values__,
567 is_union,
568 underlying_type,
569 attributes__,
570 documentation__,
571 declaration_file__);
572 }
573
574 struct Field FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
575 typedef FieldBuilder Builder;
576 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
577 VT_NAME = 4,
578 VT_TYPE = 6,
579 VT_ID = 8,
580 VT_OFFSET = 10,
581 VT_DEFAULT_INTEGER = 12,
582 VT_DEFAULT_REAL = 14,
583 VT_DEPRECATED = 16,
584 VT_REQUIRED = 18,
585 VT_KEY = 20,
586 VT_ATTRIBUTES = 22,
587 VT_DOCUMENTATION = 24,
588 VT_OPTIONAL = 26,
589 VT_PADDING = 28
590 };
nameFLATBUFFERS_FINAL_CLASS591 const flatbuffers::String *name() const {
592 return GetPointer<const flatbuffers::String *>(VT_NAME);
593 }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS594 bool KeyCompareLessThan(const Field *o) const {
595 return *name() < *o->name();
596 }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS597 int KeyCompareWithValue(const char *_name) const {
598 return strcmp(name()->c_str(), _name);
599 }
typeFLATBUFFERS_FINAL_CLASS600 const reflection::Type *type() const {
601 return GetPointer<const reflection::Type *>(VT_TYPE);
602 }
idFLATBUFFERS_FINAL_CLASS603 uint16_t id() const {
604 return GetField<uint16_t>(VT_ID, 0);
605 }
offsetFLATBUFFERS_FINAL_CLASS606 uint16_t offset() const {
607 return GetField<uint16_t>(VT_OFFSET, 0);
608 }
default_integerFLATBUFFERS_FINAL_CLASS609 int64_t default_integer() const {
610 return GetField<int64_t>(VT_DEFAULT_INTEGER, 0);
611 }
default_realFLATBUFFERS_FINAL_CLASS612 double default_real() const {
613 return GetField<double>(VT_DEFAULT_REAL, 0.0);
614 }
deprecatedFLATBUFFERS_FINAL_CLASS615 bool deprecated() const {
616 return GetField<uint8_t>(VT_DEPRECATED, 0) != 0;
617 }
requiredFLATBUFFERS_FINAL_CLASS618 bool required() const {
619 return GetField<uint8_t>(VT_REQUIRED, 0) != 0;
620 }
keyFLATBUFFERS_FINAL_CLASS621 bool key() const {
622 return GetField<uint8_t>(VT_KEY, 0) != 0;
623 }
attributesFLATBUFFERS_FINAL_CLASS624 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
625 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
626 }
documentationFLATBUFFERS_FINAL_CLASS627 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
628 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
629 }
optionalFLATBUFFERS_FINAL_CLASS630 bool optional() const {
631 return GetField<uint8_t>(VT_OPTIONAL, 0) != 0;
632 }
633 /// Number of padding octets to always add after this field. Structs only.
paddingFLATBUFFERS_FINAL_CLASS634 uint16_t padding() const {
635 return GetField<uint16_t>(VT_PADDING, 0);
636 }
VerifyFLATBUFFERS_FINAL_CLASS637 bool Verify(flatbuffers::Verifier &verifier) const {
638 return VerifyTableStart(verifier) &&
639 VerifyOffsetRequired(verifier, VT_NAME) &&
640 verifier.VerifyString(name()) &&
641 VerifyOffsetRequired(verifier, VT_TYPE) &&
642 verifier.VerifyTable(type()) &&
643 VerifyField<uint16_t>(verifier, VT_ID, 2) &&
644 VerifyField<uint16_t>(verifier, VT_OFFSET, 2) &&
645 VerifyField<int64_t>(verifier, VT_DEFAULT_INTEGER, 8) &&
646 VerifyField<double>(verifier, VT_DEFAULT_REAL, 8) &&
647 VerifyField<uint8_t>(verifier, VT_DEPRECATED, 1) &&
648 VerifyField<uint8_t>(verifier, VT_REQUIRED, 1) &&
649 VerifyField<uint8_t>(verifier, VT_KEY, 1) &&
650 VerifyOffset(verifier, VT_ATTRIBUTES) &&
651 verifier.VerifyVector(attributes()) &&
652 verifier.VerifyVectorOfTables(attributes()) &&
653 VerifyOffset(verifier, VT_DOCUMENTATION) &&
654 verifier.VerifyVector(documentation()) &&
655 verifier.VerifyVectorOfStrings(documentation()) &&
656 VerifyField<uint8_t>(verifier, VT_OPTIONAL, 1) &&
657 VerifyField<uint16_t>(verifier, VT_PADDING, 2) &&
658 verifier.EndTable();
659 }
660 };
661
662 struct FieldBuilder {
663 typedef Field Table;
664 flatbuffers::FlatBufferBuilder &fbb_;
665 flatbuffers::uoffset_t start_;
add_nameFieldBuilder666 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
667 fbb_.AddOffset(Field::VT_NAME, name);
668 }
add_typeFieldBuilder669 void add_type(flatbuffers::Offset<reflection::Type> type) {
670 fbb_.AddOffset(Field::VT_TYPE, type);
671 }
add_idFieldBuilder672 void add_id(uint16_t id) {
673 fbb_.AddElement<uint16_t>(Field::VT_ID, id, 0);
674 }
add_offsetFieldBuilder675 void add_offset(uint16_t offset) {
676 fbb_.AddElement<uint16_t>(Field::VT_OFFSET, offset, 0);
677 }
add_default_integerFieldBuilder678 void add_default_integer(int64_t default_integer) {
679 fbb_.AddElement<int64_t>(Field::VT_DEFAULT_INTEGER, default_integer, 0);
680 }
add_default_realFieldBuilder681 void add_default_real(double default_real) {
682 fbb_.AddElement<double>(Field::VT_DEFAULT_REAL, default_real, 0.0);
683 }
add_deprecatedFieldBuilder684 void add_deprecated(bool deprecated) {
685 fbb_.AddElement<uint8_t>(Field::VT_DEPRECATED, static_cast<uint8_t>(deprecated), 0);
686 }
add_requiredFieldBuilder687 void add_required(bool required) {
688 fbb_.AddElement<uint8_t>(Field::VT_REQUIRED, static_cast<uint8_t>(required), 0);
689 }
add_keyFieldBuilder690 void add_key(bool key) {
691 fbb_.AddElement<uint8_t>(Field::VT_KEY, static_cast<uint8_t>(key), 0);
692 }
add_attributesFieldBuilder693 void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
694 fbb_.AddOffset(Field::VT_ATTRIBUTES, attributes);
695 }
add_documentationFieldBuilder696 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
697 fbb_.AddOffset(Field::VT_DOCUMENTATION, documentation);
698 }
add_optionalFieldBuilder699 void add_optional(bool optional) {
700 fbb_.AddElement<uint8_t>(Field::VT_OPTIONAL, static_cast<uint8_t>(optional), 0);
701 }
add_paddingFieldBuilder702 void add_padding(uint16_t padding) {
703 fbb_.AddElement<uint16_t>(Field::VT_PADDING, padding, 0);
704 }
FieldBuilderFieldBuilder705 explicit FieldBuilder(flatbuffers::FlatBufferBuilder &_fbb)
706 : fbb_(_fbb) {
707 start_ = fbb_.StartTable();
708 }
FinishFieldBuilder709 flatbuffers::Offset<Field> Finish() {
710 const auto end = fbb_.EndTable(start_);
711 auto o = flatbuffers::Offset<Field>(end);
712 fbb_.Required(o, Field::VT_NAME);
713 fbb_.Required(o, Field::VT_TYPE);
714 return o;
715 }
716 };
717
718 inline flatbuffers::Offset<Field> CreateField(
719 flatbuffers::FlatBufferBuilder &_fbb,
720 flatbuffers::Offset<flatbuffers::String> name = 0,
721 flatbuffers::Offset<reflection::Type> type = 0,
722 uint16_t id = 0,
723 uint16_t offset = 0,
724 int64_t default_integer = 0,
725 double default_real = 0.0,
726 bool deprecated = false,
727 bool required = false,
728 bool key = false,
729 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
730 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0,
731 bool optional = false,
732 uint16_t padding = 0) {
733 FieldBuilder builder_(_fbb);
734 builder_.add_default_real(default_real);
735 builder_.add_default_integer(default_integer);
736 builder_.add_documentation(documentation);
737 builder_.add_attributes(attributes);
738 builder_.add_type(type);
739 builder_.add_name(name);
740 builder_.add_padding(padding);
741 builder_.add_offset(offset);
742 builder_.add_id(id);
743 builder_.add_optional(optional);
744 builder_.add_key(key);
745 builder_.add_required(required);
746 builder_.add_deprecated(deprecated);
747 return builder_.Finish();
748 }
749
750 inline flatbuffers::Offset<Field> CreateFieldDirect(
751 flatbuffers::FlatBufferBuilder &_fbb,
752 const char *name = nullptr,
753 flatbuffers::Offset<reflection::Type> type = 0,
754 uint16_t id = 0,
755 uint16_t offset = 0,
756 int64_t default_integer = 0,
757 double default_real = 0.0,
758 bool deprecated = false,
759 bool required = false,
760 bool key = false,
761 std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
762 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr,
763 bool optional = false,
764 uint16_t padding = 0) {
765 auto name__ = name ? _fbb.CreateString(name) : 0;
766 auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
767 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
768 return reflection::CreateField(
769 _fbb,
770 name__,
771 type,
772 id,
773 offset,
774 default_integer,
775 default_real,
776 deprecated,
777 required,
778 key,
779 attributes__,
780 documentation__,
781 optional,
782 padding);
783 }
784
785 struct Object FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
786 typedef ObjectBuilder Builder;
787 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
788 VT_NAME = 4,
789 VT_FIELDS = 6,
790 VT_IS_STRUCT = 8,
791 VT_MINALIGN = 10,
792 VT_BYTESIZE = 12,
793 VT_ATTRIBUTES = 14,
794 VT_DOCUMENTATION = 16,
795 VT_DECLARATION_FILE = 18
796 };
nameFLATBUFFERS_FINAL_CLASS797 const flatbuffers::String *name() const {
798 return GetPointer<const flatbuffers::String *>(VT_NAME);
799 }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS800 bool KeyCompareLessThan(const Object *o) const {
801 return *name() < *o->name();
802 }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS803 int KeyCompareWithValue(const char *_name) const {
804 return strcmp(name()->c_str(), _name);
805 }
fieldsFLATBUFFERS_FINAL_CLASS806 const flatbuffers::Vector<flatbuffers::Offset<reflection::Field>> *fields() const {
807 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Field>> *>(VT_FIELDS);
808 }
is_structFLATBUFFERS_FINAL_CLASS809 bool is_struct() const {
810 return GetField<uint8_t>(VT_IS_STRUCT, 0) != 0;
811 }
minalignFLATBUFFERS_FINAL_CLASS812 int32_t minalign() const {
813 return GetField<int32_t>(VT_MINALIGN, 0);
814 }
bytesizeFLATBUFFERS_FINAL_CLASS815 int32_t bytesize() const {
816 return GetField<int32_t>(VT_BYTESIZE, 0);
817 }
attributesFLATBUFFERS_FINAL_CLASS818 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
819 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
820 }
documentationFLATBUFFERS_FINAL_CLASS821 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
822 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
823 }
824 /// File that this Object is declared in.
declaration_fileFLATBUFFERS_FINAL_CLASS825 const flatbuffers::String *declaration_file() const {
826 return GetPointer<const flatbuffers::String *>(VT_DECLARATION_FILE);
827 }
VerifyFLATBUFFERS_FINAL_CLASS828 bool Verify(flatbuffers::Verifier &verifier) const {
829 return VerifyTableStart(verifier) &&
830 VerifyOffsetRequired(verifier, VT_NAME) &&
831 verifier.VerifyString(name()) &&
832 VerifyOffsetRequired(verifier, VT_FIELDS) &&
833 verifier.VerifyVector(fields()) &&
834 verifier.VerifyVectorOfTables(fields()) &&
835 VerifyField<uint8_t>(verifier, VT_IS_STRUCT, 1) &&
836 VerifyField<int32_t>(verifier, VT_MINALIGN, 4) &&
837 VerifyField<int32_t>(verifier, VT_BYTESIZE, 4) &&
838 VerifyOffset(verifier, VT_ATTRIBUTES) &&
839 verifier.VerifyVector(attributes()) &&
840 verifier.VerifyVectorOfTables(attributes()) &&
841 VerifyOffset(verifier, VT_DOCUMENTATION) &&
842 verifier.VerifyVector(documentation()) &&
843 verifier.VerifyVectorOfStrings(documentation()) &&
844 VerifyOffset(verifier, VT_DECLARATION_FILE) &&
845 verifier.VerifyString(declaration_file()) &&
846 verifier.EndTable();
847 }
848 };
849
850 struct ObjectBuilder {
851 typedef Object Table;
852 flatbuffers::FlatBufferBuilder &fbb_;
853 flatbuffers::uoffset_t start_;
add_nameObjectBuilder854 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
855 fbb_.AddOffset(Object::VT_NAME, name);
856 }
add_fieldsObjectBuilder857 void add_fields(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Field>>> fields) {
858 fbb_.AddOffset(Object::VT_FIELDS, fields);
859 }
add_is_structObjectBuilder860 void add_is_struct(bool is_struct) {
861 fbb_.AddElement<uint8_t>(Object::VT_IS_STRUCT, static_cast<uint8_t>(is_struct), 0);
862 }
add_minalignObjectBuilder863 void add_minalign(int32_t minalign) {
864 fbb_.AddElement<int32_t>(Object::VT_MINALIGN, minalign, 0);
865 }
add_bytesizeObjectBuilder866 void add_bytesize(int32_t bytesize) {
867 fbb_.AddElement<int32_t>(Object::VT_BYTESIZE, bytesize, 0);
868 }
add_attributesObjectBuilder869 void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
870 fbb_.AddOffset(Object::VT_ATTRIBUTES, attributes);
871 }
add_documentationObjectBuilder872 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
873 fbb_.AddOffset(Object::VT_DOCUMENTATION, documentation);
874 }
add_declaration_fileObjectBuilder875 void add_declaration_file(flatbuffers::Offset<flatbuffers::String> declaration_file) {
876 fbb_.AddOffset(Object::VT_DECLARATION_FILE, declaration_file);
877 }
ObjectBuilderObjectBuilder878 explicit ObjectBuilder(flatbuffers::FlatBufferBuilder &_fbb)
879 : fbb_(_fbb) {
880 start_ = fbb_.StartTable();
881 }
FinishObjectBuilder882 flatbuffers::Offset<Object> Finish() {
883 const auto end = fbb_.EndTable(start_);
884 auto o = flatbuffers::Offset<Object>(end);
885 fbb_.Required(o, Object::VT_NAME);
886 fbb_.Required(o, Object::VT_FIELDS);
887 return o;
888 }
889 };
890
891 inline flatbuffers::Offset<Object> CreateObject(
892 flatbuffers::FlatBufferBuilder &_fbb,
893 flatbuffers::Offset<flatbuffers::String> name = 0,
894 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Field>>> fields = 0,
895 bool is_struct = false,
896 int32_t minalign = 0,
897 int32_t bytesize = 0,
898 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
899 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0,
900 flatbuffers::Offset<flatbuffers::String> declaration_file = 0) {
901 ObjectBuilder builder_(_fbb);
902 builder_.add_declaration_file(declaration_file);
903 builder_.add_documentation(documentation);
904 builder_.add_attributes(attributes);
905 builder_.add_bytesize(bytesize);
906 builder_.add_minalign(minalign);
907 builder_.add_fields(fields);
908 builder_.add_name(name);
909 builder_.add_is_struct(is_struct);
910 return builder_.Finish();
911 }
912
913 inline flatbuffers::Offset<Object> CreateObjectDirect(
914 flatbuffers::FlatBufferBuilder &_fbb,
915 const char *name = nullptr,
916 std::vector<flatbuffers::Offset<reflection::Field>> *fields = nullptr,
917 bool is_struct = false,
918 int32_t minalign = 0,
919 int32_t bytesize = 0,
920 std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
921 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr,
922 const char *declaration_file = nullptr) {
923 auto name__ = name ? _fbb.CreateString(name) : 0;
924 auto fields__ = fields ? _fbb.CreateVectorOfSortedTables<reflection::Field>(fields) : 0;
925 auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
926 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
927 auto declaration_file__ = declaration_file ? _fbb.CreateString(declaration_file) : 0;
928 return reflection::CreateObject(
929 _fbb,
930 name__,
931 fields__,
932 is_struct,
933 minalign,
934 bytesize,
935 attributes__,
936 documentation__,
937 declaration_file__);
938 }
939
940 struct RPCCall FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
941 typedef RPCCallBuilder Builder;
942 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
943 VT_NAME = 4,
944 VT_REQUEST = 6,
945 VT_RESPONSE = 8,
946 VT_ATTRIBUTES = 10,
947 VT_DOCUMENTATION = 12
948 };
nameFLATBUFFERS_FINAL_CLASS949 const flatbuffers::String *name() const {
950 return GetPointer<const flatbuffers::String *>(VT_NAME);
951 }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS952 bool KeyCompareLessThan(const RPCCall *o) const {
953 return *name() < *o->name();
954 }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS955 int KeyCompareWithValue(const char *_name) const {
956 return strcmp(name()->c_str(), _name);
957 }
requestFLATBUFFERS_FINAL_CLASS958 const reflection::Object *request() const {
959 return GetPointer<const reflection::Object *>(VT_REQUEST);
960 }
responseFLATBUFFERS_FINAL_CLASS961 const reflection::Object *response() const {
962 return GetPointer<const reflection::Object *>(VT_RESPONSE);
963 }
attributesFLATBUFFERS_FINAL_CLASS964 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
965 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
966 }
documentationFLATBUFFERS_FINAL_CLASS967 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
968 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
969 }
VerifyFLATBUFFERS_FINAL_CLASS970 bool Verify(flatbuffers::Verifier &verifier) const {
971 return VerifyTableStart(verifier) &&
972 VerifyOffsetRequired(verifier, VT_NAME) &&
973 verifier.VerifyString(name()) &&
974 VerifyOffsetRequired(verifier, VT_REQUEST) &&
975 verifier.VerifyTable(request()) &&
976 VerifyOffsetRequired(verifier, VT_RESPONSE) &&
977 verifier.VerifyTable(response()) &&
978 VerifyOffset(verifier, VT_ATTRIBUTES) &&
979 verifier.VerifyVector(attributes()) &&
980 verifier.VerifyVectorOfTables(attributes()) &&
981 VerifyOffset(verifier, VT_DOCUMENTATION) &&
982 verifier.VerifyVector(documentation()) &&
983 verifier.VerifyVectorOfStrings(documentation()) &&
984 verifier.EndTable();
985 }
986 };
987
988 struct RPCCallBuilder {
989 typedef RPCCall Table;
990 flatbuffers::FlatBufferBuilder &fbb_;
991 flatbuffers::uoffset_t start_;
add_nameRPCCallBuilder992 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
993 fbb_.AddOffset(RPCCall::VT_NAME, name);
994 }
add_requestRPCCallBuilder995 void add_request(flatbuffers::Offset<reflection::Object> request) {
996 fbb_.AddOffset(RPCCall::VT_REQUEST, request);
997 }
add_responseRPCCallBuilder998 void add_response(flatbuffers::Offset<reflection::Object> response) {
999 fbb_.AddOffset(RPCCall::VT_RESPONSE, response);
1000 }
add_attributesRPCCallBuilder1001 void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
1002 fbb_.AddOffset(RPCCall::VT_ATTRIBUTES, attributes);
1003 }
add_documentationRPCCallBuilder1004 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
1005 fbb_.AddOffset(RPCCall::VT_DOCUMENTATION, documentation);
1006 }
RPCCallBuilderRPCCallBuilder1007 explicit RPCCallBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1008 : fbb_(_fbb) {
1009 start_ = fbb_.StartTable();
1010 }
FinishRPCCallBuilder1011 flatbuffers::Offset<RPCCall> Finish() {
1012 const auto end = fbb_.EndTable(start_);
1013 auto o = flatbuffers::Offset<RPCCall>(end);
1014 fbb_.Required(o, RPCCall::VT_NAME);
1015 fbb_.Required(o, RPCCall::VT_REQUEST);
1016 fbb_.Required(o, RPCCall::VT_RESPONSE);
1017 return o;
1018 }
1019 };
1020
1021 inline flatbuffers::Offset<RPCCall> CreateRPCCall(
1022 flatbuffers::FlatBufferBuilder &_fbb,
1023 flatbuffers::Offset<flatbuffers::String> name = 0,
1024 flatbuffers::Offset<reflection::Object> request = 0,
1025 flatbuffers::Offset<reflection::Object> response = 0,
1026 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
1027 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
1028 RPCCallBuilder builder_(_fbb);
1029 builder_.add_documentation(documentation);
1030 builder_.add_attributes(attributes);
1031 builder_.add_response(response);
1032 builder_.add_request(request);
1033 builder_.add_name(name);
1034 return builder_.Finish();
1035 }
1036
1037 inline flatbuffers::Offset<RPCCall> CreateRPCCallDirect(
1038 flatbuffers::FlatBufferBuilder &_fbb,
1039 const char *name = nullptr,
1040 flatbuffers::Offset<reflection::Object> request = 0,
1041 flatbuffers::Offset<reflection::Object> response = 0,
1042 std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
1043 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
1044 auto name__ = name ? _fbb.CreateString(name) : 0;
1045 auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
1046 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
1047 return reflection::CreateRPCCall(
1048 _fbb,
1049 name__,
1050 request,
1051 response,
1052 attributes__,
1053 documentation__);
1054 }
1055
1056 struct Service FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1057 typedef ServiceBuilder Builder;
1058 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1059 VT_NAME = 4,
1060 VT_CALLS = 6,
1061 VT_ATTRIBUTES = 8,
1062 VT_DOCUMENTATION = 10,
1063 VT_DECLARATION_FILE = 12
1064 };
nameFLATBUFFERS_FINAL_CLASS1065 const flatbuffers::String *name() const {
1066 return GetPointer<const flatbuffers::String *>(VT_NAME);
1067 }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS1068 bool KeyCompareLessThan(const Service *o) const {
1069 return *name() < *o->name();
1070 }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS1071 int KeyCompareWithValue(const char *_name) const {
1072 return strcmp(name()->c_str(), _name);
1073 }
callsFLATBUFFERS_FINAL_CLASS1074 const flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>> *calls() const {
1075 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>> *>(VT_CALLS);
1076 }
attributesFLATBUFFERS_FINAL_CLASS1077 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
1078 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
1079 }
documentationFLATBUFFERS_FINAL_CLASS1080 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
1081 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
1082 }
1083 /// File that this Service is declared in.
declaration_fileFLATBUFFERS_FINAL_CLASS1084 const flatbuffers::String *declaration_file() const {
1085 return GetPointer<const flatbuffers::String *>(VT_DECLARATION_FILE);
1086 }
VerifyFLATBUFFERS_FINAL_CLASS1087 bool Verify(flatbuffers::Verifier &verifier) const {
1088 return VerifyTableStart(verifier) &&
1089 VerifyOffsetRequired(verifier, VT_NAME) &&
1090 verifier.VerifyString(name()) &&
1091 VerifyOffset(verifier, VT_CALLS) &&
1092 verifier.VerifyVector(calls()) &&
1093 verifier.VerifyVectorOfTables(calls()) &&
1094 VerifyOffset(verifier, VT_ATTRIBUTES) &&
1095 verifier.VerifyVector(attributes()) &&
1096 verifier.VerifyVectorOfTables(attributes()) &&
1097 VerifyOffset(verifier, VT_DOCUMENTATION) &&
1098 verifier.VerifyVector(documentation()) &&
1099 verifier.VerifyVectorOfStrings(documentation()) &&
1100 VerifyOffset(verifier, VT_DECLARATION_FILE) &&
1101 verifier.VerifyString(declaration_file()) &&
1102 verifier.EndTable();
1103 }
1104 };
1105
1106 struct ServiceBuilder {
1107 typedef Service Table;
1108 flatbuffers::FlatBufferBuilder &fbb_;
1109 flatbuffers::uoffset_t start_;
add_nameServiceBuilder1110 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
1111 fbb_.AddOffset(Service::VT_NAME, name);
1112 }
add_callsServiceBuilder1113 void add_calls(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>>> calls) {
1114 fbb_.AddOffset(Service::VT_CALLS, calls);
1115 }
add_attributesServiceBuilder1116 void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
1117 fbb_.AddOffset(Service::VT_ATTRIBUTES, attributes);
1118 }
add_documentationServiceBuilder1119 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
1120 fbb_.AddOffset(Service::VT_DOCUMENTATION, documentation);
1121 }
add_declaration_fileServiceBuilder1122 void add_declaration_file(flatbuffers::Offset<flatbuffers::String> declaration_file) {
1123 fbb_.AddOffset(Service::VT_DECLARATION_FILE, declaration_file);
1124 }
ServiceBuilderServiceBuilder1125 explicit ServiceBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1126 : fbb_(_fbb) {
1127 start_ = fbb_.StartTable();
1128 }
FinishServiceBuilder1129 flatbuffers::Offset<Service> Finish() {
1130 const auto end = fbb_.EndTable(start_);
1131 auto o = flatbuffers::Offset<Service>(end);
1132 fbb_.Required(o, Service::VT_NAME);
1133 return o;
1134 }
1135 };
1136
1137 inline flatbuffers::Offset<Service> CreateService(
1138 flatbuffers::FlatBufferBuilder &_fbb,
1139 flatbuffers::Offset<flatbuffers::String> name = 0,
1140 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>>> calls = 0,
1141 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
1142 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0,
1143 flatbuffers::Offset<flatbuffers::String> declaration_file = 0) {
1144 ServiceBuilder builder_(_fbb);
1145 builder_.add_declaration_file(declaration_file);
1146 builder_.add_documentation(documentation);
1147 builder_.add_attributes(attributes);
1148 builder_.add_calls(calls);
1149 builder_.add_name(name);
1150 return builder_.Finish();
1151 }
1152
1153 inline flatbuffers::Offset<Service> CreateServiceDirect(
1154 flatbuffers::FlatBufferBuilder &_fbb,
1155 const char *name = nullptr,
1156 std::vector<flatbuffers::Offset<reflection::RPCCall>> *calls = nullptr,
1157 std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
1158 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr,
1159 const char *declaration_file = nullptr) {
1160 auto name__ = name ? _fbb.CreateString(name) : 0;
1161 auto calls__ = calls ? _fbb.CreateVectorOfSortedTables<reflection::RPCCall>(calls) : 0;
1162 auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
1163 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
1164 auto declaration_file__ = declaration_file ? _fbb.CreateString(declaration_file) : 0;
1165 return reflection::CreateService(
1166 _fbb,
1167 name__,
1168 calls__,
1169 attributes__,
1170 documentation__,
1171 declaration_file__);
1172 }
1173
1174 /// File specific information.
1175 /// Symbols declared within a file may be recovered by iterating over all
1176 /// symbols and examining the `declaration_file` field.
1177 struct SchemaFile FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1178 typedef SchemaFileBuilder Builder;
1179 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1180 VT_FILENAME = 4,
1181 VT_INCLUDED_FILENAMES = 6
1182 };
1183 /// Filename, relative to project root.
filenameFLATBUFFERS_FINAL_CLASS1184 const flatbuffers::String *filename() const {
1185 return GetPointer<const flatbuffers::String *>(VT_FILENAME);
1186 }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS1187 bool KeyCompareLessThan(const SchemaFile *o) const {
1188 return *filename() < *o->filename();
1189 }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS1190 int KeyCompareWithValue(const char *_filename) const {
1191 return strcmp(filename()->c_str(), _filename);
1192 }
1193 /// Names of included files, relative to project root.
included_filenamesFLATBUFFERS_FINAL_CLASS1194 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *included_filenames() const {
1195 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_INCLUDED_FILENAMES);
1196 }
VerifyFLATBUFFERS_FINAL_CLASS1197 bool Verify(flatbuffers::Verifier &verifier) const {
1198 return VerifyTableStart(verifier) &&
1199 VerifyOffsetRequired(verifier, VT_FILENAME) &&
1200 verifier.VerifyString(filename()) &&
1201 VerifyOffset(verifier, VT_INCLUDED_FILENAMES) &&
1202 verifier.VerifyVector(included_filenames()) &&
1203 verifier.VerifyVectorOfStrings(included_filenames()) &&
1204 verifier.EndTable();
1205 }
1206 };
1207
1208 struct SchemaFileBuilder {
1209 typedef SchemaFile Table;
1210 flatbuffers::FlatBufferBuilder &fbb_;
1211 flatbuffers::uoffset_t start_;
add_filenameSchemaFileBuilder1212 void add_filename(flatbuffers::Offset<flatbuffers::String> filename) {
1213 fbb_.AddOffset(SchemaFile::VT_FILENAME, filename);
1214 }
add_included_filenamesSchemaFileBuilder1215 void add_included_filenames(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> included_filenames) {
1216 fbb_.AddOffset(SchemaFile::VT_INCLUDED_FILENAMES, included_filenames);
1217 }
SchemaFileBuilderSchemaFileBuilder1218 explicit SchemaFileBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1219 : fbb_(_fbb) {
1220 start_ = fbb_.StartTable();
1221 }
FinishSchemaFileBuilder1222 flatbuffers::Offset<SchemaFile> Finish() {
1223 const auto end = fbb_.EndTable(start_);
1224 auto o = flatbuffers::Offset<SchemaFile>(end);
1225 fbb_.Required(o, SchemaFile::VT_FILENAME);
1226 return o;
1227 }
1228 };
1229
1230 inline flatbuffers::Offset<SchemaFile> CreateSchemaFile(
1231 flatbuffers::FlatBufferBuilder &_fbb,
1232 flatbuffers::Offset<flatbuffers::String> filename = 0,
1233 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> included_filenames = 0) {
1234 SchemaFileBuilder builder_(_fbb);
1235 builder_.add_included_filenames(included_filenames);
1236 builder_.add_filename(filename);
1237 return builder_.Finish();
1238 }
1239
1240 inline flatbuffers::Offset<SchemaFile> CreateSchemaFileDirect(
1241 flatbuffers::FlatBufferBuilder &_fbb,
1242 const char *filename = nullptr,
1243 const std::vector<flatbuffers::Offset<flatbuffers::String>> *included_filenames = nullptr) {
1244 auto filename__ = filename ? _fbb.CreateString(filename) : 0;
1245 auto included_filenames__ = included_filenames ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*included_filenames) : 0;
1246 return reflection::CreateSchemaFile(
1247 _fbb,
1248 filename__,
1249 included_filenames__);
1250 }
1251
1252 struct Schema FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1253 typedef SchemaBuilder Builder;
1254 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1255 VT_OBJECTS = 4,
1256 VT_ENUMS = 6,
1257 VT_FILE_IDENT = 8,
1258 VT_FILE_EXT = 10,
1259 VT_ROOT_TABLE = 12,
1260 VT_SERVICES = 14,
1261 VT_ADVANCED_FEATURES = 16,
1262 VT_FBS_FILES = 18
1263 };
objectsFLATBUFFERS_FINAL_CLASS1264 const flatbuffers::Vector<flatbuffers::Offset<reflection::Object>> *objects() const {
1265 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Object>> *>(VT_OBJECTS);
1266 }
enumsFLATBUFFERS_FINAL_CLASS1267 const flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>> *enums() const {
1268 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>> *>(VT_ENUMS);
1269 }
file_identFLATBUFFERS_FINAL_CLASS1270 const flatbuffers::String *file_ident() const {
1271 return GetPointer<const flatbuffers::String *>(VT_FILE_IDENT);
1272 }
file_extFLATBUFFERS_FINAL_CLASS1273 const flatbuffers::String *file_ext() const {
1274 return GetPointer<const flatbuffers::String *>(VT_FILE_EXT);
1275 }
root_tableFLATBUFFERS_FINAL_CLASS1276 const reflection::Object *root_table() const {
1277 return GetPointer<const reflection::Object *>(VT_ROOT_TABLE);
1278 }
servicesFLATBUFFERS_FINAL_CLASS1279 const flatbuffers::Vector<flatbuffers::Offset<reflection::Service>> *services() const {
1280 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Service>> *>(VT_SERVICES);
1281 }
advanced_featuresFLATBUFFERS_FINAL_CLASS1282 reflection::AdvancedFeatures advanced_features() const {
1283 return static_cast<reflection::AdvancedFeatures>(GetField<uint64_t>(VT_ADVANCED_FEATURES, 0));
1284 }
1285 /// All the files used in this compilation. Files are relative to where
1286 /// flatc was invoked.
fbs_filesFLATBUFFERS_FINAL_CLASS1287 const flatbuffers::Vector<flatbuffers::Offset<reflection::SchemaFile>> *fbs_files() const {
1288 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::SchemaFile>> *>(VT_FBS_FILES);
1289 }
VerifyFLATBUFFERS_FINAL_CLASS1290 bool Verify(flatbuffers::Verifier &verifier) const {
1291 return VerifyTableStart(verifier) &&
1292 VerifyOffsetRequired(verifier, VT_OBJECTS) &&
1293 verifier.VerifyVector(objects()) &&
1294 verifier.VerifyVectorOfTables(objects()) &&
1295 VerifyOffsetRequired(verifier, VT_ENUMS) &&
1296 verifier.VerifyVector(enums()) &&
1297 verifier.VerifyVectorOfTables(enums()) &&
1298 VerifyOffset(verifier, VT_FILE_IDENT) &&
1299 verifier.VerifyString(file_ident()) &&
1300 VerifyOffset(verifier, VT_FILE_EXT) &&
1301 verifier.VerifyString(file_ext()) &&
1302 VerifyOffset(verifier, VT_ROOT_TABLE) &&
1303 verifier.VerifyTable(root_table()) &&
1304 VerifyOffset(verifier, VT_SERVICES) &&
1305 verifier.VerifyVector(services()) &&
1306 verifier.VerifyVectorOfTables(services()) &&
1307 VerifyField<uint64_t>(verifier, VT_ADVANCED_FEATURES, 8) &&
1308 VerifyOffset(verifier, VT_FBS_FILES) &&
1309 verifier.VerifyVector(fbs_files()) &&
1310 verifier.VerifyVectorOfTables(fbs_files()) &&
1311 verifier.EndTable();
1312 }
1313 };
1314
1315 struct SchemaBuilder {
1316 typedef Schema Table;
1317 flatbuffers::FlatBufferBuilder &fbb_;
1318 flatbuffers::uoffset_t start_;
add_objectsSchemaBuilder1319 void add_objects(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Object>>> objects) {
1320 fbb_.AddOffset(Schema::VT_OBJECTS, objects);
1321 }
add_enumsSchemaBuilder1322 void add_enums(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>>> enums) {
1323 fbb_.AddOffset(Schema::VT_ENUMS, enums);
1324 }
add_file_identSchemaBuilder1325 void add_file_ident(flatbuffers::Offset<flatbuffers::String> file_ident) {
1326 fbb_.AddOffset(Schema::VT_FILE_IDENT, file_ident);
1327 }
add_file_extSchemaBuilder1328 void add_file_ext(flatbuffers::Offset<flatbuffers::String> file_ext) {
1329 fbb_.AddOffset(Schema::VT_FILE_EXT, file_ext);
1330 }
add_root_tableSchemaBuilder1331 void add_root_table(flatbuffers::Offset<reflection::Object> root_table) {
1332 fbb_.AddOffset(Schema::VT_ROOT_TABLE, root_table);
1333 }
add_servicesSchemaBuilder1334 void add_services(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Service>>> services) {
1335 fbb_.AddOffset(Schema::VT_SERVICES, services);
1336 }
add_advanced_featuresSchemaBuilder1337 void add_advanced_features(reflection::AdvancedFeatures advanced_features) {
1338 fbb_.AddElement<uint64_t>(Schema::VT_ADVANCED_FEATURES, static_cast<uint64_t>(advanced_features), 0);
1339 }
add_fbs_filesSchemaBuilder1340 void add_fbs_files(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::SchemaFile>>> fbs_files) {
1341 fbb_.AddOffset(Schema::VT_FBS_FILES, fbs_files);
1342 }
SchemaBuilderSchemaBuilder1343 explicit SchemaBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1344 : fbb_(_fbb) {
1345 start_ = fbb_.StartTable();
1346 }
FinishSchemaBuilder1347 flatbuffers::Offset<Schema> Finish() {
1348 const auto end = fbb_.EndTable(start_);
1349 auto o = flatbuffers::Offset<Schema>(end);
1350 fbb_.Required(o, Schema::VT_OBJECTS);
1351 fbb_.Required(o, Schema::VT_ENUMS);
1352 return o;
1353 }
1354 };
1355
1356 inline flatbuffers::Offset<Schema> CreateSchema(
1357 flatbuffers::FlatBufferBuilder &_fbb,
1358 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Object>>> objects = 0,
1359 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>>> enums = 0,
1360 flatbuffers::Offset<flatbuffers::String> file_ident = 0,
1361 flatbuffers::Offset<flatbuffers::String> file_ext = 0,
1362 flatbuffers::Offset<reflection::Object> root_table = 0,
1363 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Service>>> services = 0,
1364 reflection::AdvancedFeatures advanced_features = static_cast<reflection::AdvancedFeatures>(0),
1365 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::SchemaFile>>> fbs_files = 0) {
1366 SchemaBuilder builder_(_fbb);
1367 builder_.add_advanced_features(advanced_features);
1368 builder_.add_fbs_files(fbs_files);
1369 builder_.add_services(services);
1370 builder_.add_root_table(root_table);
1371 builder_.add_file_ext(file_ext);
1372 builder_.add_file_ident(file_ident);
1373 builder_.add_enums(enums);
1374 builder_.add_objects(objects);
1375 return builder_.Finish();
1376 }
1377
1378 inline flatbuffers::Offset<Schema> CreateSchemaDirect(
1379 flatbuffers::FlatBufferBuilder &_fbb,
1380 std::vector<flatbuffers::Offset<reflection::Object>> *objects = nullptr,
1381 std::vector<flatbuffers::Offset<reflection::Enum>> *enums = nullptr,
1382 const char *file_ident = nullptr,
1383 const char *file_ext = nullptr,
1384 flatbuffers::Offset<reflection::Object> root_table = 0,
1385 std::vector<flatbuffers::Offset<reflection::Service>> *services = nullptr,
1386 reflection::AdvancedFeatures advanced_features = static_cast<reflection::AdvancedFeatures>(0),
1387 std::vector<flatbuffers::Offset<reflection::SchemaFile>> *fbs_files = nullptr) {
1388 auto objects__ = objects ? _fbb.CreateVectorOfSortedTables<reflection::Object>(objects) : 0;
1389 auto enums__ = enums ? _fbb.CreateVectorOfSortedTables<reflection::Enum>(enums) : 0;
1390 auto file_ident__ = file_ident ? _fbb.CreateString(file_ident) : 0;
1391 auto file_ext__ = file_ext ? _fbb.CreateString(file_ext) : 0;
1392 auto services__ = services ? _fbb.CreateVectorOfSortedTables<reflection::Service>(services) : 0;
1393 auto fbs_files__ = fbs_files ? _fbb.CreateVectorOfSortedTables<reflection::SchemaFile>(fbs_files) : 0;
1394 return reflection::CreateSchema(
1395 _fbb,
1396 objects__,
1397 enums__,
1398 file_ident__,
1399 file_ext__,
1400 root_table,
1401 services__,
1402 advanced_features,
1403 fbs_files__);
1404 }
1405
GetSchema(const void * buf)1406 inline const reflection::Schema *GetSchema(const void *buf) {
1407 return flatbuffers::GetRoot<reflection::Schema>(buf);
1408 }
1409
GetSizePrefixedSchema(const void * buf)1410 inline const reflection::Schema *GetSizePrefixedSchema(const void *buf) {
1411 return flatbuffers::GetSizePrefixedRoot<reflection::Schema>(buf);
1412 }
1413
SchemaIdentifier()1414 inline const char *SchemaIdentifier() {
1415 return "BFBS";
1416 }
1417
SchemaBufferHasIdentifier(const void * buf)1418 inline bool SchemaBufferHasIdentifier(const void *buf) {
1419 return flatbuffers::BufferHasIdentifier(
1420 buf, SchemaIdentifier());
1421 }
1422
SizePrefixedSchemaBufferHasIdentifier(const void * buf)1423 inline bool SizePrefixedSchemaBufferHasIdentifier(const void *buf) {
1424 return flatbuffers::BufferHasIdentifier(
1425 buf, SchemaIdentifier(), true);
1426 }
1427
VerifySchemaBuffer(flatbuffers::Verifier & verifier)1428 inline bool VerifySchemaBuffer(
1429 flatbuffers::Verifier &verifier) {
1430 return verifier.VerifyBuffer<reflection::Schema>(SchemaIdentifier());
1431 }
1432
VerifySizePrefixedSchemaBuffer(flatbuffers::Verifier & verifier)1433 inline bool VerifySizePrefixedSchemaBuffer(
1434 flatbuffers::Verifier &verifier) {
1435 return verifier.VerifySizePrefixedBuffer<reflection::Schema>(SchemaIdentifier());
1436 }
1437
SchemaExtension()1438 inline const char *SchemaExtension() {
1439 return "bfbs";
1440 }
1441
FinishSchemaBuffer(flatbuffers::FlatBufferBuilder & fbb,flatbuffers::Offset<reflection::Schema> root)1442 inline void FinishSchemaBuffer(
1443 flatbuffers::FlatBufferBuilder &fbb,
1444 flatbuffers::Offset<reflection::Schema> root) {
1445 fbb.Finish(root, SchemaIdentifier());
1446 }
1447
FinishSizePrefixedSchemaBuffer(flatbuffers::FlatBufferBuilder & fbb,flatbuffers::Offset<reflection::Schema> root)1448 inline void FinishSizePrefixedSchemaBuffer(
1449 flatbuffers::FlatBufferBuilder &fbb,
1450 flatbuffers::Offset<reflection::Schema> root) {
1451 fbb.FinishSizePrefixed(root, SchemaIdentifier());
1452 }
1453
1454 } // namespace reflection
1455
1456 #endif // FLATBUFFERS_GENERATED_REFLECTION_REFLECTION_H_
1457