// automatically generated by the FlatBuffers compiler, do not modify #ifndef FLATBUFFERS_GENERATED_FEATURE_FLATGEOBUF_H_ #define FLATBUFFERS_GENERATED_FEATURE_FLATGEOBUF_H_ #include "flatbuffers/flatbuffers.h" // Ensure the included flatbuffers.h is the same version as when this file was // generated, otherwise it may not be compatible. static_assert(FLATBUFFERS_VERSION_MAJOR == 22 && FLATBUFFERS_VERSION_MINOR == 9 && FLATBUFFERS_VERSION_REVISION == 29, "Non-compatible flatbuffers version included"); #include "header_generated.h" namespace FlatGeobuf { struct Geometry; struct GeometryBuilder; struct Feature; struct FeatureBuilder; struct Geometry FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef GeometryBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_ENDS = 4, VT_XY = 6, VT_Z = 8, VT_M = 10, VT_T = 12, VT_TM = 14, VT_TYPE = 16, VT_PARTS = 18 }; const flatbuffers::Vector *ends() const { return GetPointer *>(VT_ENDS); } const flatbuffers::Vector *xy() const { return GetPointer *>(VT_XY); } const flatbuffers::Vector *z() const { return GetPointer *>(VT_Z); } const flatbuffers::Vector *m() const { return GetPointer *>(VT_M); } const flatbuffers::Vector *t() const { return GetPointer *>(VT_T); } const flatbuffers::Vector *tm() const { return GetPointer *>(VT_TM); } FlatGeobuf::GeometryType type() const { return static_cast(GetField(VT_TYPE, 0)); } const flatbuffers::Vector> *parts() const { return GetPointer> *>(VT_PARTS); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_ENDS) && verifier.VerifyVector(ends()) && VerifyOffset(verifier, VT_XY) && verifier.VerifyVector(xy()) && VerifyOffset(verifier, VT_Z) && verifier.VerifyVector(z()) && VerifyOffset(verifier, VT_M) && verifier.VerifyVector(m()) && VerifyOffset(verifier, VT_T) && verifier.VerifyVector(t()) && VerifyOffset(verifier, VT_TM) && verifier.VerifyVector(tm()) && VerifyField(verifier, VT_TYPE, 1) && VerifyOffset(verifier, VT_PARTS) && verifier.VerifyVector(parts()) && verifier.VerifyVectorOfTables(parts()) && verifier.EndTable(); } }; struct GeometryBuilder { typedef Geometry Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_ends(flatbuffers::Offset> ends) { fbb_.AddOffset(Geometry::VT_ENDS, ends); } void add_xy(flatbuffers::Offset> xy) { fbb_.AddOffset(Geometry::VT_XY, xy); } void add_z(flatbuffers::Offset> z) { fbb_.AddOffset(Geometry::VT_Z, z); } void add_m(flatbuffers::Offset> m) { fbb_.AddOffset(Geometry::VT_M, m); } void add_t(flatbuffers::Offset> t) { fbb_.AddOffset(Geometry::VT_T, t); } void add_tm(flatbuffers::Offset> tm) { fbb_.AddOffset(Geometry::VT_TM, tm); } void add_type(FlatGeobuf::GeometryType type) { fbb_.AddElement(Geometry::VT_TYPE, static_cast(type), 0); } void add_parts(flatbuffers::Offset>> parts) { fbb_.AddOffset(Geometry::VT_PARTS, parts); } explicit GeometryBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateGeometry( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> ends = 0, flatbuffers::Offset> xy = 0, flatbuffers::Offset> z = 0, flatbuffers::Offset> m = 0, flatbuffers::Offset> t = 0, flatbuffers::Offset> tm = 0, FlatGeobuf::GeometryType type = FlatGeobuf::GeometryType_Unknown, flatbuffers::Offset>> parts = 0) { GeometryBuilder builder_(_fbb); builder_.add_parts(parts); builder_.add_tm(tm); builder_.add_t(t); builder_.add_m(m); builder_.add_z(z); builder_.add_xy(xy); builder_.add_ends(ends); builder_.add_type(type); return builder_.Finish(); } inline flatbuffers::Offset CreateGeometryDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *ends = nullptr, const std::vector *xy = nullptr, const std::vector *z = nullptr, const std::vector *m = nullptr, const std::vector *t = nullptr, const std::vector *tm = nullptr, FlatGeobuf::GeometryType type = FlatGeobuf::GeometryType_Unknown, const std::vector> *parts = nullptr) { auto ends__ = ends ? _fbb.CreateVector(*ends) : 0; auto xy__ = xy ? _fbb.CreateVector(*xy) : 0; auto z__ = z ? _fbb.CreateVector(*z) : 0; auto m__ = m ? _fbb.CreateVector(*m) : 0; auto t__ = t ? _fbb.CreateVector(*t) : 0; auto tm__ = tm ? _fbb.CreateVector(*tm) : 0; auto parts__ = parts ? _fbb.CreateVector>(*parts) : 0; return FlatGeobuf::CreateGeometry( _fbb, ends__, xy__, z__, m__, t__, tm__, type, parts__); } struct Feature FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef FeatureBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_GEOMETRY = 4, VT_PROPERTIES = 6, VT_COLUMNS = 8 }; const FlatGeobuf::Geometry *geometry() const { return GetPointer(VT_GEOMETRY); } const flatbuffers::Vector *properties() const { return GetPointer *>(VT_PROPERTIES); } const flatbuffers::Vector> *columns() const { return GetPointer> *>(VT_COLUMNS); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_GEOMETRY) && verifier.VerifyTable(geometry()) && VerifyOffset(verifier, VT_PROPERTIES) && verifier.VerifyVector(properties()) && VerifyOffset(verifier, VT_COLUMNS) && verifier.VerifyVector(columns()) && verifier.VerifyVectorOfTables(columns()) && verifier.EndTable(); } }; struct FeatureBuilder { typedef Feature Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_geometry(flatbuffers::Offset geometry) { fbb_.AddOffset(Feature::VT_GEOMETRY, geometry); } void add_properties(flatbuffers::Offset> properties) { fbb_.AddOffset(Feature::VT_PROPERTIES, properties); } void add_columns(flatbuffers::Offset>> columns) { fbb_.AddOffset(Feature::VT_COLUMNS, columns); } explicit FeatureBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateFeature( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset geometry = 0, flatbuffers::Offset> properties = 0, flatbuffers::Offset>> columns = 0) { FeatureBuilder builder_(_fbb); builder_.add_columns(columns); builder_.add_properties(properties); builder_.add_geometry(geometry); return builder_.Finish(); } inline flatbuffers::Offset CreateFeatureDirect( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset geometry = 0, const std::vector *properties = nullptr, const std::vector> *columns = nullptr) { auto properties__ = properties ? _fbb.CreateVector(*properties) : 0; auto columns__ = columns ? _fbb.CreateVector>(*columns) : 0; return FlatGeobuf::CreateFeature( _fbb, geometry, properties__, columns__); } inline const FlatGeobuf::Feature *GetFeature(const void *buf) { return flatbuffers::GetRoot(buf); } inline const FlatGeobuf::Feature *GetSizePrefixedFeature(const void *buf) { return flatbuffers::GetSizePrefixedRoot(buf); } inline bool VerifyFeatureBuffer( flatbuffers::Verifier &verifier) { return verifier.VerifyBuffer(nullptr); } inline bool VerifySizePrefixedFeatureBuffer( flatbuffers::Verifier &verifier) { return verifier.VerifySizePrefixedBuffer(nullptr); } inline void FinishFeatureBuffer( flatbuffers::FlatBufferBuilder &fbb, flatbuffers::Offset root) { fbb.Finish(root); } inline void FinishSizePrefixedFeatureBuffer( flatbuffers::FlatBufferBuilder &fbb, flatbuffers::Offset root) { fbb.FinishSizePrefixed(root); } } // namespace FlatGeobuf #endif // FLATBUFFERS_GENERATED_FEATURE_FLATGEOBUF_H_