Coverage Report

Created: 2026-02-11 07:00

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/flatbuffers/include/flatbuffers/reflection_generated.h
Line
Count
Source
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 == 25 &&
12
              FLATBUFFERS_VERSION_MINOR == 12 &&
13
              FLATBUFFERS_VERSION_REVISION == 19,
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
  Vector64 = 18,
68
  MaxBaseType = 19
69
};
70
71
0
inline const BaseType (&EnumValuesBaseType())[20] {
72
0
  static const BaseType values[] = {
73
0
    None,
74
0
    UType,
75
0
    Bool,
76
0
    Byte,
77
0
    UByte,
78
0
    Short,
79
0
    UShort,
80
0
    Int,
81
0
    UInt,
82
0
    Long,
83
0
    ULong,
84
0
    Float,
85
0
    Double,
86
0
    String,
87
0
    Vector,
88
0
    Obj,
89
0
    Union,
90
0
    Array,
91
0
    Vector64,
92
0
    MaxBaseType
93
0
  };
94
0
  return values;
95
0
}
96
97
651k
inline const char * const *EnumNamesBaseType() {
98
651k
  static const char * const names[21] = {
99
651k
    "None",
100
651k
    "UType",
101
651k
    "Bool",
102
651k
    "Byte",
103
651k
    "UByte",
104
651k
    "Short",
105
651k
    "UShort",
106
651k
    "Int",
107
651k
    "UInt",
108
651k
    "Long",
109
651k
    "ULong",
110
651k
    "Float",
111
651k
    "Double",
112
651k
    "String",
113
651k
    "Vector",
114
651k
    "Obj",
115
651k
    "Union",
116
651k
    "Array",
117
651k
    "Vector64",
118
651k
    "MaxBaseType",
119
651k
    nullptr
120
651k
  };
121
651k
  return names;
122
651k
}
123
124
651k
inline const char *EnumNameBaseType(BaseType e) {
125
651k
  if (::flatbuffers::IsOutRange(e, None, MaxBaseType)) return "";
126
651k
  const size_t index = static_cast<size_t>(e);
127
651k
  return EnumNamesBaseType()[index];
128
651k
}
129
130
/// New schema language features that are not supported by old code generators.
131
enum AdvancedFeatures {
132
  AdvancedArrayFeatures = 1ULL,
133
  AdvancedUnionFeatures = 2ULL,
134
  OptionalScalars = 4ULL,
135
  DefaultVectorsAndStrings = 8ULL
136
};
137
138
0
inline const AdvancedFeatures (&EnumValuesAdvancedFeatures())[4] {
139
0
  static const AdvancedFeatures values[] = {
140
0
    AdvancedArrayFeatures,
141
0
    AdvancedUnionFeatures,
142
0
    OptionalScalars,
143
0
    DefaultVectorsAndStrings
144
0
  };
145
0
  return values;
146
0
}
147
148
0
inline const char * const *EnumNamesAdvancedFeatures() {
149
0
  static const char * const names[9] = {
150
0
    "AdvancedArrayFeatures",
151
0
    "AdvancedUnionFeatures",
152
0
    "",
153
0
    "OptionalScalars",
154
0
    "",
155
0
    "",
156
0
    "",
157
0
    "DefaultVectorsAndStrings",
158
0
    nullptr
159
0
  };
160
0
  return names;
161
0
}
162
163
0
inline const char *EnumNameAdvancedFeatures(AdvancedFeatures e) {
164
0
  if (::flatbuffers::IsOutRange(e, AdvancedArrayFeatures, DefaultVectorsAndStrings)) return "";
165
0
  const size_t index = static_cast<size_t>(e) - static_cast<size_t>(AdvancedArrayFeatures);
166
0
  return EnumNamesAdvancedFeatures()[index];
167
0
}
168
169
struct Type FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
170
  typedef TypeBuilder Builder;
171
  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
172
    VT_BASE_TYPE = 4,
173
    VT_ELEMENT = 6,
174
    VT_INDEX = 8,
175
    VT_FIXED_LENGTH = 10,
176
    VT_BASE_SIZE = 12,
177
    VT_ELEMENT_SIZE = 14
178
  };
179
2.98M
  reflection::BaseType base_type() const {
180
2.98M
    return static_cast<reflection::BaseType>(GetField<int8_t>(VT_BASE_TYPE, 0));
181
2.98M
  }
182
3.38M
  reflection::BaseType element() const {
183
3.38M
    return static_cast<reflection::BaseType>(GetField<int8_t>(VT_ELEMENT, 0));
184
3.38M
  }
185
3.55M
  int32_t index() const {
186
3.55M
    return GetField<int32_t>(VT_INDEX, -1);
187
3.55M
  }
188
10.1k
  uint16_t fixed_length() const {
189
10.1k
    return GetField<uint16_t>(VT_FIXED_LENGTH, 0);
190
10.1k
  }
191
  /// The size (octets) of the `base_type` field.
192
0
  uint32_t base_size() const {
193
0
    return GetField<uint32_t>(VT_BASE_SIZE, 4);
194
0
  }
195
  /// The size (octets) of the `element` field, if present.
196
0
  uint32_t element_size() const {
197
0
    return GetField<uint32_t>(VT_ELEMENT_SIZE, 0);
198
0
  }
199
  template <bool B = false>
200
452k
  bool Verify(::flatbuffers::VerifierTemplate<B> &verifier) const {
201
452k
    return VerifyTableStart(verifier) &&
202
452k
           VerifyField<int8_t>(verifier, VT_BASE_TYPE, 1) &&
203
452k
           VerifyField<int8_t>(verifier, VT_ELEMENT, 1) &&
204
452k
           VerifyField<int32_t>(verifier, VT_INDEX, 4) &&
205
452k
           VerifyField<uint16_t>(verifier, VT_FIXED_LENGTH, 2) &&
206
452k
           VerifyField<uint32_t>(verifier, VT_BASE_SIZE, 4) &&
207
452k
           VerifyField<uint32_t>(verifier, VT_ELEMENT_SIZE, 4) &&
208
452k
           verifier.EndTable();
209
452k
  }
210
};
211
212
struct TypeBuilder {
213
  typedef Type Table;
214
  ::flatbuffers::FlatBufferBuilder &fbb_;
215
  ::flatbuffers::uoffset_t start_;
216
165k
  void add_base_type(reflection::BaseType base_type) {
217
165k
    fbb_.AddElement<int8_t>(Type::VT_BASE_TYPE, static_cast<int8_t>(base_type), 0);
218
165k
  }
219
165k
  void add_element(reflection::BaseType element) {
220
165k
    fbb_.AddElement<int8_t>(Type::VT_ELEMENT, static_cast<int8_t>(element), 0);
221
165k
  }
222
165k
  void add_index(int32_t index) {
223
165k
    fbb_.AddElement<int32_t>(Type::VT_INDEX, index, -1);
224
165k
  }
225
165k
  void add_fixed_length(uint16_t fixed_length) {
226
165k
    fbb_.AddElement<uint16_t>(Type::VT_FIXED_LENGTH, fixed_length, 0);
227
165k
  }
228
165k
  void add_base_size(uint32_t base_size) {
229
165k
    fbb_.AddElement<uint32_t>(Type::VT_BASE_SIZE, base_size, 4);
230
165k
  }
231
165k
  void add_element_size(uint32_t element_size) {
232
165k
    fbb_.AddElement<uint32_t>(Type::VT_ELEMENT_SIZE, element_size, 0);
233
165k
  }
234
  explicit TypeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
235
165k
        : fbb_(_fbb) {
236
165k
    start_ = fbb_.StartTable();
237
165k
  }
238
165k
  ::flatbuffers::Offset<Type> Finish() {
239
165k
    const auto end = fbb_.EndTable(start_);
240
165k
    auto o = ::flatbuffers::Offset<Type>(end);
241
165k
    return o;
242
165k
  }
243
};
244
245
inline ::flatbuffers::Offset<Type> CreateType(
246
    ::flatbuffers::FlatBufferBuilder &_fbb,
247
    reflection::BaseType base_type = reflection::None,
248
    reflection::BaseType element = reflection::None,
249
    int32_t index = -1,
250
    uint16_t fixed_length = 0,
251
    uint32_t base_size = 4,
252
165k
    uint32_t element_size = 0) {
253
165k
  TypeBuilder builder_(_fbb);
254
165k
  builder_.add_element_size(element_size);
255
165k
  builder_.add_base_size(base_size);
256
165k
  builder_.add_index(index);
257
165k
  builder_.add_fixed_length(fixed_length);
258
165k
  builder_.add_element(element);
259
165k
  builder_.add_base_type(base_type);
260
165k
  return builder_.Finish();
261
165k
}
262
263
struct KeyValue FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
264
  typedef KeyValueBuilder Builder;
265
  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
266
    VT_KEY = 4,
267
    VT_VALUE = 6
268
  };
269
3.63k
  const ::flatbuffers::String *key() const {
270
3.63k
    return GetPointer<const ::flatbuffers::String *>(VT_KEY);
271
3.63k
  }
272
0
  bool KeyCompareLessThan(const KeyValue * const o) const {
273
0
    return *key() < *o->key();
274
0
  }
275
0
  int KeyCompareWithValue(const char *_key) const {
276
0
    return strcmp(key()->c_str(), _key);
277
0
  }
278
  template<typename StringType>
