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