2 * Copyright (c) 2023 Samsung Electronics Co., Ltd. All Rights Reserved
3 * Copyright 2017 Google Inc. All rights reserved.
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 // automatically generated by the FlatBuffers compiler, do not modify
19 #ifndef FLATBUFFERS_GENERATED_REFLECTION_REFLECTION_H_
20 #define FLATBUFFERS_GENERATED_REFLECTION_REFLECTION_H_
22 #include "flatbuffers/flatbuffers.h"
31 struct KeyValueBuilder;
34 struct EnumValBuilder;
46 struct RPCCallBuilder;
49 struct ServiceBuilder;
77 inline const BaseType (&EnumValuesBaseType())[19]
79 static const BaseType values[] = {None, UType, Bool, Byte, UByte, Short, UShort,
80 Int, UInt, Long, ULong, Float, Double, String,
81 Vector, Obj, Union, Array, MaxBaseType};
85 inline const char *const *EnumNamesBaseType()
87 static const char *const names[20] = {"None", "UType", "Bool", "Byte", "UByte",
88 "Short", "UShort", "Int", "UInt", "Long",
89 "ULong", "Float", "Double", "String", "Vector",
90 "Obj", "Union", "Array", "MaxBaseType", nullptr};
94 inline const char *EnumNameBaseType(BaseType e)
96 if (flatbuffers::IsOutRange(e, None, MaxBaseType))
98 const size_t index = static_cast<size_t>(e);
99 return EnumNamesBaseType()[index];
102 enum AdvancedFeatures
104 AdvancedArrayFeatures = 1ULL,
105 AdvancedUnionFeatures = 2ULL,
106 OptionalScalars = 4ULL,
107 DefaultVectorsAndStrings = 8ULL
110 inline const AdvancedFeatures (&EnumValuesAdvancedFeatures())[4]
112 static const AdvancedFeatures values[] = {AdvancedArrayFeatures, AdvancedUnionFeatures,
113 OptionalScalars, DefaultVectorsAndStrings};
117 inline const char *const *EnumNamesAdvancedFeatures()
119 static const char *const names[9] = {"AdvancedArrayFeatures",
120 "AdvancedUnionFeatures",
126 "DefaultVectorsAndStrings",
131 inline const char *EnumNameAdvancedFeatures(AdvancedFeatures e)
133 if (flatbuffers::IsOutRange(e, AdvancedArrayFeatures, DefaultVectorsAndStrings))
135 const size_t index = static_cast<size_t>(e) - static_cast<size_t>(AdvancedArrayFeatures);
136 return EnumNamesAdvancedFeatures()[index];
139 struct Type FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table
141 typedef TypeBuilder Builder;
142 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE
149 reflection::BaseType base_type() const
151 return static_cast<reflection::BaseType>(GetField<int8_t>(VT_BASE_TYPE, 0));
153 reflection::BaseType element() const
155 return static_cast<reflection::BaseType>(GetField<int8_t>(VT_ELEMENT, 0));
157 int32_t index() const { return GetField<int32_t>(VT_INDEX, -1); }
158 uint16_t fixed_length() const { return GetField<uint16_t>(VT_FIXED_LENGTH, 0); }
159 bool Verify(flatbuffers::Verifier &verifier) const
161 return VerifyTableStart(verifier) && VerifyField<int8_t>(verifier, VT_BASE_TYPE) &&
162 VerifyField<int8_t>(verifier, VT_ELEMENT) && VerifyField<int32_t>(verifier, VT_INDEX) &&
163 VerifyField<uint16_t>(verifier, VT_FIXED_LENGTH) && verifier.EndTable();
170 flatbuffers::FlatBufferBuilder &fbb_;
171 flatbuffers::uoffset_t start_;
172 void add_base_type(reflection::BaseType base_type)
174 fbb_.AddElement<int8_t>(Type::VT_BASE_TYPE, static_cast<int8_t>(base_type), 0);
176 void add_element(reflection::BaseType element)
178 fbb_.AddElement<int8_t>(Type::VT_ELEMENT, static_cast<int8_t>(element), 0);
180 void add_index(int32_t index) { fbb_.AddElement<int32_t>(Type::VT_INDEX, index, -1); }
181 void add_fixed_length(uint16_t fixed_length)
183 fbb_.AddElement<uint16_t>(Type::VT_FIXED_LENGTH, fixed_length, 0);
185 explicit TypeBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb)
187 start_ = fbb_.StartTable();
189 flatbuffers::Offset<Type> Finish()
191 const auto end = fbb_.EndTable(start_);
192 auto o = flatbuffers::Offset<Type>(end);
197 inline flatbuffers::Offset<Type> CreateType(flatbuffers::FlatBufferBuilder &_fbb,
198 reflection::BaseType base_type = reflection::None,
199 reflection::BaseType element = reflection::None,
200 int32_t index = -1, uint16_t fixed_length = 0)
202 TypeBuilder builder_(_fbb);
203 builder_.add_index(index);
204 builder_.add_fixed_length(fixed_length);
205 builder_.add_element(element);
206 builder_.add_base_type(base_type);
207 return builder_.Finish();
210 struct KeyValue FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table
212 typedef KeyValueBuilder Builder;
213 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE
218 const flatbuffers::String *key() const { return GetPointer<const flatbuffers::String *>(VT_KEY); }
219 bool KeyCompareLessThan(const KeyValue *o) const { return *key() < *o->key(); }
220 int KeyCompareWithValue(const char *val) const { return strcmp(key()->c_str(), val); }
221 const flatbuffers::String *value() const
223 return GetPointer<const flatbuffers::String *>(VT_VALUE);
225 bool Verify(flatbuffers::Verifier &verifier) const
227 return VerifyTableStart(verifier) && VerifyOffsetRequired(verifier, VT_KEY) &&
228 verifier.VerifyString(key()) && VerifyOffset(verifier, VT_VALUE) &&
229 verifier.VerifyString(value()) && verifier.EndTable();
233 struct KeyValueBuilder
235 typedef KeyValue Table;
236 flatbuffers::FlatBufferBuilder &fbb_;
237 flatbuffers::uoffset_t start_;
238 void add_key(flatbuffers::Offset<flatbuffers::String> key)
240 fbb_.AddOffset(KeyValue::VT_KEY, key);
242 void add_value(flatbuffers::Offset<flatbuffers::String> value)
244 fbb_.AddOffset(KeyValue::VT_VALUE, value);
246 explicit KeyValueBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb)
248 start_ = fbb_.StartTable();
250 flatbuffers::Offset<KeyValue> Finish()
252 const auto end = fbb_.EndTable(start_);
253 auto o = flatbuffers::Offset<KeyValue>(end);
254 fbb_.Required(o, KeyValue::VT_KEY);
259 inline flatbuffers::Offset<KeyValue>
260 CreateKeyValue(flatbuffers::FlatBufferBuilder &_fbb,
261 flatbuffers::Offset<flatbuffers::String> key = 0,
262 flatbuffers::Offset<flatbuffers::String> value = 0)
264 KeyValueBuilder builder_(_fbb);
265 builder_.add_value(value);
266 builder_.add_key(key);
267 return builder_.Finish();
270 inline flatbuffers::Offset<KeyValue> CreateKeyValueDirect(flatbuffers::FlatBufferBuilder &_fbb,
271 const char *key = nullptr,
272 const char *value = nullptr)
274 auto key__ = key ? _fbb.CreateString(key) : 0;
275 auto value__ = value ? _fbb.CreateString(value) : 0;
276 return reflection::CreateKeyValue(_fbb, key__, value__);
279 struct EnumVal FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table
281 typedef EnumValBuilder Builder;
282 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE
288 VT_DOCUMENTATION = 12
290 const flatbuffers::String *name() const
292 return GetPointer<const flatbuffers::String *>(VT_NAME);
294 int64_t value() const { return GetField<int64_t>(VT_VALUE, 0); }
295 bool KeyCompareLessThan(const EnumVal *o) const { return value() < o->value(); }
296 int KeyCompareWithValue(int64_t val) const
298 return static_cast<int>(value() > val) - static_cast<int>(value() < val);
300 const reflection::Object *object() const
302 return GetPointer<const reflection::Object *>(VT_OBJECT);
304 const reflection::Type *union_type() const
306 return GetPointer<const reflection::Type *>(VT_UNION_TYPE);
308 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const
310 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(
313 bool Verify(flatbuffers::Verifier &verifier) const
315 return VerifyTableStart(verifier) && VerifyOffsetRequired(verifier, VT_NAME) &&
316 verifier.VerifyString(name()) && VerifyField<int64_t>(verifier, VT_VALUE) &&
317 VerifyOffset(verifier, VT_OBJECT) && verifier.VerifyTable(object()) &&
318 VerifyOffset(verifier, VT_UNION_TYPE) && verifier.VerifyTable(union_type()) &&
319 VerifyOffset(verifier, VT_DOCUMENTATION) && verifier.VerifyVector(documentation()) &&
320 verifier.VerifyVectorOfStrings(documentation()) && verifier.EndTable();
324 struct EnumValBuilder
326 typedef EnumVal Table;
327 flatbuffers::FlatBufferBuilder &fbb_;
328 flatbuffers::uoffset_t start_;
329 void add_name(flatbuffers::Offset<flatbuffers::String> name)
331 fbb_.AddOffset(EnumVal::VT_NAME, name);
333 void add_value(int64_t value) { fbb_.AddElement<int64_t>(EnumVal::VT_VALUE, value, 0); }
334 void add_object(flatbuffers::Offset<reflection::Object> object)
336 fbb_.AddOffset(EnumVal::VT_OBJECT, object);
338 void add_union_type(flatbuffers::Offset<reflection::Type> union_type)
340 fbb_.AddOffset(EnumVal::VT_UNION_TYPE, union_type);
342 void add_documentation(
343 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>>
346 fbb_.AddOffset(EnumVal::VT_DOCUMENTATION, documentation);
348 explicit EnumValBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb)
350 start_ = fbb_.StartTable();
352 flatbuffers::Offset<EnumVal> Finish()
354 const auto end = fbb_.EndTable(start_);
355 auto o = flatbuffers::Offset<EnumVal>(end);
356 fbb_.Required(o, EnumVal::VT_NAME);
361 inline flatbuffers::Offset<EnumVal> CreateEnumVal(
362 flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset<flatbuffers::String> name = 0,
363 int64_t value = 0, flatbuffers::Offset<reflection::Object> object = 0,
364 flatbuffers::Offset<reflection::Type> union_type = 0,
365 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation =
368 EnumValBuilder builder_(_fbb);
369 builder_.add_value(value);
370 builder_.add_documentation(documentation);
371 builder_.add_union_type(union_type);
372 builder_.add_object(object);
373 builder_.add_name(name);
374 return builder_.Finish();
377 inline flatbuffers::Offset<EnumVal> CreateEnumValDirect(
378 flatbuffers::FlatBufferBuilder &_fbb, const char *name = nullptr, int64_t value = 0,
379 flatbuffers::Offset<reflection::Object> object = 0,
380 flatbuffers::Offset<reflection::Type> union_type = 0,
381 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr)
383 auto name__ = name ? _fbb.CreateString(name) : 0;
384 auto documentation__ =
385 documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
386 return reflection::CreateEnumVal(_fbb, name__, value, object, union_type, documentation__);
389 struct Enum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table
391 typedef EnumBuilder Builder;
392 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE
397 VT_UNDERLYING_TYPE = 10,
399 VT_DOCUMENTATION = 14
401 const flatbuffers::String *name() const
403 return GetPointer<const flatbuffers::String *>(VT_NAME);
405 bool KeyCompareLessThan(const Enum *o) const { return *name() < *o->name(); }
406 int KeyCompareWithValue(const char *val) const { return strcmp(name()->c_str(), val); }
407 const flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>> *values() const
409 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>> *>(
412 bool is_union() const { return GetField<uint8_t>(VT_IS_UNION, 0) != 0; }
413 const reflection::Type *underlying_type() const
415 return GetPointer<const reflection::Type *>(VT_UNDERLYING_TYPE);
417 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const
419 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(
422 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const
424 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(
427 bool Verify(flatbuffers::Verifier &verifier) const
429 return VerifyTableStart(verifier) && VerifyOffsetRequired(verifier, VT_NAME) &&
430 verifier.VerifyString(name()) && VerifyOffsetRequired(verifier, VT_VALUES) &&
431 verifier.VerifyVector(values()) && verifier.VerifyVectorOfTables(values()) &&
432 VerifyField<uint8_t>(verifier, VT_IS_UNION) &&
433 VerifyOffsetRequired(verifier, VT_UNDERLYING_TYPE) &&
434 verifier.VerifyTable(underlying_type()) && VerifyOffset(verifier, VT_ATTRIBUTES) &&
435 verifier.VerifyVector(attributes()) && verifier.VerifyVectorOfTables(attributes()) &&
436 VerifyOffset(verifier, VT_DOCUMENTATION) && verifier.VerifyVector(documentation()) &&
437 verifier.VerifyVectorOfStrings(documentation()) && verifier.EndTable();
444 flatbuffers::FlatBufferBuilder &fbb_;
445 flatbuffers::uoffset_t start_;
446 void add_name(flatbuffers::Offset<flatbuffers::String> name)
448 fbb_.AddOffset(Enum::VT_NAME, name);
451 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>>> values)
453 fbb_.AddOffset(Enum::VT_VALUES, values);
455 void add_is_union(bool is_union)
457 fbb_.AddElement<uint8_t>(Enum::VT_IS_UNION, static_cast<uint8_t>(is_union), 0);
459 void add_underlying_type(flatbuffers::Offset<reflection::Type> underlying_type)
461 fbb_.AddOffset(Enum::VT_UNDERLYING_TYPE, underlying_type);
464 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes)
466 fbb_.AddOffset(Enum::VT_ATTRIBUTES, attributes);
468 void add_documentation(
469 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>>
472 fbb_.AddOffset(Enum::VT_DOCUMENTATION, documentation);
474 explicit EnumBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb)
476 start_ = fbb_.StartTable();
478 flatbuffers::Offset<Enum> Finish()
480 const auto end = fbb_.EndTable(start_);
481 auto o = flatbuffers::Offset<Enum>(end);
482 fbb_.Required(o, Enum::VT_NAME);
483 fbb_.Required(o, Enum::VT_VALUES);
484 fbb_.Required(o, Enum::VT_UNDERLYING_TYPE);
489 inline flatbuffers::Offset<Enum> CreateEnum(
490 flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset<flatbuffers::String> name = 0,
491 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>>> values = 0,
492 bool is_union = false, flatbuffers::Offset<reflection::Type> underlying_type = 0,
493 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes =
495 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation =
498 EnumBuilder builder_(_fbb);
499 builder_.add_documentation(documentation);
500 builder_.add_attributes(attributes);
501 builder_.add_underlying_type(underlying_type);
502 builder_.add_values(values);
503 builder_.add_name(name);
504 builder_.add_is_union(is_union);
505 return builder_.Finish();
508 inline flatbuffers::Offset<Enum> CreateEnumDirect(
509 flatbuffers::FlatBufferBuilder &_fbb, const char *name = nullptr,
510 std::vector<flatbuffers::Offset<reflection::EnumVal>> *values = nullptr, bool is_union = false,
511 flatbuffers::Offset<reflection::Type> underlying_type = 0,
512 std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
513 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr)
515 auto name__ = name ? _fbb.CreateString(name) : 0;
516 auto values__ = values ? _fbb.CreateVectorOfSortedTables<reflection::EnumVal>(values) : 0;
518 attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
519 auto documentation__ =
520 documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
521 return reflection::CreateEnum(_fbb, name__, values__, is_union, underlying_type, attributes__,
525 struct Field FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table
527 typedef FieldBuilder Builder;
528 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE
534 VT_DEFAULT_INTEGER = 12,
535 VT_DEFAULT_REAL = 14,
540 VT_DOCUMENTATION = 24,
543 const flatbuffers::String *name() const
545 return GetPointer<const flatbuffers::String *>(VT_NAME);
547 bool KeyCompareLessThan(const Field *o) const { return *name() < *o->name(); }
548 int KeyCompareWithValue(const char *val) const { return strcmp(name()->c_str(), val); }
549 const reflection::Type *type() const { return GetPointer<const reflection::Type *>(VT_TYPE); }
550 uint16_t id() const { return GetField<uint16_t>(VT_ID, 0); }
551 uint16_t offset() const { return GetField<uint16_t>(VT_OFFSET, 0); }
552 int64_t default_integer() const { return GetField<int64_t>(VT_DEFAULT_INTEGER, 0); }
553 double default_real() const { return GetField<double>(VT_DEFAULT_REAL, 0.0); }
554 bool deprecated() const { return GetField<uint8_t>(VT_DEPRECATED, 0) != 0; }
555 bool required() const { return GetField<uint8_t>(VT_REQUIRED, 0) != 0; }
556 bool key() const { return GetField<uint8_t>(VT_KEY, 0) != 0; }
557 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const
559 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(
562 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const
564 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(
567 bool optional() const { return GetField<uint8_t>(VT_OPTIONAL, 0) != 0; }
568 bool Verify(flatbuffers::Verifier &verifier) const
570 return VerifyTableStart(verifier) && VerifyOffsetRequired(verifier, VT_NAME) &&
571 verifier.VerifyString(name()) && VerifyOffsetRequired(verifier, VT_TYPE) &&
572 verifier.VerifyTable(type()) && VerifyField<uint16_t>(verifier, VT_ID) &&
573 VerifyField<uint16_t>(verifier, VT_OFFSET) &&
574 VerifyField<int64_t>(verifier, VT_DEFAULT_INTEGER) &&
575 VerifyField<double>(verifier, VT_DEFAULT_REAL) &&
576 VerifyField<uint8_t>(verifier, VT_DEPRECATED) &&
577 VerifyField<uint8_t>(verifier, VT_REQUIRED) && VerifyField<uint8_t>(verifier, VT_KEY) &&
578 VerifyOffset(verifier, VT_ATTRIBUTES) && verifier.VerifyVector(attributes()) &&
579 verifier.VerifyVectorOfTables(attributes()) &&
580 VerifyOffset(verifier, VT_DOCUMENTATION) && verifier.VerifyVector(documentation()) &&
581 verifier.VerifyVectorOfStrings(documentation()) &&
582 VerifyField<uint8_t>(verifier, VT_OPTIONAL) && verifier.EndTable();
589 flatbuffers::FlatBufferBuilder &fbb_;
590 flatbuffers::uoffset_t start_;
591 void add_name(flatbuffers::Offset<flatbuffers::String> name)
593 fbb_.AddOffset(Field::VT_NAME, name);
595 void add_type(flatbuffers::Offset<reflection::Type> type)
597 fbb_.AddOffset(Field::VT_TYPE, type);
599 void add_id(uint16_t id) { fbb_.AddElement<uint16_t>(Field::VT_ID, id, 0); }
600 void add_offset(uint16_t offset) { fbb_.AddElement<uint16_t>(Field::VT_OFFSET, offset, 0); }
601 void add_default_integer(int64_t default_integer)
603 fbb_.AddElement<int64_t>(Field::VT_DEFAULT_INTEGER, default_integer, 0);
605 void add_default_real(double default_real)
607 fbb_.AddElement<double>(Field::VT_DEFAULT_REAL, default_real, 0.0);
609 void add_deprecated(bool deprecated)
611 fbb_.AddElement<uint8_t>(Field::VT_DEPRECATED, static_cast<uint8_t>(deprecated), 0);
613 void add_required(bool required)
615 fbb_.AddElement<uint8_t>(Field::VT_REQUIRED, static_cast<uint8_t>(required), 0);
617 void add_key(bool key) { fbb_.AddElement<uint8_t>(Field::VT_KEY, static_cast<uint8_t>(key), 0); }
619 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes)
621 fbb_.AddOffset(Field::VT_ATTRIBUTES, attributes);
623 void add_documentation(
624 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>>
627 fbb_.AddOffset(Field::VT_DOCUMENTATION, documentation);
629 void add_optional(bool optional)
631 fbb_.AddElement<uint8_t>(Field::VT_OPTIONAL, static_cast<uint8_t>(optional), 0);
633 explicit FieldBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb)
635 start_ = fbb_.StartTable();
637 flatbuffers::Offset<Field> Finish()
639 const auto end = fbb_.EndTable(start_);
640 auto o = flatbuffers::Offset<Field>(end);
641 fbb_.Required(o, Field::VT_NAME);
642 fbb_.Required(o, Field::VT_TYPE);
647 inline flatbuffers::Offset<Field> CreateField(
648 flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset<flatbuffers::String> name = 0,
649 flatbuffers::Offset<reflection::Type> type = 0, uint16_t id = 0, uint16_t offset = 0,
650 int64_t default_integer = 0, double default_real = 0.0, bool deprecated = false,
651 bool required = false, bool key = false,
652 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes =
654 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation =
656 bool optional = false)
658 FieldBuilder builder_(_fbb);
659 builder_.add_default_real(default_real);
660 builder_.add_default_integer(default_integer);
661 builder_.add_documentation(documentation);
662 builder_.add_attributes(attributes);
663 builder_.add_type(type);
664 builder_.add_name(name);
665 builder_.add_offset(offset);
667 builder_.add_optional(optional);
668 builder_.add_key(key);
669 builder_.add_required(required);
670 builder_.add_deprecated(deprecated);
671 return builder_.Finish();
674 inline flatbuffers::Offset<Field> CreateFieldDirect(
675 flatbuffers::FlatBufferBuilder &_fbb, const char *name = nullptr,
676 flatbuffers::Offset<reflection::Type> type = 0, uint16_t id = 0, uint16_t offset = 0,
677 int64_t default_integer = 0, double default_real = 0.0, bool deprecated = false,
678 bool required = false, bool key = false,
679 std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
680 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr,
681 bool optional = false)
683 auto name__ = name ? _fbb.CreateString(name) : 0;
685 attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
686 auto documentation__ =
687 documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
688 return reflection::CreateField(_fbb, name__, type, id, offset, default_integer, default_real,
689 deprecated, required, key, attributes__, documentation__,
693 struct Object FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table
695 typedef ObjectBuilder Builder;
696 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE
704 VT_DOCUMENTATION = 16
706 const flatbuffers::String *name() const
708 return GetPointer<const flatbuffers::String *>(VT_NAME);
710 bool KeyCompareLessThan(const Object *o) const { return *name() < *o->name(); }
711 int KeyCompareWithValue(const char *val) const { return strcmp(name()->c_str(), val); }
712 const flatbuffers::Vector<flatbuffers::Offset<reflection::Field>> *fields() const
714 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Field>> *>(
717 bool is_struct() const { return GetField<uint8_t>(VT_IS_STRUCT, 0) != 0; }
718 int32_t minalign() const { return GetField<int32_t>(VT_MINALIGN, 0); }
719 int32_t bytesize() const { return GetField<int32_t>(VT_BYTESIZE, 0); }
720 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const
722 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(
725 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const
727 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(
730 bool Verify(flatbuffers::Verifier &verifier) const
732 return VerifyTableStart(verifier) && VerifyOffsetRequired(verifier, VT_NAME) &&
733 verifier.VerifyString(name()) && VerifyOffsetRequired(verifier, VT_FIELDS) &&
734 verifier.VerifyVector(fields()) && verifier.VerifyVectorOfTables(fields()) &&
735 VerifyField<uint8_t>(verifier, VT_IS_STRUCT) &&
736 VerifyField<int32_t>(verifier, VT_MINALIGN) &&
737 VerifyField<int32_t>(verifier, VT_BYTESIZE) && VerifyOffset(verifier, VT_ATTRIBUTES) &&
738 verifier.VerifyVector(attributes()) && verifier.VerifyVectorOfTables(attributes()) &&
739 VerifyOffset(verifier, VT_DOCUMENTATION) && verifier.VerifyVector(documentation()) &&
740 verifier.VerifyVectorOfStrings(documentation()) && verifier.EndTable();
746 typedef Object Table;
747 flatbuffers::FlatBufferBuilder &fbb_;
748 flatbuffers::uoffset_t start_;
749 void add_name(flatbuffers::Offset<flatbuffers::String> name)
751 fbb_.AddOffset(Object::VT_NAME, name);
754 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Field>>> fields)
756 fbb_.AddOffset(Object::VT_FIELDS, fields);
758 void add_is_struct(bool is_struct)
760 fbb_.AddElement<uint8_t>(Object::VT_IS_STRUCT, static_cast<uint8_t>(is_struct), 0);
762 void add_minalign(int32_t minalign)
764 fbb_.AddElement<int32_t>(Object::VT_MINALIGN, minalign, 0);
766 void add_bytesize(int32_t bytesize)
768 fbb_.AddElement<int32_t>(Object::VT_BYTESIZE, bytesize, 0);
771 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes)
773 fbb_.AddOffset(Object::VT_ATTRIBUTES, attributes);
775 void add_documentation(
776 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>>
779 fbb_.AddOffset(Object::VT_DOCUMENTATION, documentation);
781 explicit ObjectBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb)
783 start_ = fbb_.StartTable();
785 flatbuffers::Offset<Object> Finish()
787 const auto end = fbb_.EndTable(start_);
788 auto o = flatbuffers::Offset<Object>(end);
789 fbb_.Required(o, Object::VT_NAME);
790 fbb_.Required(o, Object::VT_FIELDS);
795 inline flatbuffers::Offset<Object> CreateObject(
796 flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset<flatbuffers::String> name = 0,
797 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Field>>> fields = 0,
798 bool is_struct = false, int32_t minalign = 0, int32_t bytesize = 0,
799 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes =
801 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation =
804 ObjectBuilder builder_(_fbb);
805 builder_.add_documentation(documentation);
806 builder_.add_attributes(attributes);
807 builder_.add_bytesize(bytesize);
808 builder_.add_minalign(minalign);
809 builder_.add_fields(fields);
810 builder_.add_name(name);
811 builder_.add_is_struct(is_struct);
812 return builder_.Finish();
815 inline flatbuffers::Offset<Object> CreateObjectDirect(
816 flatbuffers::FlatBufferBuilder &_fbb, const char *name = nullptr,
817 std::vector<flatbuffers::Offset<reflection::Field>> *fields = nullptr, bool is_struct = false,
818 int32_t minalign = 0, int32_t bytesize = 0,
819 std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
820 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr)
822 auto name__ = name ? _fbb.CreateString(name) : 0;
823 auto fields__ = fields ? _fbb.CreateVectorOfSortedTables<reflection::Field>(fields) : 0;
825 attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
826 auto documentation__ =
827 documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
828 return reflection::CreateObject(_fbb, name__, fields__, is_struct, minalign, bytesize,
829 attributes__, documentation__);
832 struct RPCCall FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table
834 typedef RPCCallBuilder Builder;
835 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE
841 VT_DOCUMENTATION = 12
843 const flatbuffers::String *name() const
845 return GetPointer<const flatbuffers::String *>(VT_NAME);
847 bool KeyCompareLessThan(const RPCCall *o) const { return *name() < *o->name(); }
848 int KeyCompareWithValue(const char *val) const { return strcmp(name()->c_str(), val); }
849 const reflection::Object *request() const
851 return GetPointer<const reflection::Object *>(VT_REQUEST);
853 const reflection::Object *response() const
855 return GetPointer<const reflection::Object *>(VT_RESPONSE);
857 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const
859 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(
862 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const
864 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(
867 bool Verify(flatbuffers::Verifier &verifier) const
869 return VerifyTableStart(verifier) && VerifyOffsetRequired(verifier, VT_NAME) &&
870 verifier.VerifyString(name()) && VerifyOffsetRequired(verifier, VT_REQUEST) &&
871 verifier.VerifyTable(request()) && VerifyOffsetRequired(verifier, VT_RESPONSE) &&
872 verifier.VerifyTable(response()) && VerifyOffset(verifier, VT_ATTRIBUTES) &&
873 verifier.VerifyVector(attributes()) && verifier.VerifyVectorOfTables(attributes()) &&
874 VerifyOffset(verifier, VT_DOCUMENTATION) && verifier.VerifyVector(documentation()) &&
875 verifier.VerifyVectorOfStrings(documentation()) && verifier.EndTable();
879 struct RPCCallBuilder
881 typedef RPCCall Table;
882 flatbuffers::FlatBufferBuilder &fbb_;
883 flatbuffers::uoffset_t start_;
884 void add_name(flatbuffers::Offset<flatbuffers::String> name)
886 fbb_.AddOffset(RPCCall::VT_NAME, name);
888 void add_request(flatbuffers::Offset<reflection::Object> request)
890 fbb_.AddOffset(RPCCall::VT_REQUEST, request);
892 void add_response(flatbuffers::Offset<reflection::Object> response)
894 fbb_.AddOffset(RPCCall::VT_RESPONSE, response);
897 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes)
899 fbb_.AddOffset(RPCCall::VT_ATTRIBUTES, attributes);
901 void add_documentation(
902 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>>
905 fbb_.AddOffset(RPCCall::VT_DOCUMENTATION, documentation);
907 explicit RPCCallBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb)
909 start_ = fbb_.StartTable();
911 flatbuffers::Offset<RPCCall> Finish()
913 const auto end = fbb_.EndTable(start_);
914 auto o = flatbuffers::Offset<RPCCall>(end);
915 fbb_.Required(o, RPCCall::VT_NAME);
916 fbb_.Required(o, RPCCall::VT_REQUEST);
917 fbb_.Required(o, RPCCall::VT_RESPONSE);
922 inline flatbuffers::Offset<RPCCall> CreateRPCCall(
923 flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset<flatbuffers::String> name = 0,
924 flatbuffers::Offset<reflection::Object> request = 0,
925 flatbuffers::Offset<reflection::Object> response = 0,
926 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes =
928 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation =
931 RPCCallBuilder builder_(_fbb);
932 builder_.add_documentation(documentation);
933 builder_.add_attributes(attributes);
934 builder_.add_response(response);
935 builder_.add_request(request);
936 builder_.add_name(name);
937 return builder_.Finish();
940 inline flatbuffers::Offset<RPCCall> CreateRPCCallDirect(
941 flatbuffers::FlatBufferBuilder &_fbb, const char *name = nullptr,
942 flatbuffers::Offset<reflection::Object> request = 0,
943 flatbuffers::Offset<reflection::Object> response = 0,
944 std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
945 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr)
947 auto name__ = name ? _fbb.CreateString(name) : 0;
949 attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
950 auto documentation__ =
951 documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
952 return reflection::CreateRPCCall(_fbb, name__, request, response, attributes__, documentation__);
955 struct Service FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table
957 typedef ServiceBuilder Builder;
958 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE
963 VT_DOCUMENTATION = 10
965 const flatbuffers::String *name() const
967 return GetPointer<const flatbuffers::String *>(VT_NAME);
969 bool KeyCompareLessThan(const Service *o) const { return *name() < *o->name(); }
970 int KeyCompareWithValue(const char *val) const { return strcmp(name()->c_str(), val); }
971 const flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>> *calls() const
973 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>> *>(
976 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const
978 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(
981 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const
983 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(
986 bool Verify(flatbuffers::Verifier &verifier) const
988 return VerifyTableStart(verifier) && VerifyOffsetRequired(verifier, VT_NAME) &&
989 verifier.VerifyString(name()) && VerifyOffset(verifier, VT_CALLS) &&
990 verifier.VerifyVector(calls()) && verifier.VerifyVectorOfTables(calls()) &&
991 VerifyOffset(verifier, VT_ATTRIBUTES) && verifier.VerifyVector(attributes()) &&
992 verifier.VerifyVectorOfTables(attributes()) &&
993 VerifyOffset(verifier, VT_DOCUMENTATION) && verifier.VerifyVector(documentation()) &&
994 verifier.VerifyVectorOfStrings(documentation()) && verifier.EndTable();
998 struct ServiceBuilder
1000 typedef Service Table;
1001 flatbuffers::FlatBufferBuilder &fbb_;
1002 flatbuffers::uoffset_t start_;
1003 void add_name(flatbuffers::Offset<flatbuffers::String> name)
1005 fbb_.AddOffset(Service::VT_NAME, name);
1008 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>>> calls)
1010 fbb_.AddOffset(Service::VT_CALLS, calls);
1012 void add_attributes(
1013 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes)
1015 fbb_.AddOffset(Service::VT_ATTRIBUTES, attributes);
1017 void add_documentation(
1018 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>>
1021 fbb_.AddOffset(Service::VT_DOCUMENTATION, documentation);
1023 explicit ServiceBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb)
1025 start_ = fbb_.StartTable();
1027 flatbuffers::Offset<Service> Finish()
1029 const auto end = fbb_.EndTable(start_);
1030 auto o = flatbuffers::Offset<Service>(end);
1031 fbb_.Required(o, Service::VT_NAME);
1036 inline flatbuffers::Offset<Service> CreateService(
1037 flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset<flatbuffers::String> name = 0,
1038 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>>> calls = 0,
1039 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes =
1041 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation =
1044 ServiceBuilder builder_(_fbb);
1045 builder_.add_documentation(documentation);
1046 builder_.add_attributes(attributes);
1047 builder_.add_calls(calls);
1048 builder_.add_name(name);
1049 return builder_.Finish();
1052 inline flatbuffers::Offset<Service> CreateServiceDirect(
1053 flatbuffers::FlatBufferBuilder &_fbb, const char *name = nullptr,
1054 std::vector<flatbuffers::Offset<reflection::RPCCall>> *calls = nullptr,
1055 std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
1056 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr)
1058 auto name__ = name ? _fbb.CreateString(name) : 0;
1059 auto calls__ = calls ? _fbb.CreateVectorOfSortedTables<reflection::RPCCall>(calls) : 0;
1061 attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
1062 auto documentation__ =
1063 documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
1064 return reflection::CreateService(_fbb, name__, calls__, attributes__, documentation__);
1067 struct Schema FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table
1069 typedef SchemaBuilder Builder;
1070 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE
1078 VT_ADVANCED_FEATURES = 16
1080 const flatbuffers::Vector<flatbuffers::Offset<reflection::Object>> *objects() const
1082 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Object>> *>(
1085 const flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>> *enums() const
1087 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>> *>(VT_ENUMS);
1089 const flatbuffers::String *file_ident() const
1091 return GetPointer<const flatbuffers::String *>(VT_FILE_IDENT);
1093 const flatbuffers::String *file_ext() const
1095 return GetPointer<const flatbuffers::String *>(VT_FILE_EXT);
1097 const reflection::Object *root_table() const
1099 return GetPointer<const reflection::Object *>(VT_ROOT_TABLE);
1101 const flatbuffers::Vector<flatbuffers::Offset<reflection::Service>> *services() const
1103 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Service>> *>(
1106 reflection::AdvancedFeatures advanced_features() const
1108 return static_cast<reflection::AdvancedFeatures>(GetField<uint64_t>(VT_ADVANCED_FEATURES, 0));
1110 bool Verify(flatbuffers::Verifier &verifier) const
1112 return VerifyTableStart(verifier) && VerifyOffsetRequired(verifier, VT_OBJECTS) &&
1113 verifier.VerifyVector(objects()) && verifier.VerifyVectorOfTables(objects()) &&
1114 VerifyOffsetRequired(verifier, VT_ENUMS) && verifier.VerifyVector(enums()) &&
1115 verifier.VerifyVectorOfTables(enums()) && VerifyOffset(verifier, VT_FILE_IDENT) &&
1116 verifier.VerifyString(file_ident()) && VerifyOffset(verifier, VT_FILE_EXT) &&
1117 verifier.VerifyString(file_ext()) && VerifyOffset(verifier, VT_ROOT_TABLE) &&
1118 verifier.VerifyTable(root_table()) && VerifyOffset(verifier, VT_SERVICES) &&
1119 verifier.VerifyVector(services()) && verifier.VerifyVectorOfTables(services()) &&
1120 VerifyField<uint64_t>(verifier, VT_ADVANCED_FEATURES) && verifier.EndTable();
1124 struct SchemaBuilder
1126 typedef Schema Table;
1127 flatbuffers::FlatBufferBuilder &fbb_;
1128 flatbuffers::uoffset_t start_;
1130 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Object>>> objects)
1132 fbb_.AddOffset(Schema::VT_OBJECTS, objects);
1135 add_enums(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>>> enums)
1137 fbb_.AddOffset(Schema::VT_ENUMS, enums);
1139 void add_file_ident(flatbuffers::Offset<flatbuffers::String> file_ident)
1141 fbb_.AddOffset(Schema::VT_FILE_IDENT, file_ident);
1143 void add_file_ext(flatbuffers::Offset<flatbuffers::String> file_ext)
1145 fbb_.AddOffset(Schema::VT_FILE_EXT, file_ext);
1147 void add_root_table(flatbuffers::Offset<reflection::Object> root_table)
1149 fbb_.AddOffset(Schema::VT_ROOT_TABLE, root_table);
1152 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Service>>> services)
1154 fbb_.AddOffset(Schema::VT_SERVICES, services);
1156 void add_advanced_features(reflection::AdvancedFeatures advanced_features)
1158 fbb_.AddElement<uint64_t>(Schema::VT_ADVANCED_FEATURES,
1159 static_cast<uint64_t>(advanced_features), 0);
1161 explicit SchemaBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb)
1163 start_ = fbb_.StartTable();
1165 flatbuffers::Offset<Schema> Finish()
1167 const auto end = fbb_.EndTable(start_);
1168 auto o = flatbuffers::Offset<Schema>(end);
1169 fbb_.Required(o, Schema::VT_OBJECTS);
1170 fbb_.Required(o, Schema::VT_ENUMS);
1175 inline flatbuffers::Offset<Schema> CreateSchema(
1176 flatbuffers::FlatBufferBuilder &_fbb,
1177 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Object>>> objects = 0,
1178 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>>> enums = 0,
1179 flatbuffers::Offset<flatbuffers::String> file_ident = 0,
1180 flatbuffers::Offset<flatbuffers::String> file_ext = 0,
1181 flatbuffers::Offset<reflection::Object> root_table = 0,
1182 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Service>>> services = 0,
1183 reflection::AdvancedFeatures advanced_features = static_cast<reflection::AdvancedFeatures>(0))
1185 SchemaBuilder builder_(_fbb);
1186 builder_.add_advanced_features(advanced_features);
1187 builder_.add_services(services);
1188 builder_.add_root_table(root_table);
1189 builder_.add_file_ext(file_ext);
1190 builder_.add_file_ident(file_ident);
1191 builder_.add_enums(enums);
1192 builder_.add_objects(objects);
1193 return builder_.Finish();
1196 inline flatbuffers::Offset<Schema> CreateSchemaDirect(
1197 flatbuffers::FlatBufferBuilder &_fbb,
1198 std::vector<flatbuffers::Offset<reflection::Object>> *objects = nullptr,
1199 std::vector<flatbuffers::Offset<reflection::Enum>> *enums = nullptr,
1200 const char *file_ident = nullptr, const char *file_ext = nullptr,
1201 flatbuffers::Offset<reflection::Object> root_table = 0,
1202 std::vector<flatbuffers::Offset<reflection::Service>> *services = nullptr,
1203 reflection::AdvancedFeatures advanced_features = static_cast<reflection::AdvancedFeatures>(0))
1205 auto objects__ = objects ? _fbb.CreateVectorOfSortedTables<reflection::Object>(objects) : 0;
1206 auto enums__ = enums ? _fbb.CreateVectorOfSortedTables<reflection::Enum>(enums) : 0;
1207 auto file_ident__ = file_ident ? _fbb.CreateString(file_ident) : 0;
1208 auto file_ext__ = file_ext ? _fbb.CreateString(file_ext) : 0;
1209 auto services__ = services ? _fbb.CreateVectorOfSortedTables<reflection::Service>(services) : 0;
1210 return reflection::CreateSchema(_fbb, objects__, enums__, file_ident__, file_ext__, root_table,
1211 services__, advanced_features);
1214 inline const reflection::Schema *GetSchema(const void *buf)
1216 return flatbuffers::GetRoot<reflection::Schema>(buf);
1219 inline const reflection::Schema *GetSizePrefixedSchema(const void *buf)
1221 return flatbuffers::GetSizePrefixedRoot<reflection::Schema>(buf);
1224 inline const char *SchemaIdentifier() { return "BFBS"; }
1226 inline bool SchemaBufferHasIdentifier(const void *buf)
1228 return flatbuffers::BufferHasIdentifier(buf, SchemaIdentifier());
1231 inline bool VerifySchemaBuffer(flatbuffers::Verifier &verifier)
1233 return verifier.VerifyBuffer<reflection::Schema>(SchemaIdentifier());
1236 inline bool VerifySizePrefixedSchemaBuffer(flatbuffers::Verifier &verifier)
1238 return verifier.VerifySizePrefixedBuffer<reflection::Schema>(SchemaIdentifier());
1241 inline const char *SchemaExtension() { return "bfbs"; }
1243 inline void FinishSchemaBuffer(flatbuffers::FlatBufferBuilder &fbb,
1244 flatbuffers::Offset<reflection::Schema> root)
1246 fbb.Finish(root, SchemaIdentifier());
1249 inline void FinishSizePrefixedSchemaBuffer(flatbuffers::FlatBufferBuilder &fbb,
1250 flatbuffers::Offset<reflection::Schema> root)
1252 fbb.FinishSizePrefixed(root, SchemaIdentifier());
1255 } // namespace reflection
1257 #endif // FLATBUFFERS_GENERATED_REFLECTION_REFLECTION_H_