279
  int KeyCompareWithValue(const StringType& _key) const {
280
    if (key()->c_str() < _key) return -1;
281
    if (_key < key()->c_str()) return 1;
282
    return 0;
283
  }
284
3.63k
  const ::flatbuffers::String *value() const {
285
3.63k
    return GetPointer<const ::flatbuffers::String *>(VT_VALUE);
286
3.63k
  }
287
  template <bool B = false>
288
3.17k
  bool Verify(::flatbuffers::VerifierTemplate<B> &verifier) const {
289
3.17k
    return VerifyTableStart(verifier) &&
290
3.17k
           VerifyOffsetRequired(verifier, VT_KEY) &&
291
3.17k
           verifier.VerifyString(key()) &&
292
3.17k
           VerifyOffset(verifier, VT_VALUE) &&
293
3.17k
           verifier.VerifyString(value()) &&
294
3.17k
           verifier.EndTable();
295
3.17k
  }
296
};
297
298
struct KeyValueBuilder {
299
  typedef KeyValue Table;
300
  ::flatbuffers::FlatBufferBuilder &fbb_;
301
  ::flatbuffers::uoffset_t start_;
302
678
  void add_key(::flatbuffers::Offset<::flatbuffers::String> key) {
303
678
    fbb_.AddOffset(KeyValue::VT_KEY, key);
304
678
  }
305
678
  void add_value(::flatbuffers::Offset<::flatbuffers::String> value) {
306
678
    fbb_.AddOffset(KeyValue::VT_VALUE, value);
307
678
  }
308
  explicit KeyValueBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
309
678
        : fbb_(_fbb) {
310
678
    start_ = fbb_.StartTable();
311
678
  }
312
678
  ::flatbuffers::Offset<KeyValue> Finish() {
313
678
    const auto end = fbb_.EndTable(start_);
314
678
    auto o = ::flatbuffers::Offset<KeyValue>(end);
315
678
    fbb_.Required(o, KeyValue::VT_KEY);
316
678
    return o;
317
678
  }
318
};
319
320
inline ::flatbuffers::Offset<KeyValue> CreateKeyValue(
321
    ::flatbuffers::FlatBufferBuilder &_fbb,
322
    ::flatbuffers::Offset<::flatbuffers::String> key = 0,
323
678
    ::flatbuffers::Offset<::flatbuffers::String> value = 0) {
324
678
  KeyValueBuilder builder_(_fbb);
325
678
  builder_.add_value(value);
326
678
  builder_.add_key(key);
327
678
  return builder_.Finish();
328
678
}
329
330
inline ::flatbuffers::Offset<KeyValue> CreateKeyValueDirect(
331
    ::flatbuffers::FlatBufferBuilder &_fbb,
332
    const char *key = nullptr,
333
0
    const char *value = nullptr) {
334
0
  auto key__ = key ? _fbb.CreateString(key) : 0;
335
0
  auto value__ = value ? _fbb.CreateString(value) : 0;
336
0
  return reflection::CreateKeyValue(
337
0
      _fbb,
338
0
      key__,
339
0
      value__);
340
0
}
341
342
struct EnumVal FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
343
  typedef EnumValBuilder Builder;
344
  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
345
    VT_NAME = 4,
346
    VT_VALUE = 6,
347
    VT_UNION_TYPE = 10,
348
    VT_DOCUMENTATION = 12,
349
    VT_ATTRIBUTES = 14
350
  };
351
278k
  const ::flatbuffers::String *name() const {
352
278k
    return GetPointer<const ::flatbuffers::String *>(VT_NAME);
353
278k
  }
354
46
  int64_t value() const {
355
46
    return GetField<int64_t>(VT_VALUE, 0);
356
46
  }
357
0
  bool KeyCompareLessThan(const EnumVal * const o) const {
358
0
    return value() < o->value();
359
0
  }
360
0
  int KeyCompareWithValue(int64_t _value) const {
361
0
    return static_cast<int>(value() > _value) - static_cast<int>(value() < _value);
362
0
  }
363
276k
  const reflection::Type *union_type() const {
364
276k
    return GetPointer<const reflection::Type *>(VT_UNION_TYPE);
365
276k
  }
366
252k
  const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *documentation() const {
367
252k
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_DOCUMENTATION);
368
252k
  }
369
252k
  const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
370
252k
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
371
252k
  }
372
  template <bool B = false>
373
126k
  bool Verify(::flatbuffers::VerifierTemplate<B> &verifier) const {
374
126k
    return VerifyTableStart(verifier) &&
375
126k
           VerifyOffsetRequired(verifier, VT_NAME) &&
376
126k
           verifier.VerifyString(name()) &&
377
126k
           VerifyField<int64_t>(verifier, VT_VALUE, 8) &&
378
126k
           VerifyOffset(verifier, VT_UNION_TYPE) &&
379
126k
           verifier.VerifyTable(union_type()) &&
380
126k
           VerifyOffset(verifier, VT_DOCUMENTATION) &&
381
126k
           verifier.VerifyVector(documentation()) &&
382
126k
           verifier.VerifyVectorOfStrings(documentation()) &&
383
126k
           VerifyOffset(verifier, VT_ATTRIBUTES) &&
384
126k
           verifier.VerifyVector(attributes()) &&
385
126k
           verifier.VerifyVectorOfTables(attributes()) &&
386
126k
           verifier.EndTable();
387
126k
  }
388
};
389
390
struct EnumValBuilder {
391
  typedef EnumVal Table;
392
  ::flatbuffers::FlatBufferBuilder &fbb_;
393
  ::flatbuffers::uoffset_t start_;
394
82.1k
  void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
395
82.1k
    fbb_.AddOffset(EnumVal::VT_NAME, name);
396
82.1k
  }
397
82.1k
  void add_value(int64_t value) {
398
82.1k
    fbb_.AddElement<int64_t>(EnumVal::VT_VALUE, value, 0);
399
82.1k
  }
400
82.1k
  void add_union_type(::flatbuffers::Offset<reflection::Type> union_type) {
401
82.1k
    fbb_.AddOffset(EnumVal::VT_UNION_TYPE, union_type);
402
82.1k
  }
403
82.1k
  void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> documentation) {
404
82.1k
    fbb_.AddOffset(EnumVal::VT_DOCUMENTATION, documentation);
405
82.1k
  }
406
82.1k
  void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>> attributes) {
407
82.1k
    fbb_.AddOffset(EnumVal::VT_ATTRIBUTES, attributes);
408
82.1k
  }
409
  explicit EnumValBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
410
82.1k
        : fbb_(_fbb) {
411
82.1k
    start_ = fbb_.StartTable();
412
82.1k
  }
413
82.1k
  ::flatbuffers::Offset<EnumVal> Finish() {
414
82.1k
    const auto end = fbb_.EndTable(start_);
415
82.1k
    auto o = ::flatbuffers::Offset<EnumVal>(end);
416
82.1k
    fbb_.Required(o, EnumVal::VT_NAME);
417
82.1k
    return o;
418
82.1k
  }
419
};
420
421
inline ::flatbuffers::Offset<EnumVal> CreateEnumVal(
422
    ::flatbuffers::FlatBufferBuilder &_fbb,
423
    ::flatbuffers::Offset<::flatbuffers::String> name = 0,
424
    int64_t value = 0,
425
    ::flatbuffers::Offset<reflection::Type> union_type = 0,
426
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> documentation = 0,
427
82.1k
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>> attributes = 0) {
428
82.1k
  EnumValBuilder builder_(_fbb);
429
82.1k
  builder_.add_value(value);
430
82.1k
  builder_.add_attributes(attributes);
431
82.1k
  builder_.add_documentation(documentation);
432
82.1k
  builder_.add_union_type(union_type);
433
82.1k
  builder_.add_name(name);
434
82.1k
  return builder_.Finish();
435
82.1k
}
436
437
inline ::flatbuffers::Offset<EnumVal> CreateEnumValDirect(
438
    ::flatbuffers::FlatBufferBuilder &_fbb,
439
    const char *name = nullptr,
440
    int64_t value = 0,
441
    ::flatbuffers::Offset<reflection::Type> union_type = 0,
442
    const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *documentation = nullptr,
443
0
    std::vector<::flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr) {
444
0
  auto name__ = name ? _fbb.CreateString(name) : 0;
445
0
  auto documentation__ = documentation ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*documentation) : 0;
446
0
  auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
447
0
  return reflection::CreateEnumVal(
448
0
      _fbb,
449
0
      name__,
450
0
      value,
451
0
      union_type,
452
0
      documentation__,
453
0
      attributes__);
454
0
}
455
456
struct Enum FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
457
  typedef EnumBuilder Builder;
458
  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
459
    VT_NAME = 4,
460
    VT_VALUES = 6,
461
    VT_IS_UNION = 8,
462
    VT_UNDERLYING_TYPE = 10,
463
    VT_ATTRIBUTES = 12,
464
    VT_DOCUMENTATION = 14,
465
    VT_DECLARATION_FILE = 16
466
  };
467
1.43M
  const ::flatbuffers::String *name() const {
468
1.43M
    return GetPointer<const ::flatbuffers::String *>(VT_NAME);
469
1.43M
  }
470
686k
  bool KeyCompareLessThan(const Enum * const o) const {
471
686k
    return *name() < *o->name();
472
686k
  }
