• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 namespace reflection {
10 
11 struct Type;
12 struct TypeBuilder;
13 
14 struct KeyValue;
15 struct KeyValueBuilder;
16 
17 struct EnumVal;
18 struct EnumValBuilder;
19 
20 struct Enum;
21 struct EnumBuilder;
22 
23 struct Field;
24 struct FieldBuilder;
25 
26 struct Object;
27 struct ObjectBuilder;
28 
29 struct RPCCall;
30 struct RPCCallBuilder;
31 
32 struct Service;
33 struct ServiceBuilder;
34 
35 struct Schema;
36 struct SchemaBuilder;
37 
38 enum BaseType {
39   None = 0,
40   UType = 1,
41   Bool = 2,
42   Byte = 3,
43   UByte = 4,
44   Short = 5,
45   UShort = 6,
46   Int = 7,
47   UInt = 8,
48   Long = 9,
49   ULong = 10,
50   Float = 11,
51   Double = 12,
52   String = 13,
53   Vector = 14,
54   Obj = 15,
55   Union = 16,
56   Array = 17
57 };
58 
EnumValuesBaseType()59 inline const BaseType (&EnumValuesBaseType())[18] {
60   static const BaseType values[] = {
61     None,
62     UType,
63     Bool,
64     Byte,
65     UByte,
66     Short,
67     UShort,
68     Int,
69     UInt,
70     Long,
71     ULong,
72     Float,
73     Double,
74     String,
75     Vector,
76     Obj,
77     Union,
78     Array
79   };
80   return values;
81 }
82 
EnumNamesBaseType()83 inline const char * const *EnumNamesBaseType() {
84   static const char * const names[19] = {
85     "None",
86     "UType",
87     "Bool",
88     "Byte",
89     "UByte",
90     "Short",
91     "UShort",
92     "Int",
93     "UInt",
94     "Long",
95     "ULong",
96     "Float",
97     "Double",
98     "String",
99     "Vector",
100     "Obj",
101     "Union",
102     "Array",
103     nullptr
104   };
105   return names;
106 }
107 
EnumNameBaseType(BaseType e)108 inline const char *EnumNameBaseType(BaseType e) {
109   if (flatbuffers::IsOutRange(e, None, Array)) return "";
110   const size_t index = static_cast<size_t>(e);
111   return EnumNamesBaseType()[index];
112 }
113 
114 struct Type FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
115   typedef TypeBuilder Builder;
116   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
117     VT_BASE_TYPE = 4,
118     VT_ELEMENT = 6,
119     VT_INDEX = 8,
120     VT_FIXED_LENGTH = 10
121   };
base_typeFLATBUFFERS_FINAL_CLASS122   reflection::BaseType base_type() const {
123     return static_cast<reflection::BaseType>(GetField<int8_t>(VT_BASE_TYPE, 0));
124   }
elementFLATBUFFERS_FINAL_CLASS125   reflection::BaseType element() const {
126     return static_cast<reflection::BaseType>(GetField<int8_t>(VT_ELEMENT, 0));
127   }
indexFLATBUFFERS_FINAL_CLASS128   int32_t index() const {
129     return GetField<int32_t>(VT_INDEX, -1);
130   }
fixed_lengthFLATBUFFERS_FINAL_CLASS131   uint16_t fixed_length() const {
132     return GetField<uint16_t>(VT_FIXED_LENGTH, 0);
133   }
VerifyFLATBUFFERS_FINAL_CLASS134   bool Verify(flatbuffers::Verifier &verifier) const {
135     return VerifyTableStart(verifier) &&
136            VerifyField<int8_t>(verifier, VT_BASE_TYPE) &&
137            VerifyField<int8_t>(verifier, VT_ELEMENT) &&
138            VerifyField<int32_t>(verifier, VT_INDEX) &&
139            VerifyField<uint16_t>(verifier, VT_FIXED_LENGTH) &&
140            verifier.EndTable();
141   }
142 };
143 
144 struct TypeBuilder {
145   typedef Type Table;
146   flatbuffers::FlatBufferBuilder &fbb_;
147   flatbuffers::uoffset_t start_;
add_base_typeTypeBuilder148   void add_base_type(reflection::BaseType base_type) {
149     fbb_.AddElement<int8_t>(Type::VT_BASE_TYPE, static_cast<int8_t>(base_type), 0);
150   }
add_elementTypeBuilder151   void add_element(reflection::BaseType element) {
152     fbb_.AddElement<int8_t>(Type::VT_ELEMENT, static_cast<int8_t>(element), 0);
153   }
add_indexTypeBuilder154   void add_index(int32_t index) {
155     fbb_.AddElement<int32_t>(Type::VT_INDEX, index, -1);
156   }
add_fixed_lengthTypeBuilder157   void add_fixed_length(uint16_t fixed_length) {
158     fbb_.AddElement<uint16_t>(Type::VT_FIXED_LENGTH, fixed_length, 0);
159   }
TypeBuilderTypeBuilder160   explicit TypeBuilder(flatbuffers::FlatBufferBuilder &_fbb)
161         : fbb_(_fbb) {
162     start_ = fbb_.StartTable();
163   }
164   TypeBuilder &operator=(const TypeBuilder &);
FinishTypeBuilder165   flatbuffers::Offset<Type> Finish() {
166     const auto end = fbb_.EndTable(start_);
167     auto o = flatbuffers::Offset<Type>(end);
168     return o;
169   }
170 };
171 
172 inline flatbuffers::Offset<Type> CreateType(
173     flatbuffers::FlatBufferBuilder &_fbb,
174     reflection::BaseType base_type = reflection::None,
175     reflection::BaseType element = reflection::None,
176     int32_t index = -1,
177     uint16_t fixed_length = 0) {
178   TypeBuilder builder_(_fbb);
179   builder_.add_index(index);
180   builder_.add_fixed_length(fixed_length);
181   builder_.add_element(element);
182   builder_.add_base_type(base_type);
183   return builder_.Finish();
184 }
185 
186 struct KeyValue FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
187   typedef KeyValueBuilder Builder;
188   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
189     VT_KEY = 4,
190     VT_VALUE = 6
191   };
keyFLATBUFFERS_FINAL_CLASS192   const flatbuffers::String *key() const {
193     return GetPointer<const flatbuffers::String *>(VT_KEY);
194   }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS195   bool KeyCompareLessThan(const KeyValue *o) const {
196     return *key() < *o->key();
197   }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS198   int KeyCompareWithValue(const char *val) const {
199     return strcmp(key()->c_str(), val);
200   }
valueFLATBUFFERS_FINAL_CLASS201   const flatbuffers::String *value() const {
202     return GetPointer<const flatbuffers::String *>(VT_VALUE);
203   }
VerifyFLATBUFFERS_FINAL_CLASS204   bool Verify(flatbuffers::Verifier &verifier) const {
205     return VerifyTableStart(verifier) &&
206            VerifyOffsetRequired(verifier, VT_KEY) &&
207            verifier.VerifyString(key()) &&
208            VerifyOffset(verifier, VT_VALUE) &&
209            verifier.VerifyString(value()) &&
210            verifier.EndTable();
211   }
212 };
213 
214 struct KeyValueBuilder {
215   typedef KeyValue Table;
216   flatbuffers::FlatBufferBuilder &fbb_;
217   flatbuffers::uoffset_t start_;
add_keyKeyValueBuilder218   void add_key(flatbuffers::Offset<flatbuffers::String> key) {
219     fbb_.AddOffset(KeyValue::VT_KEY, key);
220   }
add_valueKeyValueBuilder221   void add_value(flatbuffers::Offset<flatbuffers::String> value) {
222     fbb_.AddOffset(KeyValue::VT_VALUE, value);
223   }
KeyValueBuilderKeyValueBuilder224   explicit KeyValueBuilder(flatbuffers::FlatBufferBuilder &_fbb)
225         : fbb_(_fbb) {
226     start_ = fbb_.StartTable();
227   }
228   KeyValueBuilder &operator=(const KeyValueBuilder &);
FinishKeyValueBuilder229   flatbuffers::Offset<KeyValue> Finish() {
230     const auto end = fbb_.EndTable(start_);
231     auto o = flatbuffers::Offset<KeyValue>(end);
232     fbb_.Required(o, KeyValue::VT_KEY);
233     return o;
234   }
235 };
236 
237 inline flatbuffers::Offset<KeyValue> CreateKeyValue(
238     flatbuffers::FlatBufferBuilder &_fbb,
239     flatbuffers::Offset<flatbuffers::String> key = 0,
240     flatbuffers::Offset<flatbuffers::String> value = 0) {
241   KeyValueBuilder builder_(_fbb);
242   builder_.add_value(value);
243   builder_.add_key(key);
244   return builder_.Finish();
245 }
246 
247 inline flatbuffers::Offset<KeyValue> CreateKeyValueDirect(
248     flatbuffers::FlatBufferBuilder &_fbb,
249     const char *key = nullptr,
250     const char *value = nullptr) {
251   auto key__ = key ? _fbb.CreateString(key) : 0;
252   auto value__ = value ? _fbb.CreateString(value) : 0;
253   return reflection::CreateKeyValue(
254       _fbb,
255       key__,
256       value__);
257 }
258 
259 struct EnumVal FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
260   typedef EnumValBuilder Builder;
261   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
262     VT_NAME = 4,
263     VT_VALUE = 6,
264     VT_OBJECT = 8,
265     VT_UNION_TYPE = 10,
266     VT_DOCUMENTATION = 12
267   };
nameFLATBUFFERS_FINAL_CLASS268   const flatbuffers::String *name() const {
269     return GetPointer<const flatbuffers::String *>(VT_NAME);
270   }
valueFLATBUFFERS_FINAL_CLASS271   int64_t value() const {
272     return GetField<int64_t>(VT_VALUE, 0);
273   }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS274   bool KeyCompareLessThan(const EnumVal *o) const {
275     return value() < o->value();
276   }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS277   int KeyCompareWithValue(int64_t val) const {
278     return static_cast<int>(value() > val) - static_cast<int>(value() < val);
279   }
objectFLATBUFFERS_FINAL_CLASS280   const reflection::Object *object() const {
281     return GetPointer<const reflection::Object *>(VT_OBJECT);
282   }
union_typeFLATBUFFERS_FINAL_CLASS283   const reflection::Type *union_type() const {
284     return GetPointer<const reflection::Type *>(VT_UNION_TYPE);
285   }
documentationFLATBUFFERS_FINAL_CLASS286   const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
287     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
288   }
VerifyFLATBUFFERS_FINAL_CLASS289   bool Verify(flatbuffers::Verifier &verifier) const {
290     return VerifyTableStart(verifier) &&
291            VerifyOffsetRequired(verifier, VT_NAME) &&
292            verifier.VerifyString(name()) &&
293            VerifyField<int64_t>(verifier, VT_VALUE) &&
294            VerifyOffset(verifier, VT_OBJECT) &&
295            verifier.VerifyTable(object()) &&
296            VerifyOffset(verifier, VT_UNION_TYPE) &&
297            verifier.VerifyTable(union_type()) &&
298            VerifyOffset(verifier, VT_DOCUMENTATION) &&
299            verifier.VerifyVector(documentation()) &&
300            verifier.VerifyVectorOfStrings(documentation()) &&
301            verifier.EndTable();
302   }
303 };
304 
305 struct EnumValBuilder {
306   typedef EnumVal Table;
307   flatbuffers::FlatBufferBuilder &fbb_;
308   flatbuffers::uoffset_t start_;
add_nameEnumValBuilder309   void add_name(flatbuffers::Offset<flatbuffers::String> name) {
310     fbb_.AddOffset(EnumVal::VT_NAME, name);
311   }
add_valueEnumValBuilder312   void add_value(int64_t value) {
313     fbb_.AddElement<int64_t>(EnumVal::VT_VALUE, value, 0);
314   }
add_objectEnumValBuilder315   void add_object(flatbuffers::Offset<reflection::Object> object) {
316     fbb_.AddOffset(EnumVal::VT_OBJECT, object);
317   }
add_union_typeEnumValBuilder318   void add_union_type(flatbuffers::Offset<reflection::Type> union_type) {
319     fbb_.AddOffset(EnumVal::VT_UNION_TYPE, union_type);
320   }
add_documentationEnumValBuilder321   void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
322     fbb_.AddOffset(EnumVal::VT_DOCUMENTATION, documentation);
323   }
EnumValBuilderEnumValBuilder324   explicit EnumValBuilder(flatbuffers::FlatBufferBuilder &_fbb)
325         : fbb_(_fbb) {
326     start_ = fbb_.StartTable();
327   }
328   EnumValBuilder &operator=(const EnumValBuilder &);
FinishEnumValBuilder329   flatbuffers::Offset<EnumVal> Finish() {
330     const auto end = fbb_.EndTable(start_);
331     auto o = flatbuffers::Offset<EnumVal>(end);
332     fbb_.Required(o, EnumVal::VT_NAME);
333     return o;
334   }
335 };
336 
337 inline flatbuffers::Offset<EnumVal> CreateEnumVal(
338     flatbuffers::FlatBufferBuilder &_fbb,
339     flatbuffers::Offset<flatbuffers::String> name = 0,
340     int64_t value = 0,
341     flatbuffers::Offset<reflection::Object> object = 0,
342     flatbuffers::Offset<reflection::Type> union_type = 0,
343     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
344   EnumValBuilder builder_(_fbb);
345   builder_.add_value(value);
346   builder_.add_documentation(documentation);
347   builder_.add_union_type(union_type);
348   builder_.add_object(object);
349   builder_.add_name(name);
350   return builder_.Finish();
351 }
352 
353 inline flatbuffers::Offset<EnumVal> CreateEnumValDirect(
354     flatbuffers::FlatBufferBuilder &_fbb,
355     const char *name = nullptr,
356     int64_t value = 0,
357     flatbuffers::Offset<reflection::Object> object = 0,
358     flatbuffers::Offset<reflection::Type> union_type = 0,
359     const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
360   auto name__ = name ? _fbb.CreateString(name) : 0;
361   auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
362   return reflection::CreateEnumVal(
363       _fbb,
364       name__,
365       value,
366       object,
367       union_type,
368       documentation__);
369 }
370 
371 struct Enum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
372   typedef EnumBuilder Builder;
373   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
374     VT_NAME = 4,
375     VT_VALUES = 6,
376     VT_IS_UNION = 8,
377     VT_UNDERLYING_TYPE = 10,
378     VT_ATTRIBUTES = 12,
379     VT_DOCUMENTATION = 14
380   };
nameFLATBUFFERS_FINAL_CLASS381   const flatbuffers::String *name() const {
382     return GetPointer<const flatbuffers::String *>(VT_NAME);
383   }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS384   bool KeyCompareLessThan(const Enum *o) const {
385     return *name() < *o->name();
386   }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS387   int KeyCompareWithValue(const char *val) const {
388     return strcmp(name()->c_str(), val);
389   }
valuesFLATBUFFERS_FINAL_CLASS390   const flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>> *values() const {
391     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>> *>(VT_VALUES);
392   }
is_unionFLATBUFFERS_FINAL_CLASS393   bool is_union() const {
394     return GetField<uint8_t>(VT_IS_UNION, 0) != 0;
395   }
underlying_typeFLATBUFFERS_FINAL_CLASS396   const reflection::Type *underlying_type() const {
397     return GetPointer<const reflection::Type *>(VT_UNDERLYING_TYPE);
398   }
attributesFLATBUFFERS_FINAL_CLASS399   const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
400     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
401   }
documentationFLATBUFFERS_FINAL_CLASS402   const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
403     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
404   }
VerifyFLATBUFFERS_FINAL_CLASS405   bool Verify(flatbuffers::Verifier &verifier) const {
406     return VerifyTableStart(verifier) &&
407            VerifyOffsetRequired(verifier, VT_NAME) &&
408            verifier.VerifyString(name()) &&
409            VerifyOffsetRequired(verifier, VT_VALUES) &&
410            verifier.VerifyVector(values()) &&
411            verifier.VerifyVectorOfTables(values()) &&
412            VerifyField<uint8_t>(verifier, VT_IS_UNION) &&
413            VerifyOffsetRequired(verifier, VT_UNDERLYING_TYPE) &&
414            verifier.VerifyTable(underlying_type()) &&
415            VerifyOffset(verifier, VT_ATTRIBUTES) &&
416            verifier.VerifyVector(attributes()) &&
417            verifier.VerifyVectorOfTables(attributes()) &&
418            VerifyOffset(verifier, VT_DOCUMENTATION) &&
419            verifier.VerifyVector(documentation()) &&
420            verifier.VerifyVectorOfStrings(documentation()) &&
421            verifier.EndTable();
422   }
423 };
424 
425 struct EnumBuilder {
426   typedef Enum Table;
427   flatbuffers::FlatBufferBuilder &fbb_;
428   flatbuffers::uoffset_t start_;
add_nameEnumBuilder429   void add_name(flatbuffers::Offset<flatbuffers::String> name) {
430     fbb_.AddOffset(Enum::VT_NAME, name);
431   }
add_valuesEnumBuilder432   void add_values(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>>> values) {
433     fbb_.AddOffset(Enum::VT_VALUES, values);
434   }
add_is_unionEnumBuilder435   void add_is_union(bool is_union) {
436     fbb_.AddElement<uint8_t>(Enum::VT_IS_UNION, static_cast<uint8_t>(is_union), 0);
437   }
add_underlying_typeEnumBuilder438   void add_underlying_type(flatbuffers::Offset<reflection::Type> underlying_type) {
439     fbb_.AddOffset(Enum::VT_UNDERLYING_TYPE, underlying_type);
440   }
add_attributesEnumBuilder441   void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
442     fbb_.AddOffset(Enum::VT_ATTRIBUTES, attributes);
443   }
add_documentationEnumBuilder444   void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
445     fbb_.AddOffset(Enum::VT_DOCUMENTATION, documentation);
446   }
EnumBuilderEnumBuilder447   explicit EnumBuilder(flatbuffers::FlatBufferBuilder &_fbb)
448         : fbb_(_fbb) {
449     start_ = fbb_.StartTable();
450   }
451   EnumBuilder &operator=(const EnumBuilder &);
FinishEnumBuilder452   flatbuffers::Offset<Enum> Finish() {
453     const auto end = fbb_.EndTable(start_);
454     auto o = flatbuffers::Offset<Enum>(end);
455     fbb_.Required(o, Enum::VT_NAME);
456     fbb_.Required(o, Enum::VT_VALUES);
457     fbb_.Required(o, Enum::VT_UNDERLYING_TYPE);
458     return o;
459   }
460 };
461 
462 inline flatbuffers::Offset<Enum> CreateEnum(
463     flatbuffers::FlatBufferBuilder &_fbb,
464     flatbuffers::Offset<flatbuffers::String> name = 0,
465     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>>> values = 0,
466     bool is_union = false,
467     flatbuffers::Offset<reflection::Type> underlying_type = 0,
468     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
469     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
470   EnumBuilder builder_(_fbb);
471   builder_.add_documentation(documentation);
472   builder_.add_attributes(attributes);
473   builder_.add_underlying_type(underlying_type);
474   builder_.add_values(values);
475   builder_.add_name(name);
476   builder_.add_is_union(is_union);
477   return builder_.Finish();
478 }
479 
480 inline flatbuffers::Offset<Enum> CreateEnumDirect(
481     flatbuffers::FlatBufferBuilder &_fbb,
482     const char *name = nullptr,
483     std::vector<flatbuffers::Offset<reflection::EnumVal>> *values = nullptr,
484     bool is_union = false,
485     flatbuffers::Offset<reflection::Type> underlying_type = 0,
486     std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
487     const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
488   auto name__ = name ? _fbb.CreateString(name) : 0;
489   auto values__ = values ? _fbb.CreateVectorOfSortedTables<reflection::EnumVal>(values) : 0;
490   auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
491   auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
492   return reflection::CreateEnum(
493       _fbb,
494       name__,
495       values__,
496       is_union,
497       underlying_type,
498       attributes__,
499       documentation__);
500 }
501 
502 struct Field FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
503   typedef FieldBuilder Builder;
504   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
505     VT_NAME = 4,
506     VT_TYPE = 6,
507     VT_ID = 8,
508     VT_OFFSET = 10,
509     VT_DEFAULT_INTEGER = 12,
510     VT_DEFAULT_REAL = 14,
511     VT_DEPRECATED = 16,
512     VT_REQUIRED = 18,
513     VT_KEY = 20,
514     VT_ATTRIBUTES = 22,
515     VT_DOCUMENTATION = 24
516   };
nameFLATBUFFERS_FINAL_CLASS517   const flatbuffers::String *name() const {
518     return GetPointer<const flatbuffers::String *>(VT_NAME);
519   }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS520   bool KeyCompareLessThan(const Field *o) const {
521     return *name() < *o->name();
522   }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS523   int KeyCompareWithValue(const char *val) const {
524     return strcmp(name()->c_str(), val);
525   }
typeFLATBUFFERS_FINAL_CLASS526   const reflection::Type *type() const {
527     return GetPointer<const reflection::Type *>(VT_TYPE);
528   }
idFLATBUFFERS_FINAL_CLASS529   uint16_t id() const {
530     return GetField<uint16_t>(VT_ID, 0);
531   }
offsetFLATBUFFERS_FINAL_CLASS532   uint16_t offset() const {
533     return GetField<uint16_t>(VT_OFFSET, 0);
534   }
default_integerFLATBUFFERS_FINAL_CLASS535   int64_t default_integer() const {
536     return GetField<int64_t>(VT_DEFAULT_INTEGER, 0);
537   }
default_realFLATBUFFERS_FINAL_CLASS538   double default_real() const {
539     return GetField<double>(VT_DEFAULT_REAL, 0.0);
540   }
deprecatedFLATBUFFERS_FINAL_CLASS541   bool deprecated() const {
542     return GetField<uint8_t>(VT_DEPRECATED, 0) != 0;
543   }
requiredFLATBUFFERS_FINAL_CLASS544   bool required() const {
545     return GetField<uint8_t>(VT_REQUIRED, 0) != 0;
546   }
keyFLATBUFFERS_FINAL_CLASS547   bool key() const {
548     return GetField<uint8_t>(VT_KEY, 0) != 0;
549   }
attributesFLATBUFFERS_FINAL_CLASS550   const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
551     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
552   }
documentationFLATBUFFERS_FINAL_CLASS553   const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
554     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
555   }
VerifyFLATBUFFERS_FINAL_CLASS556   bool Verify(flatbuffers::Verifier &verifier) const {
557     return VerifyTableStart(verifier) &&
558            VerifyOffsetRequired(verifier, VT_NAME) &&
559            verifier.VerifyString(name()) &&
560            VerifyOffsetRequired(verifier, VT_TYPE) &&
561            verifier.VerifyTable(type()) &&
562            VerifyField<uint16_t>(verifier, VT_ID) &&
563            VerifyField<uint16_t>(verifier, VT_OFFSET) &&
564            VerifyField<int64_t>(verifier, VT_DEFAULT_INTEGER) &&
565            VerifyField<double>(verifier, VT_DEFAULT_REAL) &&
566            VerifyField<uint8_t>(verifier, VT_DEPRECATED) &&
567            VerifyField<uint8_t>(verifier, VT_REQUIRED) &&
568            VerifyField<uint8_t>(verifier, VT_KEY) &&
569            VerifyOffset(verifier, VT_ATTRIBUTES) &&
570            verifier.VerifyVector(attributes()) &&
571            verifier.VerifyVectorOfTables(attributes()) &&
572            VerifyOffset(verifier, VT_DOCUMENTATION) &&
573            verifier.VerifyVector(documentation()) &&
574            verifier.VerifyVectorOfStrings(documentation()) &&
575            verifier.EndTable();
576   }
577 };
578 
579 struct FieldBuilder {
580   typedef Field Table;
581   flatbuffers::FlatBufferBuilder &fbb_;
582   flatbuffers::uoffset_t start_;
add_nameFieldBuilder583   void add_name(flatbuffers::Offset<flatbuffers::String> name) {
584     fbb_.AddOffset(Field::VT_NAME, name);
585   }
add_typeFieldBuilder586   void add_type(flatbuffers::Offset<reflection::Type> type) {
587     fbb_.AddOffset(Field::VT_TYPE, type);
588   }
add_idFieldBuilder589   void add_id(uint16_t id) {
590     fbb_.AddElement<uint16_t>(Field::VT_ID, id, 0);
591   }
add_offsetFieldBuilder592   void add_offset(uint16_t offset) {
593     fbb_.AddElement<uint16_t>(Field::VT_OFFSET, offset, 0);
594   }
add_default_integerFieldBuilder595   void add_default_integer(int64_t default_integer) {
596     fbb_.AddElement<int64_t>(Field::VT_DEFAULT_INTEGER, default_integer, 0);
597   }
add_default_realFieldBuilder598   void add_default_real(double default_real) {
599     fbb_.AddElement<double>(Field::VT_DEFAULT_REAL, default_real, 0.0);
600   }
add_deprecatedFieldBuilder601   void add_deprecated(bool deprecated) {
602     fbb_.AddElement<uint8_t>(Field::VT_DEPRECATED, static_cast<uint8_t>(deprecated), 0);
603   }
add_requiredFieldBuilder604   void add_required(bool required) {
605     fbb_.AddElement<uint8_t>(Field::VT_REQUIRED, static_cast<uint8_t>(required), 0);
606   }
add_keyFieldBuilder607   void add_key(bool key) {
608     fbb_.AddElement<uint8_t>(Field::VT_KEY, static_cast<uint8_t>(key), 0);
609   }
add_attributesFieldBuilder610   void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
611     fbb_.AddOffset(Field::VT_ATTRIBUTES, attributes);
612   }
add_documentationFieldBuilder613   void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
614     fbb_.AddOffset(Field::VT_DOCUMENTATION, documentation);
615   }
FieldBuilderFieldBuilder616   explicit FieldBuilder(flatbuffers::FlatBufferBuilder &_fbb)
617         : fbb_(_fbb) {
618     start_ = fbb_.StartTable();
619   }
620   FieldBuilder &operator=(const FieldBuilder &);
FinishFieldBuilder621   flatbuffers::Offset<Field> Finish() {
622     const auto end = fbb_.EndTable(start_);
623     auto o = flatbuffers::Offset<Field>(end);
624     fbb_.Required(o, Field::VT_NAME);
625     fbb_.Required(o, Field::VT_TYPE);
626     return o;
627   }
628 };
629 
630 inline flatbuffers::Offset<Field> CreateField(
631     flatbuffers::FlatBufferBuilder &_fbb,
632     flatbuffers::Offset<flatbuffers::String> name = 0,
633     flatbuffers::Offset<reflection::Type> type = 0,
634     uint16_t id = 0,
635     uint16_t offset = 0,
636     int64_t default_integer = 0,
637     double default_real = 0.0,
638     bool deprecated = false,
639     bool required = false,
640     bool key = false,
641     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
642     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
643   FieldBuilder builder_(_fbb);
644   builder_.add_default_real(default_real);
645   builder_.add_default_integer(default_integer);
646   builder_.add_documentation(documentation);
647   builder_.add_attributes(attributes);
648   builder_.add_type(type);
649   builder_.add_name(name);
650   builder_.add_offset(offset);
651   builder_.add_id(id);
652   builder_.add_key(key);
653   builder_.add_required(required);
654   builder_.add_deprecated(deprecated);
655   return builder_.Finish();
656 }
657 
658 inline flatbuffers::Offset<Field> CreateFieldDirect(
659     flatbuffers::FlatBufferBuilder &_fbb,
660     const char *name = nullptr,
661     flatbuffers::Offset<reflection::Type> type = 0,
662     uint16_t id = 0,
663     uint16_t offset = 0,
664     int64_t default_integer = 0,
665     double default_real = 0.0,
666     bool deprecated = false,
667     bool required = false,
668     bool key = false,
669     std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
670     const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
671   auto name__ = name ? _fbb.CreateString(name) : 0;
672   auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
673   auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
674   return reflection::CreateField(
675       _fbb,
676       name__,
677       type,
678       id,
679       offset,
680       default_integer,
681       default_real,
682       deprecated,
683       required,
684       key,
685       attributes__,
686       documentation__);
687 }
688 
689 struct Object FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
690   typedef ObjectBuilder Builder;
691   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
692     VT_NAME = 4,
693     VT_FIELDS = 6,
694     VT_IS_STRUCT = 8,
695     VT_MINALIGN = 10,
696     VT_BYTESIZE = 12,
697     VT_ATTRIBUTES = 14,
698     VT_DOCUMENTATION = 16
699   };
nameFLATBUFFERS_FINAL_CLASS700   const flatbuffers::String *name() const {
701     return GetPointer<const flatbuffers::String *>(VT_NAME);
702   }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS703   bool KeyCompareLessThan(const Object *o) const {
704     return *name() < *o->name();
705   }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS706   int KeyCompareWithValue(const char *val) const {
707     return strcmp(name()->c_str(), val);
708   }
fieldsFLATBUFFERS_FINAL_CLASS709   const flatbuffers::Vector<flatbuffers::Offset<reflection::Field>> *fields() const {
710     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Field>> *>(VT_FIELDS);
711   }
is_structFLATBUFFERS_FINAL_CLASS712   bool is_struct() const {
713     return GetField<uint8_t>(VT_IS_STRUCT, 0) != 0;
714   }
minalignFLATBUFFERS_FINAL_CLASS715   int32_t minalign() const {
716     return GetField<int32_t>(VT_MINALIGN, 0);
717   }
bytesizeFLATBUFFERS_FINAL_CLASS718   int32_t bytesize() const {
719     return GetField<int32_t>(VT_BYTESIZE, 0);
720   }
attributesFLATBUFFERS_FINAL_CLASS721   const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
722     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
723   }
documentationFLATBUFFERS_FINAL_CLASS724   const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
725     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
726   }
VerifyFLATBUFFERS_FINAL_CLASS727   bool Verify(flatbuffers::Verifier &verifier) const {
728     return VerifyTableStart(verifier) &&
729            VerifyOffsetRequired(verifier, VT_NAME) &&
730            verifier.VerifyString(name()) &&
731            VerifyOffsetRequired(verifier, VT_FIELDS) &&
732            verifier.VerifyVector(fields()) &&
733            verifier.VerifyVectorOfTables(fields()) &&
734            VerifyField<uint8_t>(verifier, VT_IS_STRUCT) &&
735            VerifyField<int32_t>(verifier, VT_MINALIGN) &&
736            VerifyField<int32_t>(verifier, VT_BYTESIZE) &&
737            VerifyOffset(verifier, VT_ATTRIBUTES) &&
738            verifier.VerifyVector(attributes()) &&
739            verifier.VerifyVectorOfTables(attributes()) &&
740            VerifyOffset(verifier, VT_DOCUMENTATION) &&
741            verifier.VerifyVector(documentation()) &&
742            verifier.VerifyVectorOfStrings(documentation()) &&
743            verifier.EndTable();
744   }
745 };
746 
747 struct ObjectBuilder {
748   typedef Object Table;
749   flatbuffers::FlatBufferBuilder &fbb_;
750   flatbuffers::uoffset_t start_;
add_nameObjectBuilder751   void add_name(flatbuffers::Offset<flatbuffers::String> name) {
752     fbb_.AddOffset(Object::VT_NAME, name);
753   }
add_fieldsObjectBuilder754   void add_fields(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Field>>> fields) {
755     fbb_.AddOffset(Object::VT_FIELDS, fields);
756   }
add_is_structObjectBuilder757   void add_is_struct(bool is_struct) {
758     fbb_.AddElement<uint8_t>(Object::VT_IS_STRUCT, static_cast<uint8_t>(is_struct), 0);
759   }
add_minalignObjectBuilder760   void add_minalign(int32_t minalign) {
761     fbb_.AddElement<int32_t>(Object::VT_MINALIGN, minalign, 0);
762   }
add_bytesizeObjectBuilder763   void add_bytesize(int32_t bytesize) {
764     fbb_.AddElement<int32_t>(Object::VT_BYTESIZE, bytesize, 0);
765   }
add_attributesObjectBuilder766   void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
767     fbb_.AddOffset(Object::VT_ATTRIBUTES, attributes);
768   }
add_documentationObjectBuilder769   void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
770     fbb_.AddOffset(Object::VT_DOCUMENTATION, documentation);
771   }
ObjectBuilderObjectBuilder772   explicit ObjectBuilder(flatbuffers::FlatBufferBuilder &_fbb)
773         : fbb_(_fbb) {
774     start_ = fbb_.StartTable();
775   }
776   ObjectBuilder &operator=(const ObjectBuilder &);
FinishObjectBuilder777   flatbuffers::Offset<Object> Finish() {
778     const auto end = fbb_.EndTable(start_);
779     auto o = flatbuffers::Offset<Object>(end);
780     fbb_.Required(o, Object::VT_NAME);
781     fbb_.Required(o, Object::VT_FIELDS);
782     return o;
783   }
784 };
785 
786 inline flatbuffers::Offset<Object> CreateObject(
787     flatbuffers::FlatBufferBuilder &_fbb,
788     flatbuffers::Offset<flatbuffers::String> name = 0,
789     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Field>>> fields = 0,
790     bool is_struct = false,
791     int32_t minalign = 0,
792     int32_t bytesize = 0,
793     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
794     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
795   ObjectBuilder builder_(_fbb);
796   builder_.add_documentation(documentation);
797   builder_.add_attributes(attributes);
798   builder_.add_bytesize(bytesize);
799   builder_.add_minalign(minalign);
800   builder_.add_fields(fields);
801   builder_.add_name(name);
802   builder_.add_is_struct(is_struct);
803   return builder_.Finish();
804 }
805 
806 inline flatbuffers::Offset<Object> CreateObjectDirect(
807     flatbuffers::FlatBufferBuilder &_fbb,
808     const char *name = nullptr,
809     std::vector<flatbuffers::Offset<reflection::Field>> *fields = nullptr,
810     bool is_struct = false,
811     int32_t minalign = 0,
812     int32_t bytesize = 0,
813     std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
814     const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
815   auto name__ = name ? _fbb.CreateString(name) : 0;
816   auto fields__ = fields ? _fbb.CreateVectorOfSortedTables<reflection::Field>(fields) : 0;
817   auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
818   auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
819   return reflection::CreateObject(
820       _fbb,
821       name__,
822       fields__,
823       is_struct,
824       minalign,
825       bytesize,
826       attributes__,
827       documentation__);
828 }
829 
830 struct RPCCall FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
831   typedef RPCCallBuilder Builder;
832   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
833     VT_NAME = 4,
834     VT_REQUEST = 6,
835     VT_RESPONSE = 8,
836     VT_ATTRIBUTES = 10,
837     VT_DOCUMENTATION = 12
838   };
nameFLATBUFFERS_FINAL_CLASS839   const flatbuffers::String *name() const {
840     return GetPointer<const flatbuffers::String *>(VT_NAME);
841   }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS842   bool KeyCompareLessThan(const RPCCall *o) const {
843     return *name() < *o->name();
844   }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS845   int KeyCompareWithValue(const char *val) const {
846     return strcmp(name()->c_str(), val);
847   }
requestFLATBUFFERS_FINAL_CLASS848   const reflection::Object *request() const {
849     return GetPointer<const reflection::Object *>(VT_REQUEST);
850   }
responseFLATBUFFERS_FINAL_CLASS851   const reflection::Object *response() const {
852     return GetPointer<const reflection::Object *>(VT_RESPONSE);
853   }
attributesFLATBUFFERS_FINAL_CLASS854   const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
855     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
856   }
documentationFLATBUFFERS_FINAL_CLASS857   const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
858     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
859   }
VerifyFLATBUFFERS_FINAL_CLASS860   bool Verify(flatbuffers::Verifier &verifier) const {
861     return VerifyTableStart(verifier) &&
862            VerifyOffsetRequired(verifier, VT_NAME) &&
863            verifier.VerifyString(name()) &&
864            VerifyOffsetRequired(verifier, VT_REQUEST) &&
865            verifier.VerifyTable(request()) &&
866            VerifyOffsetRequired(verifier, VT_RESPONSE) &&
867            verifier.VerifyTable(response()) &&
868            VerifyOffset(verifier, VT_ATTRIBUTES) &&
869            verifier.VerifyVector(attributes()) &&
870            verifier.VerifyVectorOfTables(attributes()) &&
871            VerifyOffset(verifier, VT_DOCUMENTATION) &&
872            verifier.VerifyVector(documentation()) &&
873            verifier.VerifyVectorOfStrings(documentation()) &&
874            verifier.EndTable();
875   }
876 };
877 
878 struct RPCCallBuilder {
879   typedef RPCCall Table;
880   flatbuffers::FlatBufferBuilder &fbb_;
881   flatbuffers::uoffset_t start_;
add_nameRPCCallBuilder882   void add_name(flatbuffers::Offset<flatbuffers::String> name) {
883     fbb_.AddOffset(RPCCall::VT_NAME, name);
884   }
add_requestRPCCallBuilder885   void add_request(flatbuffers::Offset<reflection::Object> request) {
886     fbb_.AddOffset(RPCCall::VT_REQUEST, request);
887   }
add_responseRPCCallBuilder888   void add_response(flatbuffers::Offset<reflection::Object> response) {
889     fbb_.AddOffset(RPCCall::VT_RESPONSE, response);
890   }
add_attributesRPCCallBuilder891   void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
892     fbb_.AddOffset(RPCCall::VT_ATTRIBUTES, attributes);
893   }
add_documentationRPCCallBuilder894   void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
895     fbb_.AddOffset(RPCCall::VT_DOCUMENTATION, documentation);
896   }
RPCCallBuilderRPCCallBuilder897   explicit RPCCallBuilder(flatbuffers::FlatBufferBuilder &_fbb)
898         : fbb_(_fbb) {
899     start_ = fbb_.StartTable();
900   }
901   RPCCallBuilder &operator=(const RPCCallBuilder &);
FinishRPCCallBuilder902   flatbuffers::Offset<RPCCall> Finish() {
903     const auto end = fbb_.EndTable(start_);
904     auto o = flatbuffers::Offset<RPCCall>(end);
905     fbb_.Required(o, RPCCall::VT_NAME);
906     fbb_.Required(o, RPCCall::VT_REQUEST);
907     fbb_.Required(o, RPCCall::VT_RESPONSE);
908     return o;
909   }
910 };
911 
912 inline flatbuffers::Offset<RPCCall> CreateRPCCall(
913     flatbuffers::FlatBufferBuilder &_fbb,
914     flatbuffers::Offset<flatbuffers::String> name = 0,
915     flatbuffers::Offset<reflection::Object> request = 0,
916     flatbuffers::Offset<reflection::Object> response = 0,
917     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
918     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
919   RPCCallBuilder builder_(_fbb);
920   builder_.add_documentation(documentation);
921   builder_.add_attributes(attributes);
922   builder_.add_response(response);
923   builder_.add_request(request);
924   builder_.add_name(name);
925   return builder_.Finish();
926 }
927 
928 inline flatbuffers::Offset<RPCCall> CreateRPCCallDirect(
929     flatbuffers::FlatBufferBuilder &_fbb,
930     const char *name = nullptr,
931     flatbuffers::Offset<reflection::Object> request = 0,
932     flatbuffers::Offset<reflection::Object> response = 0,
933     std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
934     const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
935   auto name__ = name ? _fbb.CreateString(name) : 0;
936   auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
937   auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
938   return reflection::CreateRPCCall(
939       _fbb,
940       name__,
941       request,
942       response,
943       attributes__,
944       documentation__);
945 }
946 
947 struct Service FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
948   typedef ServiceBuilder Builder;
949   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
950     VT_NAME = 4,
951     VT_CALLS = 6,
952     VT_ATTRIBUTES = 8,
953     VT_DOCUMENTATION = 10
954   };
nameFLATBUFFERS_FINAL_CLASS955   const flatbuffers::String *name() const {
956     return GetPointer<const flatbuffers::String *>(VT_NAME);
957   }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS958   bool KeyCompareLessThan(const Service *o) const {
959     return *name() < *o->name();
960   }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS961   int KeyCompareWithValue(const char *val) const {
962     return strcmp(name()->c_str(), val);
963   }
callsFLATBUFFERS_FINAL_CLASS964   const flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>> *calls() const {
965     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>> *>(VT_CALLS);
966   }
attributesFLATBUFFERS_FINAL_CLASS967   const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
968     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
969   }
documentationFLATBUFFERS_FINAL_CLASS970   const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
971     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
972   }
VerifyFLATBUFFERS_FINAL_CLASS973   bool Verify(flatbuffers::Verifier &verifier) const {
974     return VerifyTableStart(verifier) &&
975            VerifyOffsetRequired(verifier, VT_NAME) &&
976            verifier.VerifyString(name()) &&
977            VerifyOffset(verifier, VT_CALLS) &&
978            verifier.VerifyVector(calls()) &&
979            verifier.VerifyVectorOfTables(calls()) &&
980            VerifyOffset(verifier, VT_ATTRIBUTES) &&
981            verifier.VerifyVector(attributes()) &&
982            verifier.VerifyVectorOfTables(attributes()) &&
983            VerifyOffset(verifier, VT_DOCUMENTATION) &&
984            verifier.VerifyVector(documentation()) &&
985            verifier.VerifyVectorOfStrings(documentation()) &&
986            verifier.EndTable();
987   }
988 };
989 
990 struct ServiceBuilder {
991   typedef Service Table;
992   flatbuffers::FlatBufferBuilder &fbb_;
993   flatbuffers::uoffset_t start_;
add_nameServiceBuilder994   void add_name(flatbuffers::Offset<flatbuffers::String> name) {
995     fbb_.AddOffset(Service::VT_NAME, name);
996   }
add_callsServiceBuilder997   void add_calls(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>>> calls) {
998     fbb_.AddOffset(Service::VT_CALLS, calls);
999   }
add_attributesServiceBuilder1000   void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
1001     fbb_.AddOffset(Service::VT_ATTRIBUTES, attributes);
1002   }
add_documentationServiceBuilder1003   void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
1004     fbb_.AddOffset(Service::VT_DOCUMENTATION, documentation);
1005   }
ServiceBuilderServiceBuilder1006   explicit ServiceBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1007         : fbb_(_fbb) {
1008     start_ = fbb_.StartTable();
1009   }
1010   ServiceBuilder &operator=(const ServiceBuilder &);
FinishServiceBuilder1011   flatbuffers::Offset<Service> Finish() {
1012     const auto end = fbb_.EndTable(start_);
1013     auto o = flatbuffers::Offset<Service>(end);
1014     fbb_.Required(o, Service::VT_NAME);
1015     return o;
1016   }
1017 };
1018 
1019 inline flatbuffers::Offset<Service> CreateService(
1020     flatbuffers::FlatBufferBuilder &_fbb,
1021     flatbuffers::Offset<flatbuffers::String> name = 0,
1022     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>>> calls = 0,
1023     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
1024     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
1025   ServiceBuilder builder_(_fbb);
1026   builder_.add_documentation(documentation);
1027   builder_.add_attributes(attributes);
1028   builder_.add_calls(calls);
1029   builder_.add_name(name);
1030   return builder_.Finish();
1031 }
1032 
1033 inline flatbuffers::Offset<Service> CreateServiceDirect(
1034     flatbuffers::FlatBufferBuilder &_fbb,
1035     const char *name = nullptr,
1036     std::vector<flatbuffers::Offset<reflection::RPCCall>> *calls = nullptr,
1037     std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
1038     const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
1039   auto name__ = name ? _fbb.CreateString(name) : 0;
1040   auto calls__ = calls ? _fbb.CreateVectorOfSortedTables<reflection::RPCCall>(calls) : 0;
1041   auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
1042   auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
1043   return reflection::CreateService(
1044       _fbb,
1045       name__,
1046       calls__,
1047       attributes__,
1048       documentation__);
1049 }
1050 
1051 struct Schema FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1052   typedef SchemaBuilder Builder;
1053   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1054     VT_OBJECTS = 4,
1055     VT_ENUMS = 6,
1056     VT_FILE_IDENT = 8,
1057     VT_FILE_EXT = 10,
1058     VT_ROOT_TABLE = 12,
1059     VT_SERVICES = 14
1060   };
objectsFLATBUFFERS_FINAL_CLASS1061   const flatbuffers::Vector<flatbuffers::Offset<reflection::Object>> *objects() const {
1062     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Object>> *>(VT_OBJECTS);
1063   }
enumsFLATBUFFERS_FINAL_CLASS1064   const flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>> *enums() const {
1065     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>> *>(VT_ENUMS);
1066   }
file_identFLATBUFFERS_FINAL_CLASS1067   const flatbuffers::String *file_ident() const {
1068     return GetPointer<const flatbuffers::String *>(VT_FILE_IDENT);
1069   }
file_extFLATBUFFERS_FINAL_CLASS1070   const flatbuffers::String *file_ext() const {
1071     return GetPointer<const flatbuffers::String *>(VT_FILE_EXT);
1072   }
root_tableFLATBUFFERS_FINAL_CLASS1073   const reflection::Object *root_table() const {
1074     return GetPointer<const reflection::Object *>(VT_ROOT_TABLE);
1075   }
servicesFLATBUFFERS_FINAL_CLASS1076   const flatbuffers::Vector<flatbuffers::Offset<reflection::Service>> *services() const {
1077     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Service>> *>(VT_SERVICES);
1078   }
VerifyFLATBUFFERS_FINAL_CLASS1079   bool Verify(flatbuffers::Verifier &verifier) const {
1080     return VerifyTableStart(verifier) &&
1081            VerifyOffsetRequired(verifier, VT_OBJECTS) &&
1082            verifier.VerifyVector(objects()) &&
1083            verifier.VerifyVectorOfTables(objects()) &&
1084            VerifyOffsetRequired(verifier, VT_ENUMS) &&
1085            verifier.VerifyVector(enums()) &&
1086            verifier.VerifyVectorOfTables(enums()) &&
1087            VerifyOffset(verifier, VT_FILE_IDENT) &&
1088            verifier.VerifyString(file_ident()) &&
1089            VerifyOffset(verifier, VT_FILE_EXT) &&
1090            verifier.VerifyString(file_ext()) &&
1091            VerifyOffset(verifier, VT_ROOT_TABLE) &&
1092            verifier.VerifyTable(root_table()) &&
1093            VerifyOffset(verifier, VT_SERVICES) &&
1094            verifier.VerifyVector(services()) &&
1095            verifier.VerifyVectorOfTables(services()) &&
1096            verifier.EndTable();
1097   }
1098 };
1099 
1100 struct SchemaBuilder {
1101   typedef Schema Table;
1102   flatbuffers::FlatBufferBuilder &fbb_;
1103   flatbuffers::uoffset_t start_;
add_objectsSchemaBuilder1104   void add_objects(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Object>>> objects) {
1105     fbb_.AddOffset(Schema::VT_OBJECTS, objects);
1106   }
add_enumsSchemaBuilder1107   void add_enums(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>>> enums) {
1108     fbb_.AddOffset(Schema::VT_ENUMS, enums);
1109   }
add_file_identSchemaBuilder1110   void add_file_ident(flatbuffers::Offset<flatbuffers::String> file_ident) {
1111     fbb_.AddOffset(Schema::VT_FILE_IDENT, file_ident);
1112   }
add_file_extSchemaBuilder1113   void add_file_ext(flatbuffers::Offset<flatbuffers::String> file_ext) {
1114     fbb_.AddOffset(Schema::VT_FILE_EXT, file_ext);
1115   }
add_root_tableSchemaBuilder1116   void add_root_table(flatbuffers::Offset<reflection::Object> root_table) {
1117     fbb_.AddOffset(Schema::VT_ROOT_TABLE, root_table);
1118   }
add_servicesSchemaBuilder1119   void add_services(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Service>>> services) {
1120     fbb_.AddOffset(Schema::VT_SERVICES, services);
1121   }
SchemaBuilderSchemaBuilder1122   explicit SchemaBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1123         : fbb_(_fbb) {
1124     start_ = fbb_.StartTable();
1125   }
1126   SchemaBuilder &operator=(const SchemaBuilder &);
FinishSchemaBuilder1127   flatbuffers::Offset<Schema> Finish() {
1128     const auto end = fbb_.EndTable(start_);
1129     auto o = flatbuffers::Offset<Schema>(end);
1130     fbb_.Required(o, Schema::VT_OBJECTS);
1131     fbb_.Required(o, Schema::VT_ENUMS);
1132     return o;
1133   }
1134 };
1135 
1136 inline flatbuffers::Offset<Schema> CreateSchema(
1137     flatbuffers::FlatBufferBuilder &_fbb,
1138     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Object>>> objects = 0,
1139     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>>> enums = 0,
1140     flatbuffers::Offset<flatbuffers::String> file_ident = 0,
1141     flatbuffers::Offset<flatbuffers::String> file_ext = 0,
1142     flatbuffers::Offset<reflection::Object> root_table = 0,
1143     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Service>>> services = 0) {
1144   SchemaBuilder builder_(_fbb);
1145   builder_.add_services(services);
1146   builder_.add_root_table(root_table);
1147   builder_.add_file_ext(file_ext);
1148   builder_.add_file_ident(file_ident);
1149   builder_.add_enums(enums);
1150   builder_.add_objects(objects);
1151   return builder_.Finish();
1152 }
1153 
1154 inline flatbuffers::Offset<Schema> CreateSchemaDirect(
1155     flatbuffers::FlatBufferBuilder &_fbb,
1156     std::vector<flatbuffers::Offset<reflection::Object>> *objects = nullptr,
1157     std::vector<flatbuffers::Offset<reflection::Enum>> *enums = nullptr,
1158     const char *file_ident = nullptr,
1159     const char *file_ext = nullptr,
1160     flatbuffers::Offset<reflection::Object> root_table = 0,
1161     std::vector<flatbuffers::Offset<reflection::Service>> *services = nullptr) {
1162   auto objects__ = objects ? _fbb.CreateVectorOfSortedTables<reflection::Object>(objects) : 0;
1163   auto enums__ = enums ? _fbb.CreateVectorOfSortedTables<reflection::Enum>(enums) : 0;
1164   auto file_ident__ = file_ident ? _fbb.CreateString(file_ident) : 0;
1165   auto file_ext__ = file_ext ? _fbb.CreateString(file_ext) : 0;
1166   auto services__ = services ? _fbb.CreateVectorOfSortedTables<reflection::Service>(services) : 0;
1167   return reflection::CreateSchema(
1168       _fbb,
1169       objects__,
1170       enums__,
1171       file_ident__,
1172       file_ext__,
1173       root_table,
1174       services__);
1175 }
1176 
GetSchema(const void * buf)1177 inline const reflection::Schema *GetSchema(const void *buf) {
1178   return flatbuffers::GetRoot<reflection::Schema>(buf);
1179 }
1180 
GetSizePrefixedSchema(const void * buf)1181 inline const reflection::Schema *GetSizePrefixedSchema(const void *buf) {
1182   return flatbuffers::GetSizePrefixedRoot<reflection::Schema>(buf);
1183 }
1184 
SchemaIdentifier()1185 inline const char *SchemaIdentifier() {
1186   return "BFBS";
1187 }
1188 
SchemaBufferHasIdentifier(const void * buf)1189 inline bool SchemaBufferHasIdentifier(const void *buf) {
1190   return flatbuffers::BufferHasIdentifier(
1191       buf, SchemaIdentifier());
1192 }
1193 
VerifySchemaBuffer(flatbuffers::Verifier & verifier)1194 inline bool VerifySchemaBuffer(
1195     flatbuffers::Verifier &verifier) {
1196   return verifier.VerifyBuffer<reflection::Schema>(SchemaIdentifier());
1197 }
1198 
VerifySizePrefixedSchemaBuffer(flatbuffers::Verifier & verifier)1199 inline bool VerifySizePrefixedSchemaBuffer(
1200     flatbuffers::Verifier &verifier) {
1201   return verifier.VerifySizePrefixedBuffer<reflection::Schema>(SchemaIdentifier());
1202 }
1203 
SchemaExtension()1204 inline const char *SchemaExtension() {
1205   return "bfbs";
1206 }
1207 
FinishSchemaBuffer(flatbuffers::FlatBufferBuilder & fbb,flatbuffers::Offset<reflection::Schema> root)1208 inline void FinishSchemaBuffer(
1209     flatbuffers::FlatBufferBuilder &fbb,
1210     flatbuffers::Offset<reflection::Schema> root) {
1211   fbb.Finish(root, SchemaIdentifier());
1212 }
1213 
FinishSizePrefixedSchemaBuffer(flatbuffers::FlatBufferBuilder & fbb,flatbuffers::Offset<reflection::Schema> root)1214 inline void FinishSizePrefixedSchemaBuffer(
1215     flatbuffers::FlatBufferBuilder &fbb,
1216     flatbuffers::Offset<reflection::Schema> root) {
1217   fbb.FinishSizePrefixed(root, SchemaIdentifier());
1218 }
1219 
1220 }  // namespace reflection
1221 
1222 #endif  // FLATBUFFERS_GENERATED_REFLECTION_REFLECTION_H_
1223