@@ -45,7 +45,7 @@ struct SchemaFileBuilder;
45
45
struct Schema ;
46
46
struct SchemaBuilder ;
47
47
48
- enum BaseType {
48
+ enum BaseType : int8_t {
49
49
None = 0 ,
50
50
UType = 1 ,
51
51
Bool = 2 ,
@@ -128,7 +128,7 @@ inline const char *EnumNameBaseType(BaseType e) {
128
128
}
129
129
130
130
// / New schema language features that are not supported by old code generators.
131
- enum AdvancedFeatures {
131
+ enum AdvancedFeatures : uint64_t {
132
132
AdvancedArrayFeatures = 1ULL ,
133
133
AdvancedUnionFeatures = 2ULL ,
134
134
OptionalScalars = 4ULL ,
@@ -617,7 +617,8 @@ struct Field FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
617
617
VT_DOCUMENTATION = 24 ,
618
618
VT_OPTIONAL = 26 ,
619
619
VT_PADDING = 28 ,
620
- VT_OFFSET64 = 30
620
+ VT_OFFSET64 = 30 ,
621
+ VT_DEFAULT_NON_SCALAR = 32
621
622
};
622
623
const ::flatbuffers::String *name () const {
623
624
return GetPointer<const ::flatbuffers::String *>(VT_NAME);
@@ -675,6 +676,9 @@ struct Field FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
675
676
bool offset64 () const {
676
677
return GetField<uint8_t >(VT_OFFSET64, 0 ) != 0 ;
677
678
}
679
+ const ::flatbuffers::String *default_non_scalar () const {
680
+ return GetPointer<const ::flatbuffers::String *>(VT_DEFAULT_NON_SCALAR);
681
+ }
678
682
bool Verify (::flatbuffers::Verifier &verifier) const {
679
683
return VerifyTableStart (verifier) &&
680
684
VerifyOffsetRequired (verifier, VT_NAME) &&
@@ -697,6 +701,8 @@ struct Field FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
697
701
VerifyField<uint8_t >(verifier, VT_OPTIONAL, 1 ) &&
698
702
VerifyField<uint16_t >(verifier, VT_PADDING, 2 ) &&
699
703
VerifyField<uint8_t >(verifier, VT_OFFSET64, 1 ) &&
704
+ VerifyOffset (verifier, VT_DEFAULT_NON_SCALAR) &&
705
+ verifier.VerifyString (default_non_scalar ()) &&
700
706
verifier.EndTable ();
701
707
}
702
708
};
@@ -747,6 +753,9 @@ struct FieldBuilder {
747
753
void add_offset64 (bool offset64) {
748
754
fbb_.AddElement <uint8_t >(Field::VT_OFFSET64, static_cast <uint8_t >(offset64), 0 );
749
755
}
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
+ }
750
759
explicit FieldBuilder (::flatbuffers::FlatBufferBuilder &_fbb)
751
760
: fbb_(_fbb) {
752
761
start_ = fbb_.StartTable ();
@@ -775,10 +784,12 @@ inline ::flatbuffers::Offset<Field> CreateField(
775
784
::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> documentation = 0 ,
776
785
bool optional = false ,
777
786
uint16_t padding = 0 ,
778
- bool offset64 = false ) {
787
+ bool offset64 = false ,
788
+ ::flatbuffers::Offset<::flatbuffers::String> default_non_scalar = 0 ) {
779
789
FieldBuilder builder_ (_fbb);
780
790
builder_.add_default_real (default_real);
781
791
builder_.add_default_integer (default_integer);
792
+ builder_.add_default_non_scalar (default_non_scalar);
782
793
builder_.add_documentation (documentation);
783
794
builder_.add_attributes (attributes);
784
795
builder_.add_type (type);
@@ -809,10 +820,12 @@ inline ::flatbuffers::Offset<Field> CreateFieldDirect(
809
820
const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *documentation = nullptr ,
810
821
bool optional = false ,
811
822
uint16_t padding = 0 ,
812
- bool offset64 = false ) {
823
+ bool offset64 = false ,
824
+ const char *default_non_scalar = nullptr ) {
813
825
auto name__ = name ? _fbb.CreateString (name) : 0 ;
814
826
auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables <reflection::KeyValue>(attributes) : 0 ;
815
827
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 ;
816
829
return reflection::CreateField (
817
830
_fbb,
818
831
name__,
@@ -828,7 +841,8 @@ inline ::flatbuffers::Offset<Field> CreateFieldDirect(
828
841
documentation__,
829
842
optional,
830
843
padding,
831
- offset64);
844
+ offset64,
845
+ default_non_scalar__);
832
846
}
833
847
834
848
struct Object FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
0 commit comments