473
0
  int KeyCompareWithValue(const char *_name) const {
474
0
    return strcmp(name()->c_str(), _name);
475
0
  }
476
  template<typename StringType>
477
  int KeyCompareWithValue(const StringType& _name) const {
478
    if (name()->c_str() < _name) return -1;
479
    if (_name < name()->c_str()) return 1;
480
    return 0;
481
  }
482
3.57M
  const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>> *values() const {
483
3.57M
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>> *>(VT_VALUES);
484
3.57M
  }
485
14
  bool is_union() const {
486
14
    return GetField<uint8_t>(VT_IS_UNION, 0) != 0;
487
14
  }
488
65.8k
  const reflection::Type *underlying_type() const {
489
65.8k
    return GetPointer<const reflection::Type *>(VT_UNDERLYING_TYPE);
490
65.8k
  }
491
131k
  const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
492
131k
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
493
131k
  }
494
131k
  const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *documentation() const {
495
131k
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_DOCUMENTATION);
496
131k
  }
497
  /// File that this Enum is declared in.
498
65.8k
  const ::flatbuffers::String *declaration_file() const {
499
65.8k
    return GetPointer<const ::flatbuffers::String *>(VT_DECLARATION_FILE);
500
65.8k
  }
501
  template <bool B = false>
502
65.8k
  bool Verify(::flatbuffers::VerifierTemplate<B> &verifier) const {
503
65.8k
    return VerifyTableStart(verifier) &&
504
65.8k
           VerifyOffsetRequired(verifier, VT_NAME) &&
505
65.8k
           verifier.VerifyString(name()) &&
506
65.8k
           VerifyOffsetRequired(verifier, VT_VALUES) &&
507
65.8k
           verifier.VerifyVector(values()) &&
508
65.8k
           verifier.VerifyVectorOfTables(values()) &&
509
65.8k
           VerifyField<uint8_t>(verifier, VT_IS_UNION, 1) &&
510
65.8k
           VerifyOffsetRequired(verifier, VT_UNDERLYING_TYPE) &&
511
65.8k
           verifier.VerifyTable(underlying_type()) &&
512
65.8k
           VerifyOffset(verifier, VT_ATTRIBUTES) &&
513
65.8k
           verifier.VerifyVector(attributes()) &&
514
65.8k
           verifier.VerifyVectorOfTables(attributes()) &&
515
65.8k
           VerifyOffset(verifier, VT_DOCUMENTATION) &&
516
65.8k
           verifier.VerifyVector(documentation()) &&
517
65.8k
           verifier.VerifyVectorOfStrings(documentation()) &&
518
65.8k
           VerifyOffset(verifier, VT_DECLARATION_FILE) &&
519
65.8k
           verifier.VerifyString(declaration_file()) &&
520
65.8k
           verifier.EndTable();
521
65.8k
  }
522
};
523
524
struct EnumBuilder {
525
  typedef Enum Table;
526
  ::flatbuffers::FlatBufferBuilder &fbb_;
527
  ::flatbuffers::uoffset_t start_;
528
52.2k
  void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
529
52.2k
    fbb_.AddOffset(Enum::VT_NAME, name);
530
52.2k
  }
531
52.2k
  void add_values(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>> values) {
532
52.2k
    fbb_.AddOffset(Enum::VT_VALUES, values);
533
52.2k
  }
534
52.2k
  void add_is_union(bool is_union) {
535
52.2k
    fbb_.AddElement<uint8_t>(Enum::VT_IS_UNION, static_cast<uint8_t>(is_union), 0);
536
52.2k
  }
537
52.2k
  void add_underlying_type(::flatbuffers::Offset<reflection::Type> underlying_type) {
538
52.2k
    fbb_.AddOffset(Enum::VT_UNDERLYING_TYPE, underlying_type);
539
52.2k
  }
540
52.2k
  void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>> attributes) {
541
52.2k
    fbb_.AddOffset(Enum::VT_ATTRIBUTES, attributes);
542
52.2k
  }
543
52.2k
  void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> documentation) {
544
52.2k
    fbb_.AddOffset(Enum::VT_DOCUMENTATION, documentation);
545
52.2k
  }
546
52.2k
  void add_declaration_file(::flatbuffers::Offset<::flatbuffers::String> declaration_file) {
547
52.2k
    fbb_.AddOffset(Enum::VT_DECLARATION_FILE, declaration_file);
548
52.2k
  }
549
  explicit EnumBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
550
52.2k
        : fbb_(_fbb) {
551
52.2k
    start_ = fbb_.StartTable();
552
52.2k
  }
553
52.2k
  ::flatbuffers::Offset<Enum> Finish() {
554
52.2k
    const auto end = fbb_.EndTable(start_);
555
52.2k
    auto o = ::flatbuffers::Offset<Enum>(end);
556
52.2k
    fbb_.Required(o, Enum::VT_NAME);
557
52.2k
    fbb_.Required(o, Enum::VT_VALUES);
558
52.2k
    fbb_.Required(o, Enum::VT_UNDERLYING_TYPE);
559
52.2k
    return o;
560
52.2k
  }
561
};
562
563
inline ::flatbuffers::Offset<Enum> CreateEnum(
564
    ::flatbuffers::FlatBufferBuilder &_fbb,
565
    ::flatbuffers::Offset<::flatbuffers::String> name = 0,
566
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>> values = 0,
567
    bool is_union = false,
568
    ::flatbuffers::Offset<reflection::Type> underlying_type = 0,
569
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
570
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> documentation = 0,
571
52.2k
    ::flatbuffers::Offset<::flatbuffers::String> declaration_file = 0) {
572
52.2k
  EnumBuilder builder_(_fbb);
573
52.2k
  builder_.add_declaration_file(declaration_file);
574
52.2k
  builder_.add_documentation(documentation);
575
52.2k
  builder_.add_attributes(attributes);
576
52.2k
  builder_.add_underlying_type(underlying_type);
577
52.2k
  builder_.add_values(values);
578
52.2k
  builder_.add_name(name);
579
52.2k
  builder_.add_is_union(is_union);
580
52.2k
  return builder_.Finish();
581
52.2k
}
582
583
inline ::flatbuffers::Offset<Enum> CreateEnumDirect(
584
    ::flatbuffers::FlatBufferBuilder &_fbb,
585
    const char *name = nullptr,
586
    std::vector<::flatbuffers::Offset<reflection::EnumVal>> *values = nullptr,
587
    bool is_union = false,
588
    ::flatbuffers::Offset<reflection::Type> underlying_type = 0,
589
    std::vector<::flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
590
    const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *documentation = nullptr,
591
0
    const char *declaration_file = nullptr) {
592
0
  auto name__ = name ? _fbb.CreateString(name) : 0;
593
0
  auto values__ = values ? _fbb.CreateVectorOfSortedTables<reflection::EnumVal>(values) : 0;
594
0
  auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
595
0
  auto documentation__ = documentation ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*documentation) : 0;
596
0
  auto declaration_file__ = declaration_file ? _fbb.CreateString(declaration_file) : 0;
597
0
  return reflection::CreateEnum(
598
0
      _fbb,
599
0
      name__,
600
0
      values__,
601
0
      is_union,
602
0
      underlying_type,
603
0
      attributes__,
604
0
      documentation__,
605
0
      declaration_file__);
606
0
}
607
608
struct Field FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
609
  typedef FieldBuilder Builder;
610
  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
611
    VT_NAME = 4,
612
    VT_TYPE = 6,
613
    VT_ID = 8,
614
    VT_OFFSET = 10,
615
    VT_DEFAULT_INTEGER = 12,
616
    VT_DEFAULT_REAL = 14,
617
    VT_DEPRECATED = 16,
618
    VT_REQUIRED = 18,
619
    VT_KEY = 20,
620
    VT_ATTRIBUTES = 22,
621
    VT_DOCUMENTATION = 24,
622
    VT_OPTIONAL = 26,
623
    VT_PADDING = 28,
624
    VT_OFFSET64 = 30
625
  };
626
1.78M
  const ::flatbuffers::String *name() const {
627
1.78M
    return GetPointer<const ::flatbuffers::String *>(VT_NAME);
628
1.78M
  }
629
119k
  bool KeyCompareLessThan(const Field * const o) const {
630
119k
    return *name() < *o->name();
631
119k
  }
632
0
  int KeyCompareWithValue(const char *_name) const {
633
0
    return strcmp(name()->c_str(), _name);
634
0
  }
635
  template<typename StringType>
636
  int KeyCompareWithValue(const StringType& _name) const {
637
    if (name()->c_str() < _name) return -1;
638
    if (_name < name()->c_str()) return 1;
639
    return 0;
640
  }
641
10.0M
  const reflection::Type *type() const {
642
10.0M
    return GetPointer<const reflection::Type *>(VT_TYPE);
643
10.0M
  }
644
1.91M
  uint16_t id() const {
645
1.91M
    return GetField<uint16_t>(VT_ID, 0);
646
1.91M
  }
647
210
  uint16_t offset() const {
648
210
    return GetField<uint16_t>(VT_OFFSET, 0);
649
210
  }
650
8.83k
  int64_t default_integer() const {
651
8.83k
    return GetField<int64_t>(VT_DEFAULT_INTEGER, 0);
652
8.83k
  }
653
70.3k
  double default_real() const {
654
70.3k
    return GetField<double>(VT_DEFAULT_REAL, 0.0);
655
70.3k
  }
