@@ -45,7 +45,7 @@ struct SchemaFileBuilder;
4545struct Schema ;
4646struct SchemaBuilder ;
4747
48- enum BaseType {
48+ enum BaseType : int8_t {
4949 None = 0 ,
5050 UType = 1 ,
5151 Bool = 2 ,
@@ -128,7 +128,7 @@ inline const char *EnumNameBaseType(BaseType e) {
128128}
129129
130130// / New schema language features that are not supported by old code generators.
131- enum AdvancedFeatures {
131+ enum AdvancedFeatures : uint64_t {
132132 AdvancedArrayFeatures = 1ULL ,
133133 AdvancedUnionFeatures = 2ULL ,
134134 OptionalScalars = 4ULL ,
@@ -617,7 +617,8 @@ struct Field FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
617617 VT_DOCUMENTATION = 24 ,
618618 VT_OPTIONAL = 26 ,
619619 VT_PADDING = 28 ,
620- VT_OFFSET64 = 30
620+ VT_OFFSET64 = 30 ,
621+ VT_DEFAULT_NON_SCALAR = 32
621622 };
622623 const ::flatbuffers::String *name () const {
623624 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
@@ -675,6 +676,9 @@ struct Field FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
675676 bool offset64 () const {
676677 return GetField<uint8_t >(VT_OFFSET64, 0 ) != 0 ;
677678 }
679+ const ::flatbuffers::String *default_non_scalar () const {
680+ return GetPointer<const ::flatbuffers::String *>(VT_DEFAULT_NON_SCALAR);
681+ }
678682 bool Verify (::flatbuffers::Verifier &verifier) const {
679683 return VerifyTableStart (verifier) &&
680684 VerifyOffsetRequired (verifier, VT_NAME) &&
@@ -697,6 +701,8 @@ struct Field FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
697701 VerifyField<uint8_t >(verifier, VT_OPTIONAL, 1 ) &&
698702 VerifyField<uint16_t >(verifier, VT_PADDING, 2 ) &&
699703 VerifyField<uint8_t >(verifier, VT_OFFSET64, 1 ) &&
704+ VerifyOffset (verifier, VT_DEFAULT_NON_SCALAR) &&
705+ verifier.VerifyString (default_non_scalar ()) &&
700706 verifier.EndTable ();
701707 }
702708};
@@ -747,6 +753,9 @@ struct FieldBuilder {
747753 void add_offset64 (bool offset64) {
748754 fbb_.AddElement <uint8_t >(Field::VT_OFFSET64, static_cast <uint8_t >(offset64), 0 );
749755 }
756+ void add_default_non_scalar (::flatbuffers::Offset<::flatbuffers::String> default_non_scalar) {
757+ fbb_.AddOffset (Field::VT_DEFAULT_NON_SCALAR, default_non_scalar);
758+ }
750759 explicit FieldBuilder (::flatbuffers::FlatBufferBuilder &_fbb)
751760 : fbb_(_fbb) {
752761 start_ = fbb_.StartTable ();
@@ -775,10 +784,12 @@ inline ::flatbuffers::Offset<Field> CreateField(
775784 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> documentation = 0 ,
776785 bool optional = false ,
777786 uint16_t padding = 0 ,
778- bool offset64 = false ) {
787+ bool offset64 = false ,
788+ ::flatbuffers::Offset<::flatbuffers::String> default_non_scalar = 0 ) {
779789 FieldBuilder builder_ (_fbb);
780790 builder_.add_default_real (default_real);
781791 builder_.add_default_integer (default_integer);
792+ builder_.add_default_non_scalar (default_non_scalar);
782793 builder_.add_documentation (documentation);
783794 builder_.add_attributes (attributes);
784795 builder_.add_type (type);
@@ -809,10 +820,12 @@ inline ::flatbuffers::Offset<Field> CreateFieldDirect(
809820 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *documentation = nullptr ,
810821 bool optional = false ,
811822 uint16_t padding = 0 ,
812- bool offset64 = false ) {
823+ bool offset64 = false ,
824+ const char *default_non_scalar = nullptr ) {
813825 auto name__ = name ? _fbb.CreateString (name) : 0 ;
814826 auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables <reflection::KeyValue>(attributes) : 0 ;
815827 auto documentation__ = documentation ? _fbb.CreateVector <::flatbuffers::Offset<::flatbuffers::String>>(*documentation) : 0 ;
828+ auto default_non_scalar__ = default_non_scalar ? _fbb.CreateString (default_non_scalar) : 0 ;
816829 return reflection::CreateField (
817830 _fbb,
818831 name__,
@@ -828,7 +841,8 @@ inline ::flatbuffers::Offset<Field> CreateFieldDirect(
828841 documentation__,
829842 optional,
830843 padding,
831- offset64);
844+ offset64,
845+ default_non_scalar__);
832846}
833847
834848struct Object FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
0 commit comments