656
0
  bool deprecated() const {
657
0
    return GetField<uint8_t>(VT_DEPRECATED, 0) != 0;
658
0
  }
659
99.9k
  bool required() const {
660
99.9k
    return GetField<uint8_t>(VT_REQUIRED, 0) != 0;
661
99.9k
  }
662
192
  bool key() const {
663
192
    return GetField<uint8_t>(VT_KEY, 0) != 0;
664
192
  }
665
520k
  const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
666
520k
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
667
520k
  }
668
520k
  const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *documentation() const {
669
520k
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_DOCUMENTATION);
670
520k
  }
671
192
  bool optional() const {
672
192
    return GetField<uint8_t>(VT_OPTIONAL, 0) != 0;
673
192
  }
674
  /// Number of padding octets to always add after this field. Structs only.
675
421k
  uint16_t padding() const {
676
421k
    return GetField<uint16_t>(VT_PADDING, 0);
677
421k
  }
678
  /// If the field uses 64-bit offsets.
679
84.9k
  bool offset64() const {
680
84.9k
    return GetField<uint8_t>(VT_OFFSET64, 0) != 0;
681
84.9k
  }
682
  template <bool B = false>
683
259k
  bool Verify(::flatbuffers::VerifierTemplate<B> &verifier) const {
684
259k
    return VerifyTableStart(verifier) &&
685
259k
           VerifyOffsetRequired(verifier, VT_NAME) &&
686
259k
           verifier.VerifyString(name()) &&
687
259k
           VerifyOffsetRequired(verifier, VT_TYPE) &&
688
259k
           verifier.VerifyTable(type()) &&
689
259k
           VerifyField<uint16_t>(verifier, VT_ID, 2) &&
690
259k
           VerifyField<uint16_t>(verifier, VT_OFFSET, 2) &&
691
259k
           VerifyField<int64_t>(verifier, VT_DEFAULT_INTEGER, 8) &&
692
259k
           VerifyField<double>(verifier, VT_DEFAULT_REAL, 8) &&
693
259k
           VerifyField<uint8_t>(verifier, VT_DEPRECATED, 1) &&
694
259k
           VerifyField<uint8_t>(verifier, VT_REQUIRED, 1) &&
695
259k
           VerifyField<uint8_t>(verifier, VT_KEY, 1) &&
696
259k
           VerifyOffset(verifier, VT_ATTRIBUTES) &&
697
259k
           verifier.VerifyVector(attributes()) &&
698
259k
           verifier.VerifyVectorOfTables(attributes()) &&
699
259k
           VerifyOffset(verifier, VT_DOCUMENTATION) &&
700
259k
           verifier.VerifyVector(documentation()) &&
701
259k
           verifier.VerifyVectorOfStrings(documentation()) &&
702
259k
           VerifyField<uint8_t>(verifier, VT_OPTIONAL, 1) &&
703
259k
           VerifyField<uint16_t>(verifier, VT_PADDING, 2) &&
704
259k
           VerifyField<uint8_t>(verifier, VT_OFFSET64, 1) &&
705
259k
           verifier.EndTable();
706
259k
  }
707
};
708
709
struct FieldBuilder {
710
  typedef Field Table;
711
  ::flatbuffers::FlatBufferBuilder &fbb_;
712
  ::flatbuffers::uoffset_t start_;
713
31.0k
  void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
714
31.0k
    fbb_.AddOffset(Field::VT_NAME, name);
715
31.0k
  }
716
31.0k
  void add_type(::flatbuffers::Offset<reflection::Type> type) {
717
31.0k
    fbb_.AddOffset(Field::VT_TYPE, type);
718
31.0k
  }
719
31.0k
  void add_id(uint16_t id) {
720
31.0k
    fbb_.AddElement<uint16_t>(Field::VT_ID, id, 0);
721
31.0k
  }
722
31.0k
  void add_offset(uint16_t offset) {
723
31.0k
    fbb_.AddElement<uint16_t>(Field::VT_OFFSET, offset, 0);
724
31.0k
  }
725
31.0k
  void add_default_integer(int64_t default_integer) {
726
31.0k
    fbb_.AddElement<int64_t>(Field::VT_DEFAULT_INTEGER, default_integer, 0);
727
31.0k
  }
728
31.0k
  void add_default_real(double default_real) {
729
31.0k
    fbb_.AddElement<double>(Field::VT_DEFAULT_REAL, default_real, 0.0);
730
31.0k
  }
731
31.0k
  void add_deprecated(bool deprecated) {
732
31.0k
    fbb_.AddElement<uint8_t>(Field::VT_DEPRECATED, static_cast<uint8_t>(deprecated), 0);
733
31.0k
  }
734
31.0k
  void add_required(bool required) {
735
31.0k
    fbb_.AddElement<uint8_t>(Field::VT_REQUIRED, static_cast<uint8_t>(required), 0);
736
31.0k
  }
737
31.0k
  void add_key(bool key) {
738
31.0k
    fbb_.AddElement<uint8_t>(Field::VT_KEY, static_cast<uint8_t>(key), 0);
739
31.0k
  }
740
31.0k
  void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>> attributes) {
741
31.0k
    fbb_.AddOffset(Field::VT_ATTRIBUTES, attributes);
742
31.0k
  }
743
31.0k
  void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> documentation) {
744
31.0k
    fbb_.AddOffset(Field::VT_DOCUMENTATION, documentation);
745
31.0k
  }
746
31.0k
  void add_optional(bool optional) {
747
31.0k
    fbb_.AddElement<uint8_t>(Field::VT_OPTIONAL, static_cast<uint8_t>(optional), 0);
748
31.0k
  }
749
31.0k
  void add_padding(uint16_t padding) {
750
31.0k
    fbb_.AddElement<uint16_t>(Field::VT_PADDING, padding, 0);
751
31.0k
  }
752
31.0k
  void add_offset64(bool offset64) {
753
31.0k
    fbb_.AddElement<uint8_t>(Field::VT_OFFSET64, static_cast<uint8_t>(offset64), 0);
754
31.0k
  }
755
  explicit FieldBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
756
31.0k
        : fbb_(_fbb) {
757
31.0k
    start_ = fbb_.StartTable();
758
31.0k
  }
759
31.0k
  ::flatbuffers::Offset<Field> Finish() {
760
31.0k
    const auto end = fbb_.EndTable(start_);
761
31.0k
    auto o = ::flatbuffers::Offset<Field>(end);
762
31.0k
    fbb_.Required(o, Field::VT_NAME);
763
31.0k
    fbb_.Required(o, Field::VT_TYPE);
764
31.0k
    return o;
765
31.0k
  }
766
};
767
768
inline ::flatbuffers::Offset<Field> CreateField(
769
    ::flatbuffers::FlatBufferBuilder &_fbb,
770
    ::flatbuffers::Offset<::flatbuffers::String> name = 0,
771
    ::flatbuffers::Offset<reflection::Type> type = 0,
772
    uint16_t id = 0,
773
    uint16_t offset = 0,
774
    int64_t default_integer = 0,
775
    double default_real = 0.0,
776
    bool deprecated = false,
777
    bool required = false,
778
    bool key = false,
779
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
780
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> documentation = 0,
781
    bool optional = false,
782
    uint16_t padding = 0,
783
31.0k
    bool offset64 = false) {
784
31.0k
  FieldBuilder builder_(_fbb);
785
31.0k
  builder_.add_default_real(default_real);
786
31.0k
  builder_.add_default_integer(default_integer);
787
31.0k
  builder_.add_documentation(documentation);
788
31.0k
  builder_.add_attributes(attributes);
789
31.0k
  builder_.add_type(type);
790
31.0k
  builder_.add_name(name);
791
31.0k
  builder_.add_padding(padding);
792
31.0k
  builder_.add_offset(offset);
793
31.0k
  builder_.add_id(id);
794
31.0k
  builder_.add_offset64(offset64);
795
31.0k
  builder_.add_optional(optional);
796
31.0k
  builder_.add_key(key);
797
31.0k
  builder_.add_required(required);
798
31.0k
  builder_.add_deprecated(deprecated);
799
31.0k
  return builder_.Finish();
800
31.0k
}
801
802
inline ::flatbuffers::Offset<Field> CreateFieldDirect(
803
    ::flatbuffers::FlatBufferBuilder &_fbb,
804
    const char *name = nullptr,
805
    ::flatbuffers::Offset<reflection::Type> type = 0,
806
    uint16_t id = 0,
807
    uint16_t offset = 0,
808
    int64_t default_integer = 0,
809
    double default_real = 0.0,
810
    bool deprecated = false,
811
    bool required = false,
812
    bool key = false,
813
    std::vector<::flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
814
    const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *documentation = nullptr,
815
    bool optional = false,
816
    uint16_t padding = 0,
817
0
    bool offset64 = false) {
818
0
  auto name__ = name ? _fbb.CreateString(name) : 0;
819
0
  auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
820
0
  auto documentation__ = documentation ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*documentation) : 0;
821
0
  return reflection::CreateField(
822
0
      _fbb,
823
0
      name__,
824
0
      type,
825
0
      id,
826
0
      offset,
827
0
      default_integer,
828
0
      default_real,
829
0
      deprecated,
830
0
      required,
831
0
      key,
832
0
      attributes__,
833
0
      documentation__,
834
0
      optional,
835
0
      padding,
836
0
      offset64);
837
0
}
838
839
struct Object FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
840
  typedef ObjectBuilder Builder;
841
  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
842
    VT_NAME = 4,
843
    VT_FIELDS = 6,
844
    VT_IS_STRUCT = 8,
845
    VT_MINALIGN = 10,
846
    VT_BYTESIZE = 12,
847
    VT_ATTRIBUTES = 14,
848
    VT_DOCUMENTATION = 16,
849
    VT_DECLARATION_FILE = 18
850
  };
851
3.77M
  const ::flatbuffers::String *name() const {
852
3.77M
    return GetPointer<const ::flatbuffers::String *>(VT_NAME);
853
3.77M
  }
854
546k
  bool KeyCompareLessThan(const Object * const o) const {
855
546k
    return *name() < *o->name();
856
546k
  }
857
0
  int KeyCompareWithValue(const char *_name) const {
858
0
    return strcmp(name()->c_str(), _name);
859
0
  }
860
  template<typename StringType>
861
0
  int KeyCompareWithValue(const StringType& _name) const {
862
0
    if (name()->c_str() < _name) return -1;
863
0
    if (_name < name()->c_str()) return 1;
864
0
    return 0;
865
0
  }
866
3.36M
  const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>> *fields() const {
867
3.36M
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>> *>(VT_FIELDS);
868
3.36M
  }
869
314k
  bool is_struct() const {
870
314k
    return GetField<uint8_t>(VT_IS_STRUCT, 0) != 0;
871
314k
  }
872
30
  int32_t minalign() const {
873
30
    return GetField<int32_t>(VT_MINALIGN, 0);
874
30
  }
875
232
  int32_t bytesize() const {
876
232
    return GetField<int32_t>(VT_BYTESIZE, 0);
877
232
  }
878
150k
  const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
879
150k
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
880
150k
  }
881
150k
  const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *documentation() const {
882
150k
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_DOCUMENTATION);
883
150k
  }
884
  /// File that this Object is declared in.
885
75.0k
  const ::flatbuffers::String *declaration_file() const {
886
75.0k
    return GetPointer<const ::flatbuffers::String *>(VT_DECLARATION_FILE);
887
75.0k
  }
888
  template <bool B = false>
889
75.0k
  bool Verify(::flatbuffers::VerifierTemplate<B> &verifier) const {
890
75.0k
    return VerifyTableStart(verifier) &&
891
75.0k
           VerifyOffsetRequired(verifier, VT_NAME) &&
892
75.0k
           verifier.VerifyString(name()) &&
893
75.0k
           VerifyOffsetRequired(verifier, VT_FIELDS) &&
894
75.0k
           verifier.VerifyVector(fields()) &&
895
75.0k
           verifier.VerifyVectorOfTables(fields()) &&
896
75.0k
           VerifyField<uint8_t>(verifier, VT_IS_STRUCT, 1) &&
897
75.0k
           VerifyField<int32_t>(verifier, VT_MINALIGN, 4) &&
898
75.0k
           VerifyField<int32_t>(verifier, VT_BYTESIZE, 4) &&
899
75.0k
           VerifyOffset(verifier, VT_ATTRIBUTES) &&
900
75.0k
           verifier.VerifyVector(attributes()) &&
901
75.0k
           verifier.VerifyVectorOfTables(attributes()) &&
902
75.0k
           VerifyOffset(verifier, VT_DOCUMENTATION) &&
903
75.0k
           verifier.VerifyVector(documentation()) &&
904
75.0k
           verifier.VerifyVectorOfStrings(documentation()) &&
905
75.0k
           VerifyOffset(verifier, VT_DECLARATION_FILE) &&
906
75.0k
           verifier.VerifyString(declaration_file()) &&
907
75.0k
           verifier.EndTable();
908
75.0k
  }
909
};
910
911
struct ObjectBuilder {
912
  typedef Object Table;
913
  ::flatbuffers::FlatBufferBuilder &fbb_;
914
  ::flatbuffers::uoffset_t start_;
915
44.3k
  void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
916
44.3k
    fbb_.AddOffset(Object::VT_NAME, name);
917
44.3k
  }
918
44.3k
  void add_fields(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>> fields) {
919
44.3k
    fbb_.AddOffset(Object::VT_FIELDS, fields);
920
44.3k
  }
921
44.3k
  void add_is_struct(bool is_struct) {
922
44.3k
    fbb_.AddElement<uint8_t>(Object::VT_IS_STRUCT, static_cast<uint8_t>(is_struct), 0);
923
44.3k
  }
924
44.3k
  void add_minalign(int32_t minalign) {
925
44.3k
    fbb_.AddElement<int32_t>(Object::VT_MINALIGN, minalign, 0);
926
44.3k
  }
927
44.3k
  void add_bytesize(int32_t bytesize) {
928
44.3k
    fbb_.AddElement<int32_t>(Object::VT_BYTESIZE, bytesize, 0);
929
44.3k
  }
930
44.3k
  void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>> attributes) {
931
44.3k
    fbb_.AddOffset(Object::VT_ATTRIBUTES, attributes);
932
44.3k
  }
933
44.3k
  void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> documentation) {
934
44.3k
    fbb_.AddOffset(Object::VT_DOCUMENTATION, documentation);
935
44.3k
  }
936
44.3k
  void add_declaration_file(::flatbuffers::Offset<::flatbuffers::String> declaration_file) {
937
44.3k
    fbb_.AddOffset(Object::VT_DECLARATION_FILE, declaration_file);
938
44.3k
  }
939
  explicit ObjectBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
940
44.3k
        : fbb_(_fbb) {
941
44.3k
    start_ = fbb_.StartTable();
942
44.3k
  }
943
44.3k
  ::flatbuffers::Offset<Object> Finish() {
944
44.3k
    const auto end = fbb_.EndTable(start_);
945
44.3k
    auto o = ::flatbuffers::Offset<Object>(end);
946
44.3k
    fbb_.Required(o, Object::VT_NAME);
947
44.3k
    fbb_.Required(o, Object::VT_FIELDS);
948
44.3k
    return o;
949
44.3k
  }
950
};
951
952
inline ::flatbuffers::Offset<Object> CreateObject(
953
    ::flatbuffers::FlatBufferBuilder &_fbb,
954
    ::flatbuffers::Offset<::flatbuffers::String> name = 0,
955
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>> fields = 0,
956
    bool is_struct = false,
957
    int32_t minalign = 0,
958
    int32_t bytesize = 0,
959
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
960
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> documentation = 0,
961
44.3k
    ::flatbuffers::Offset<::flatbuffers::String> declaration_file = 0) {
962
44.3k
  ObjectBuilder builder_(_fbb);
963
44.3k
  builder_.add_declaration_file(declaration_file);
964
44.3k
  builder_.add_documentation(documentation);
965
44.3k
  builder_.add_attributes(attributes);
966
44.3k
  builder_.add_bytesize(bytesize);
967
44.3k
  builder_.add_minalign(minalign);
968
44.3k
  builder_.add_fields(fields);
969
44.3k
  builder_.add_name(name);
970
44.3k
  builder_.add_is_struct(is_struct);
971
44.3k
  return builder_.Finish();
972
44.3k
}
973
974
inline ::flatbuffers::Offset<Object> CreateObjectDirect(
975
    ::flatbuffers::FlatBufferBuilder &_fbb,
976
    const char *name = nullptr,
977
    std::vector<::flatbuffers::Offset<reflection::Field>> *fields = nullptr,
978
    bool is_struct = false,
979
    int32_t minalign = 0,
980
    int32_t bytesize = 0,
981
    std::vector<::flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
982
    const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *documentation = nullptr,
983
0
    const char *declaration_file = nullptr) {
984
0
  auto name__ = name ? _fbb.CreateString(name) : 0;
985
0
  auto fields__ = fields ? _fbb.CreateVectorOfSortedTables<reflection::Field>(fields) : 0;
986
0
  auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
987
0
  auto documentation__ = documentation ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*documentation) : 0;
988
0
  auto declaration_file__ = declaration_file ? _fbb.CreateString(declaration_file) : 0;
989
0
  return reflection::CreateObject(
990
0
      _fbb,
991
0
      name__,
992
0
      fields__,
993
0
      is_struct,
994
0
      minalign,
995
0
      bytesize,
996
0
      attributes__,
997
0
      documentation__,
998
0
      declaration_file__);
999
0
}
1000
1001
struct RPCCall FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1002
  typedef RPCCallBuilder Builder;
1003
  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1004
    VT_NAME = 4,
1005
    VT_REQUEST = 6,
1006
    VT_RESPONSE = 8,
1007
    VT_ATTRIBUTES = 10,
1008
    VT_DOCUMENTATION = 12
1009
  };
1010
1.69k
  const ::flatbuffers::String *name() const {
1011
1.69k
    return GetPointer<const ::flatbuffers::String *>(VT_NAME);
1012
1.69k
  }
1013
0
  bool KeyCompareLessThan(const RPCCall * const o) const {
1014
0
    return *name() < *o->name();
1015
0
  }
1016
0
  int KeyCompareWithValue(const char *_name) const {
1017
0
    return strcmp(name()->c_str(), _name);
1018
0
  }
1019
  template<typename StringType>
1020
  int KeyCompareWithValue(const StringType& _name) const {
1021
    if (name()->c_str() < _name) return -1;
1022
    if (_name < name()->c_str()) return 1;
1023
    return 0;
1024
  }
1025
1.69k
  const reflection::Object *request() const {
1026
1.69k
    return GetPointer<const reflection::Object *>(VT_REQUEST);
1027
1.69k
  }
1028
1.69k
  const reflection::Object *response() const {
1029
1.69k
    return GetPointer<const reflection::Object *>(VT_RESPONSE);
1030
1.69k
  }
1031
3.38k
  const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
1032
3.38k
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
1033
3.38k
  }
1034
3.38k
  const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *documentation() const {
1035
3.38k
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_DOCUMENTATION);
1036
3.38k
  }
1037
  template <bool B = false>
1038
1.68k
  bool Verify(::flatbuffers::VerifierTemplate<B> &verifier) const {
1039
1.68k
    return VerifyTableStart(verifier) &&
1040
1.68k
           VerifyOffsetRequired(verifier, VT_NAME) &&
1041
1.68k
           verifier.VerifyString(name()) &&
1042
1.68k
           VerifyOffsetRequired(verifier, VT_REQUEST) &&
1043
1.68k
           verifier.VerifyTable(request()) &&
1044
1.68k
           VerifyOffsetRequired(verifier, VT_RESPONSE) &&
1045
1.68k
           verifier.VerifyTable(response()) &&
1046
1.68k
           VerifyOffset(verifier, VT_ATTRIBUTES) &&
1047
1.68k
           verifier.VerifyVector(attributes()) &&
1048
1.68k
           verifier.VerifyVectorOfTables(attributes()) &&
1049
1.68k
           VerifyOffset(verifier, VT_DOCUMENTATION) &&
1050
1.68k
           verifier.VerifyVector(documentation()) &&
1051
1.68k
           verifier.VerifyVectorOfStrings(documentation()) &&
1052
1.68k
           verifier.EndTable();
1053
1.68k
  }
1054
};
1055
1056
struct RPCCallBuilder {
1057
  typedef RPCCall Table;
1058
  ::flatbuffers::FlatBufferBuilder &fbb_;
1059
  ::flatbuffers::uoffset_t start_;
1060
1.67k
  void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
1061
1.67k
    fbb_.AddOffset(RPCCall::VT_NAME, name);
1062
1.67k
  }
1063
1.67k
  void add_request(::flatbuffers::Offset<reflection::Object> request) {
1064
1.67k
    fbb_.AddOffset(RPCCall::VT_REQUEST, request);
1065
1.67k
  }
1066
1.67k
  void add_response(::flatbuffers::Offset<reflection::Object> response) {
1067
1.67k
    fbb_.AddOffset(RPCCall::VT_RESPONSE, response);
1068
1.67k
  }
1069
1.67k
  void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>> attributes) {
1070
1.67k
    fbb_.AddOffset(RPCCall::VT_ATTRIBUTES, attributes);
1071
1.67k
  }
1072
1.67k
  void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> documentation) {
1073
1.67k
    fbb_.AddOffset(RPCCall::VT_DOCUMENTATION, documentation);
1074
1.67k
  }
1075
  explicit RPCCallBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1076
1.67k
        : fbb_(_fbb) {
1077
1.67k
    start_ = fbb_.StartTable();
1078
1.67k
  }
1079
1.67k
  ::flatbuffers::Offset<RPCCall> Finish() {
1080
1.67k
    const auto end = fbb_.EndTable(start_);
1081
1.67k
    auto o = ::flatbuffers::Offset<RPCCall>(end);
1082
1.67k
    fbb_.Required(o, RPCCall::VT_NAME);
1083
1.67k
    fbb_.Required(o, RPCCall::VT_REQUEST);
1084
1.67k
    fbb_.Required(o, RPCCall::VT_RESPONSE);
1085
1.67k
    return o;
1086
1.67k
  }
1087
};
1088
1089
inline ::flatbuffers::Offset<RPCCall> CreateRPCCall(
1090
    ::flatbuffers::FlatBufferBuilder &_fbb,
1091
    ::flatbuffers::Offset<::flatbuffers::String> name = 0,
1092
    ::flatbuffers::Offset<reflection::Object> request = 0,
1093
    ::flatbuffers::Offset<reflection::Object> response = 0,
1094
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
1095
1.67k
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> documentation = 0) {
1096
1.67k
  RPCCallBuilder builder_(_fbb);
1097
1.67k
  builder_.add_documentation(documentation);
1098
1.67k
  builder_.add_attributes(attributes);
1099
1.67k
  builder_.add_response(response);
1100
1.67k
  builder_.add_request(request);
1101
1.67k
  builder_.add_name(name);
1102
1.67k
  return builder_.Finish();
1103
1.67k
}
1104
1105
inline ::flatbuffers::Offset<RPCCall> CreateRPCCallDirect(
1106
    ::flatbuffers::FlatBufferBuilder &_fbb,
1107
    const char *name = nullptr,
1108
    ::flatbuffers::Offset<reflection::Object> request = 0,
1109
    ::flatbuffers::Offset<reflection::Object> response = 0,
1110
    std::vector<::flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
1111
0
    const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *documentation = nullptr) {
1112
0
  auto name__ = name ? _fbb.CreateString(name) : 0;
1113
0
  auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
1114
0
  auto documentation__ = documentation ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*documentation) : 0;
1115
0
  return reflection::CreateRPCCall(
1116
0
      _fbb,
1117
0
      name__,
1118
0
      request,
1119
0
      response,
1120
0
      attributes__,
1121
0
      documentation__);
1122
0
}
1123
1124
struct Service FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1125
  typedef ServiceBuilder Builder;
1126
  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1127
    VT_NAME = 4,
1128
    VT_CALLS = 6,
1129
    VT_ATTRIBUTES = 8,
1130
    VT_DOCUMENTATION = 10,
1131
    VT_DECLARATION_FILE = 12
1132
  };
1133
4.59k
  const ::flatbuffers::String *name() const {
1134
4.59k
    return GetPointer<const ::flatbuffers::String *>(VT_NAME);
1135
4.59k
  }
1136
1.95k
  bool KeyCompareLessThan(const Service * const o) const {
1137
1.95k
    return *name() < *o->name();
1138
1.95k
  }
1139
0
  int KeyCompareWithValue(const char *_name) const {
1140
0
    return strcmp(name()->c_str(), _name);
1141
0
  }
1142
  template<typename StringType>
1143
  int KeyCompareWithValue(const StringType& _name) const {
1144
    if (name()->c_str() < _name) return -1;
1145
    if (_name < name()->c_str()) return 1;
1146
    return 0;
1147
  }
1148
1.40k
  const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>> *calls() const {
1149
1.40k
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>> *>(VT_CALLS);
1150
1.40k
  }
1151
1.38k
  const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
1152
1.38k
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
1153
1.38k
  }
1154
1.38k
  const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *documentation() const {
1155
1.38k
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_DOCUMENTATION);
1156
1.38k
  }
1157
  /// File that this Service is declared in.
1158
690
  const ::flatbuffers::String *declaration_file() const {
1159
690
    return GetPointer<const ::flatbuffers::String *>(VT_DECLARATION_FILE);
1160
690
  }
1161
  template <bool B = false>
1162
690
  bool Verify(::flatbuffers::VerifierTemplate<B> &verifier) const {
1163
690
    return VerifyTableStart(verifier) &&
1164
690
           VerifyOffsetRequired(verifier, VT_NAME) &&
1165
690
           verifier.VerifyString(name()) &&
1166
690
           VerifyOffset(verifier, VT_CALLS) &&
1167
690
           verifier.VerifyVector(calls()) &&
1168
690
           verifier.VerifyVectorOfTables(calls()) &&
1169
690
           VerifyOffset(verifier, VT_ATTRIBUTES) &&
1170
690
           verifier.VerifyVector(attributes()) &&
1171
690
           verifier.VerifyVectorOfTables(attributes()) &&
1172
690
           VerifyOffset(verifier, VT_DOCUMENTATION) &&
1173
690
           verifier.VerifyVector(documentation()) &&
1174
690
           verifier.VerifyVectorOfStrings(documentation()) &&
1175
690
           VerifyOffset(verifier, VT_DECLARATION_FILE) &&
1176
690
           verifier.VerifyString(declaration_file()) &&
1177
690
           verifier.EndTable();
1178
690
  }
1179
};
1180
1181
struct ServiceBuilder {
1182
  typedef Service Table;
1183
  ::flatbuffers::FlatBufferBuilder &fbb_;
1184
  ::flatbuffers::uoffset_t start_;
1185
686
  void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
1186
686
    fbb_.AddOffset(Service::VT_NAME, name);
1187
686
  }
1188
686
  void add_calls(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>> calls) {
1189
686
    fbb_.AddOffset(Service::VT_CALLS, calls);
1190
686
  }
1191
686
  void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>> attributes) {
1192
686
    fbb_.AddOffset(Service::VT_ATTRIBUTES, attributes);
1193
686
  }
1194
686
  void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> documentation) {
1195
686
    fbb_.AddOffset(Service::VT_DOCUMENTATION, documentation);
1196
686
  }
1197
686
  void add_declaration_file(::flatbuffers::Offset<::flatbuffers::String> declaration_file) {
1198
686
    fbb_.AddOffset(Service::VT_DECLARATION_FILE, declaration_file);
1199
686
  }
1200
  explicit ServiceBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1201
686
        : fbb_(_fbb) {
1202
686
    start_ = fbb_.StartTable();
1203
686
  }
1204
686
  ::flatbuffers::Offset<Service> Finish() {
1205
686
    const auto end = fbb_.EndTable(start_);
1206
686
    auto o = ::flatbuffers::Offset<Service>(end);
1207
686
    fbb_.Required(o, Service::VT_NAME);
1208
686
    return o;
1209
686
  }
1210
};
1211
1212
inline ::flatbuffers::Offset<Service> CreateService(
1213
    ::flatbuffers::FlatBufferBuilder &_fbb,
1214
    ::flatbuffers::Offset<::flatbuffers::String> name = 0,
1215
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>> calls = 0,
1216
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
1217
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> documentation = 0,
1218
686
    ::flatbuffers::Offset<::flatbuffers::String> declaration_file = 0) {
1219
686
  ServiceBuilder builder_(_fbb);
1220
686
  builder_.add_declaration_file(declaration_file);
1221
686
  builder_.add_documentation(documentation);
1222
686
  builder_.add_attributes(attributes);
1223
686
  builder_.add_calls(calls);
1224
686
  builder_.add_name(name);
1225
686
  return builder_.Finish();
1226
686
}
1227
1228
inline ::flatbuffers::Offset<Service> CreateServiceDirect(
1229
    ::flatbuffers::FlatBufferBuilder &_fbb,
1230
    const char *name = nullptr,
1231
    std::vector<::flatbuffers::Offset<reflection::RPCCall>> *calls = nullptr,
1232
    std::vector<::flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
1233
    const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *documentation = nullptr,
1234
0
    const char *declaration_file = nullptr) {
1235
0
  auto name__ = name ? _fbb.CreateString(name) : 0;
1236
0
  auto calls__ = calls ? _fbb.CreateVectorOfSortedTables<reflection::RPCCall>(calls) : 0;
1237
0
  auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
1238
0
  auto documentation__ = documentation ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*documentation) : 0;
1239
0
  auto declaration_file__ = declaration_file ? _fbb.CreateString(declaration_file) : 0;
1240
0
  return reflection::CreateService(
1241
0
      _fbb,
1242
0
      name__,
1243
0
      calls__,
1244
0
      attributes__,
1245
0
      documentation__,
1246
0
      declaration_file__);
1247
0
}
1248
1249
/// File specific information.
1250
/// Symbols declared within a file may be recovered by iterating over all
1251
/// symbols and examining the `declaration_file` field.
1252
struct SchemaFile FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1253
  typedef SchemaFileBuilder Builder;
1254
  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1255
    VT_FILENAME = 4,
1256
    VT_INCLUDED_FILENAMES = 6
1257
  };
1258
  /// Filename, relative to project root.
1259
24
  const ::flatbuffers::String *filename() const {
1260
24
    return GetPointer<const ::flatbuffers::String *>(VT_FILENAME);
1261
24
  }
1262
0
  bool KeyCompareLessThan(const SchemaFile * const o) const {
1263
0
    return *filename() < *o->filename();
1264
0
  }
1265
0
  int KeyCompareWithValue(const char *_filename) const {
1266
0
    return strcmp(filename()->c_str(), _filename);
1267
0
  }
1268
  template<typename StringType>
1269
  int KeyCompareWithValue(const StringType& _filename) const {
1270
    if (filename()->c_str() < _filename) return -1;
1271
    if (_filename < filename()->c_str()) return 1;
1272
    return 0;
1273
  }
1274
  /// Names of included files, relative to project root.
1275
50
  const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *included_filenames() const {
1276
50
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INCLUDED_FILENAMES);
1277
50
  }
1278
  template <bool B = false>
1279
14
  bool Verify(::flatbuffers::VerifierTemplate<B> &verifier) const {
1280
14
    return VerifyTableStart(verifier) &&
1281
14
           VerifyOffsetRequired(verifier, VT_FILENAME) &&
1282
14
           verifier.VerifyString(filename()) &&
1283
14
           VerifyOffset(verifier, VT_INCLUDED_FILENAMES) &&
1284
14
           verifier.VerifyVector(included_filenames()) &&
1285
14
           verifier.VerifyVectorOfStrings(included_filenames()) &&
1286
14
           verifier.EndTable();
1287
14
  }
1288
};
1289
1290
struct SchemaFileBuilder {
1291
  typedef SchemaFile Table;
1292
  ::flatbuffers::FlatBufferBuilder &fbb_;
1293
  ::flatbuffers::uoffset_t start_;
1294
0
  void add_filename(::flatbuffers::Offset<::flatbuffers::String> filename) {
1295
0
    fbb_.AddOffset(SchemaFile::VT_FILENAME, filename);
1296
0
  }
1297
0
  void add_included_filenames(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> included_filenames) {
1298
0
    fbb_.AddOffset(SchemaFile::VT_INCLUDED_FILENAMES, included_filenames);
1299
0
  }
1300
  explicit SchemaFileBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1301
0
        : fbb_(_fbb) {
1302
0
    start_ = fbb_.StartTable();
1303
0
  }
1304
0
  ::flatbuffers::Offset<SchemaFile> Finish() {
1305
0
    const auto end = fbb_.EndTable(start_);
1306
0
    auto o = ::flatbuffers::Offset<SchemaFile>(end);
1307
0
    fbb_.Required(o, SchemaFile::VT_FILENAME);
1308
0
    return o;
1309
0
  }
1310
};
1311
1312
inline ::flatbuffers::Offset<SchemaFile> CreateSchemaFile(
1313
    ::flatbuffers::FlatBufferBuilder &_fbb,
1314
    ::flatbuffers::Offset<::flatbuffers::String> filename = 0,
1315
0
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> included_filenames = 0) {
1316
0
  SchemaFileBuilder builder_(_fbb);
1317
0
  builder_.add_included_filenames(included_filenames);
1318
0
  builder_.add_filename(filename);
1319
0
  return builder_.Finish();
1320
0
}
1321
1322
inline ::flatbuffers::Offset<SchemaFile> CreateSchemaFileDirect(
1323
    ::flatbuffers::FlatBufferBuilder &_fbb,
1324
    const char *filename = nullptr,
1325
0
    const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *included_filenames = nullptr) {
1326
0
  auto filename__ = filename ? _fbb.CreateString(filename) : 0;
1327
0
  auto included_filenames__ = included_filenames ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*included_filenames) : 0;
1328
0
  return reflection::CreateSchemaFile(
1329
0
      _fbb,
1330
0
      filename__,
1331
0
      included_filenames__);
1332
0
}
1333
1334
struct Schema FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1335
  typedef SchemaBuilder Builder;
1336
  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1337
    VT_OBJECTS = 4,
1338
    VT_ENUMS = 6,
1339
    VT_FILE_IDENT = 8,
1340
    VT_FILE_EXT = 10,
1341
    VT_ROOT_TABLE = 12,
1342
    VT_SERVICES = 14,
1343
    VT_ADVANCED_FEATURES = 16,
1344
    VT_FBS_FILES = 18
1345
  };
1346
123k
  const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>> *objects() const {
1347
123k
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>> *>(VT_OBJECTS);
1348
123k
  }
1349
6.75M
  const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>> *enums() const {
1350
6.75M
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>> *>(VT_ENUMS);
1351
6.75M
  }
1352
7.61k
  const ::flatbuffers::String *file_ident() const {
1353
7.61k
    return GetPointer<const ::flatbuffers::String *>(VT_FILE_IDENT);
1354
7.61k
  }
1355
7.61k
  const ::flatbuffers::String *file_ext() const {
1356
7.61k
    return GetPointer<const ::flatbuffers::String *>(VT_FILE_EXT);
1357
7.61k
  }
1358
14.3k
  const reflection::Object *root_table() const {
1359
14.3k
    return GetPointer<const reflection::Object *>(VT_ROOT_TABLE);
1360
14.3k
  }
1361
15.2k
  const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>> *services() const {
1362
15.2k
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>> *>(VT_SERVICES);
1363
15.2k
  }
1364
2
  reflection::AdvancedFeatures advanced_features() const {
1365
2
    return static_cast<reflection::AdvancedFeatures>(GetField<uint64_t>(VT_ADVANCED_FEATURES, 0));
1366
2
  }
1367
  /// All the files used in this compilation. Files are relative to where
1368
  /// flatc was invoked.
1369
15.2k
  const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>> *fbs_files() const {
1370
15.2k
    return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>> *>(VT_FBS_FILES);
1371
15.2k
  }
1372
  template <bool B = false>
1373
7.61k
  bool Verify(::flatbuffers::VerifierTemplate<B> &verifier) const {
1374
7.61k
    return VerifyTableStart(verifier) &&
1375
7.61k
           VerifyOffsetRequired(verifier, VT_OBJECTS) &&
1376
7.61k
           verifier.VerifyVector(objects()) &&
1377
7.61k
           verifier.VerifyVectorOfTables(objects()) &&
1378
7.61k
           VerifyOffsetRequired(verifier, VT_ENUMS) &&
1379
7.61k
           verifier.VerifyVector(enums()) &&
1380
7.61k
           verifier.VerifyVectorOfTables(enums()) &&
1381
7.61k
           VerifyOffset(verifier, VT_FILE_IDENT) &&
1382
7.61k
           verifier.VerifyString(file_ident()) &&
1383
7.61k
           VerifyOffset(verifier, VT_FILE_EXT) &&
1384
7.61k
           verifier.VerifyString(file_ext()) &&
1385
7.61k
           VerifyOffset(verifier, VT_ROOT_TABLE) &&
1386
7.61k
           verifier.VerifyTable(root_table()) &&
1387
7.61k
           VerifyOffset(verifier, VT_SERVICES) &&
1388
7.61k
           verifier.VerifyVector(services()) &&
1389
7.61k
           verifier.VerifyVectorOfTables(services()) &&
1390
7.61k
           VerifyField<uint64_t>(verifier, VT_ADVANCED_FEATURES, 8) &&
1391
7.61k
           VerifyOffset(verifier, VT_FBS_FILES) &&
1392
7.61k
           verifier.VerifyVector(fbs_files()) &&
1393
7.61k
           verifier.VerifyVectorOfTables(fbs_files()) &&
1394
7.61k
           verifier.EndTable();
1395
7.61k
  }
1396
};
1397
1398
struct SchemaBuilder {
1399
  typedef Schema Table;
1400
  ::flatbuffers::FlatBufferBuilder &fbb_;
1401
  ::flatbuffers::uoffset_t start_;
1402
4.22k
  void add_objects(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>> objects) {
1403
4.22k
    fbb_.AddOffset(Schema::VT_OBJECTS, objects);
1404
4.22k
  }
1405
4.22k
  void add_enums(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>> enums) {
1406
4.22k
    fbb_.AddOffset(Schema::VT_ENUMS, enums);
1407
4.22k
  }
1408
4.22k
  void add_file_ident(::flatbuffers::Offset<::flatbuffers::String> file_ident) {
1409
4.22k
    fbb_.AddOffset(Schema::VT_FILE_IDENT, file_ident);
1410
4.22k
  }
1411
4.22k
  void add_file_ext(::flatbuffers::Offset<::flatbuffers::String> file_ext) {
1412
4.22k
    fbb_.AddOffset(Schema::VT_FILE_EXT, file_ext);
1413
4.22k
  }
1414
4.22k
  void add_root_table(::flatbuffers::Offset<reflection::Object> root_table) {
1415
4.22k
    fbb_.AddOffset(Schema::VT_ROOT_TABLE, root_table);
1416
4.22k
  }
1417
4.22k
  void add_services(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>> services) {
1418
4.22k
    fbb_.AddOffset(Schema::VT_SERVICES, services);
1419
4.22k
  }
1420
4.22k
  void add_advanced_features(reflection::AdvancedFeatures advanced_features) {
1421
4.22k
    fbb_.AddElement<uint64_t>(Schema::VT_ADVANCED_FEATURES, static_cast<uint64_t>(advanced_features), 0);
1422
4.22k
  }
1423
4.22k
  void add_fbs_files(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>> fbs_files) {
1424
4.22k
    fbb_.AddOffset(Schema::VT_FBS_FILES, fbs_files);
1425
4.22k
  }
1426
  explicit SchemaBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1427
4.22k
        : fbb_(_fbb) {
1428
4.22k
    start_ = fbb_.StartTable();
1429
4.22k
  }
1430
4.22k
  ::flatbuffers::Offset<Schema> Finish() {
1431
4.22k
    const auto end = fbb_.EndTable(start_);
1432
4.22k
    auto o = ::flatbuffers::Offset<Schema>(end);
1433
4.22k
    fbb_.Required(o, Schema::VT_OBJECTS);
1434
4.22k
    fbb_.Required(o, Schema::VT_ENUMS);
1435
4.22k
    return o;
1436
4.22k
  }
1437
};
1438
1439
inline ::flatbuffers::Offset<Schema> CreateSchema(
1440
    ::flatbuffers::FlatBufferBuilder &_fbb,
1441
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>> objects = 0,
1442
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>> enums = 0,
1443
    ::flatbuffers::Offset<::flatbuffers::String> file_ident = 0,
1444
    ::flatbuffers::Offset<::flatbuffers::String> file_ext = 0,
1445
    ::flatbuffers::Offset<reflection::Object> root_table = 0,
1446
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>> services = 0,
1447
    reflection::AdvancedFeatures advanced_features = static_cast<reflection::AdvancedFeatures>(0),
1448
4.22k
    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>> fbs_files = 0) {
1449
4.22k
  SchemaBuilder builder_(_fbb);
1450
4.22k
  builder_.add_advanced_features(advanced_features);
1451
4.22k
  builder_.add_fbs_files(fbs_files);
1452
4.22k
  builder_.add_services(services);
1453
4.22k
  builder_.add_root_table(root_table);
1454
4.22k
  builder_.add_file_ext(file_ext);
1455
4.22k
  builder_.add_file_ident(file_ident);
1456
4.22k
  builder_.add_enums(enums);
1457
4.22k
  builder_.add_objects(objects);
1458
4.22k
  return builder_.Finish();
1459
4.22k
}
1460
1461
inline ::flatbuffers::Offset<Schema> CreateSchemaDirect(
1462
    ::flatbuffers::FlatBufferBuilder &_fbb,
1463
    std::vector<::flatbuffers::Offset<reflection::Object>> *objects = nullptr,
1464
    std::vector<::flatbuffers::Offset<reflection::Enum>> *enums = nullptr,
1465
    const char *file_ident = nullptr,
1466
    const char *file_ext = nullptr,
1467
    ::flatbuffers::Offset<reflection::Object> root_table = 0,
1468
    std::vector<::flatbuffers::Offset<reflection::Service>> *services = nullptr,
1469
    reflection::AdvancedFeatures advanced_features = static_cast<reflection::AdvancedFeatures>(0),
1470
0
    std::vector<::flatbuffers::Offset<reflection::SchemaFile>> *fbs_files = nullptr) {
1471
0
  auto objects__ = objects ? _fbb.CreateVectorOfSortedTables<reflection::Object>(objects) : 0;
1472
0
  auto enums__ = enums ? _fbb.CreateVectorOfSortedTables<reflection::Enum>(enums) : 0;
1473
0
  auto file_ident__ = file_ident ? _fbb.CreateString(file_ident) : 0;
1474
0
  auto file_ext__ = file_ext ? _fbb.CreateString(file_ext) : 0;
1475
0
  auto services__ = services ? _fbb.CreateVectorOfSortedTables<reflection::Service>(services) : 0;
1476
0
  auto fbs_files__ = fbs_files ? _fbb.CreateVectorOfSortedTables<reflection::SchemaFile>(fbs_files) : 0;
1477
0
  return reflection::CreateSchema(
1478
0
      _fbb,
1479
0
      objects__,
1480
0
      enums__,
1481
0
      file_ident__,
1482
0
      file_ext__,
1483
0
      root_table,
1484
0
      services__,
1485
0
      advanced_features,
1486
0
      fbs_files__);
1487
0
}
1488
1489
3.38k
inline const reflection::Schema *GetSchema(const void *buf) {
1490
3.38k
  return ::flatbuffers::GetRoot<reflection::Schema>(buf);
1491
3.38k
}
1492
1493
0
inline const reflection::Schema *GetSizePrefixedSchema(const void *buf) {
1494
0
  return ::flatbuffers::GetSizePrefixedRoot<reflection::Schema>(buf);
1495
0
}
1496
1497
11.8k
inline const char *SchemaIdentifier() {
1498
11.8k
  return "BFBS";
1499
11.8k
}
1500
1501
2
inline bool SchemaBufferHasIdentifier(const void *buf) {
1502
2
  return ::flatbuffers::BufferHasIdentifier(
1503
2
      buf, SchemaIdentifier());
1504
2
}
1505
1506
0
inline bool SizePrefixedSchemaBufferHasIdentifier(const void *buf) {
1507
0
  return ::flatbuffers::BufferHasIdentifier(
1508
0
      buf, SchemaIdentifier(), true);
1509
0
}
1510
1511
template <bool B = false>
1512
inline bool VerifySchemaBuffer(
1513
7.61k
    ::flatbuffers::VerifierTemplate<B> &verifier) {
1514
7.61k
  return verifier.template VerifyBuffer<reflection::Schema>(SchemaIdentifier());
1515
7.61k
}
1516
1517
template <bool B = false>
1518
inline bool VerifySizePrefixedSchemaBuffer(
1519
0
    ::flatbuffers::VerifierTemplate<B> &verifier) {
1520
0
  return verifier.template VerifySizePrefixedBuffer<reflection::Schema>(SchemaIdentifier());
1521
0
}
1522
1523
0
inline const char *SchemaExtension() {
1524
0
  return "bfbs";
1525
0
}
1526
1527
inline void FinishSchemaBuffer(
1528
    ::flatbuffers::FlatBufferBuilder &fbb,
1529
0
    ::flatbuffers::Offset<reflection::Schema> root) {
1530
0
  fbb.Finish(root, SchemaIdentifier());
1531
0
}
1532
1533
inline void FinishSizePrefixedSchemaBuffer(
1534
    ::flatbuffers::FlatBufferBuilder &fbb,
1535
0
    ::flatbuffers::Offset<reflection::Schema> root) {
1536
0
  fbb.FinishSizePrefixed(root, SchemaIdentifier());
1537
0
}
1538
1539
}  // namespace reflection
1540
1541
#endif  // FLATBUFFERS_GENERATED_REFLECTION_REFLECTION_H_