LCOV - code coverage report
Current view: top level - ogr/ogrsf_frmts/flatgeobuf - feature_generated.h (source / functions) Hit Total Coverage
Test: gdal_filtered.info Lines: 123 124 99.2 %
Date: 2024-11-21 22:18:42 Functions: 33 33 100.0 %

          Line data    Source code
       1             : // automatically generated by the FlatBuffers compiler, do not modify
       2             : 
       3             : #ifndef FLATBUFFERS_GENERATED_FEATURE_FLATGEOBUF_H_
       4             : #define FLATBUFFERS_GENERATED_FEATURE_FLATGEOBUF_H_
       5             : 
       6             : #include "flatbuffers/flatbuffers.h"
       7             : 
       8             : // Ensure the included flatbuffers.h is the same version as when this file was
       9             : // generated, otherwise it may not be compatible.
      10             : static_assert(FLATBUFFERS_VERSION_MAJOR == 2 &&
      11             :                   FLATBUFFERS_VERSION_MINOR == 0 &&
      12             :                   FLATBUFFERS_VERSION_REVISION == 6,
      13             :               "Non-compatible flatbuffers version included");
      14             : 
      15             : #include "header_generated.h"
      16             : 
      17             : namespace FlatGeobuf
      18             : {
      19             : 
      20             : struct Geometry;
      21             : struct GeometryBuilder;
      22             : 
      23             : struct Feature;
      24             : struct FeatureBuilder;
      25             : 
      26             : struct Geometry FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table
      27             : {
      28             :     typedef GeometryBuilder Builder;
      29             : 
      30             :     enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE
      31             :     {
      32             :         VT_ENDS = 4,
      33             :         VT_XY = 6,
      34             :         VT_Z = 8,
      35             :         VT_M = 10,
      36             :         VT_T = 12,
      37             :         VT_TM = 14,
      38             :         VT_TYPE = 16,
      39             :         VT_PARTS = 18
      40             :     };
      41             : 
      42        1286 :     const flatbuffers::Vector<uint32_t> *ends() const
      43             :     {
      44        1286 :         return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_ENDS);
      45             :     }
      46             : 
      47        1570 :     const flatbuffers::Vector<double> *xy() const
      48             :     {
      49        1570 :         return GetPointer<const flatbuffers::Vector<double> *>(VT_XY);
      50             :     }
      51             : 
      52         984 :     const flatbuffers::Vector<double> *z() const
      53             :     {
      54         984 :         return GetPointer<const flatbuffers::Vector<double> *>(VT_Z);
      55             :     }
      56             : 
      57         967 :     const flatbuffers::Vector<double> *m() const
      58             :     {
      59         967 :         return GetPointer<const flatbuffers::Vector<double> *>(VT_M);
      60             :     }
      61             : 
      62         825 :     const flatbuffers::Vector<double> *t() const
      63             :     {
      64         825 :         return GetPointer<const flatbuffers::Vector<double> *>(VT_T);
      65             :     }
      66             : 
      67         825 :     const flatbuffers::Vector<uint64_t> *tm() const
      68             :     {
      69         825 :         return GetPointer<const flatbuffers::Vector<uint64_t> *>(VT_TM);
      70             :     }
      71             : 
      72          82 :     FlatGeobuf::GeometryType type() const
      73             :     {
      74             :         return static_cast<FlatGeobuf::GeometryType>(
      75          82 :             GetField<uint8_t>(VT_TYPE, 0));
      76             :     }
      77             : 
      78             :     const flatbuffers::Vector<flatbuffers::Offset<FlatGeobuf::Geometry>> *
      79        1714 :     parts() const
      80             :     {
      81             :         return GetPointer<const flatbuffers::Vector<
      82        1714 :             flatbuffers::Offset<FlatGeobuf::Geometry>> *>(VT_PARTS);
      83             :     }
      84             : 
      85         825 :     bool Verify(flatbuffers::Verifier &verifier) const
      86             :     {
      87        1650 :         return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_ENDS) &&
      88         825 :                verifier.VerifyVector(ends()) && VerifyOffset(verifier, VT_XY) &&
      89         825 :                verifier.VerifyVector(xy()) && VerifyOffset(verifier, VT_Z) &&
      90         825 :                verifier.VerifyVector(z()) && VerifyOffset(verifier, VT_M) &&
      91         825 :                verifier.VerifyVector(m()) && VerifyOffset(verifier, VT_T) &&
      92         825 :                verifier.VerifyVector(t()) && VerifyOffset(verifier, VT_TM) &&
      93         825 :                verifier.VerifyVector(tm()) &&
      94         825 :                VerifyField<uint8_t>(verifier, VT_TYPE, 1) &&
      95         825 :                VerifyOffset(verifier, VT_PARTS) &&
      96         825 :                verifier.VerifyVector(parts()) &&
      97        1650 :                verifier.VerifyVectorOfTables(parts()) && verifier.EndTable();
      98             :     }
      99             : };
     100             : 
     101             : struct GeometryBuilder
     102             : {
     103             :     typedef Geometry Table;
     104             :     flatbuffers::FlatBufferBuilder &fbb_;
     105             :     flatbuffers::uoffset_t start_;
     106             : 
     107         309 :     void add_ends(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> ends)
     108             :     {
     109         309 :         fbb_.AddOffset(Geometry::VT_ENDS, ends);
     110         309 :     }
     111             : 
     112         309 :     void add_xy(flatbuffers::Offset<flatbuffers::Vector<double>> xy)
     113             :     {
     114         309 :         fbb_.AddOffset(Geometry::VT_XY, xy);
     115         309 :     }
     116             : 
     117         309 :     void add_z(flatbuffers::Offset<flatbuffers::Vector<double>> z)
     118             :     {
     119         309 :         fbb_.AddOffset(Geometry::VT_Z, z);
     120         309 :     }
     121             : 
     122         309 :     void add_m(flatbuffers::Offset<flatbuffers::Vector<double>> m)
     123             :     {
     124         309 :         fbb_.AddOffset(Geometry::VT_M, m);
     125         309 :     }
     126             : 
     127         309 :     void add_t(flatbuffers::Offset<flatbuffers::Vector<double>> t)
     128             :     {
     129         309 :         fbb_.AddOffset(Geometry::VT_T, t);
     130         309 :     }
     131             : 
     132         309 :     void add_tm(flatbuffers::Offset<flatbuffers::Vector<uint64_t>> tm)
     133             :     {
     134         309 :         fbb_.AddOffset(Geometry::VT_TM, tm);
     135         309 :     }
     136             : 
     137         309 :     void add_type(FlatGeobuf::GeometryType type)
     138             :     {
     139         309 :         fbb_.AddElement<uint8_t>(Geometry::VT_TYPE, static_cast<uint8_t>(type),
     140             :                                  0);
     141         309 :     }
     142             : 
     143             :     void
     144         309 :     add_parts(flatbuffers::Offset<
     145             :               flatbuffers::Vector<flatbuffers::Offset<FlatGeobuf::Geometry>>>
     146             :                   parts)
     147             :     {
     148         309 :         fbb_.AddOffset(Geometry::VT_PARTS, parts);
     149         309 :     }
     150             : 
     151         309 :     explicit GeometryBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb)
     152             :     {
     153         309 :         start_ = fbb_.StartTable();
     154         309 :     }
     155             : 
     156         309 :     flatbuffers::Offset<Geometry> Finish()
     157             :     {
     158         309 :         const auto end = fbb_.EndTable(start_);
     159         309 :         auto o = flatbuffers::Offset<Geometry>(end);
     160         309 :         return o;
     161             :     }
     162             : };
     163             : 
     164         309 : inline flatbuffers::Offset<Geometry> CreateGeometry(
     165             :     flatbuffers::FlatBufferBuilder &_fbb,
     166             :     flatbuffers::Offset<flatbuffers::Vector<uint32_t>> ends = 0,
     167             :     flatbuffers::Offset<flatbuffers::Vector<double>> xy = 0,
     168             :     flatbuffers::Offset<flatbuffers::Vector<double>> z = 0,
     169             :     flatbuffers::Offset<flatbuffers::Vector<double>> m = 0,
     170             :     flatbuffers::Offset<flatbuffers::Vector<double>> t = 0,
     171             :     flatbuffers::Offset<flatbuffers::Vector<uint64_t>> tm = 0,
     172             :     FlatGeobuf::GeometryType type = FlatGeobuf::GeometryType::Unknown,
     173             :     flatbuffers::Offset<
     174             :         flatbuffers::Vector<flatbuffers::Offset<FlatGeobuf::Geometry>>>
     175             :         parts = 0)
     176             : {
     177         309 :     GeometryBuilder builder_(_fbb);
     178         309 :     builder_.add_parts(parts);
     179         309 :     builder_.add_tm(tm);
     180         309 :     builder_.add_t(t);
     181         309 :     builder_.add_m(m);
     182         309 :     builder_.add_z(z);
     183         309 :     builder_.add_xy(xy);
     184         309 :     builder_.add_ends(ends);
     185         309 :     builder_.add_type(type);
     186         618 :     return builder_.Finish();
     187             : }
     188             : 
     189         309 : inline flatbuffers::Offset<Geometry> CreateGeometryDirect(
     190             :     flatbuffers::FlatBufferBuilder &_fbb,
     191             :     const std::vector<uint32_t> *ends = nullptr,
     192             :     const std::vector<double> *xy = nullptr,
     193             :     const std::vector<double> *z = nullptr,
     194             :     const std::vector<double> *m = nullptr,
     195             :     const std::vector<double> *t = nullptr,
     196             :     const std::vector<uint64_t> *tm = nullptr,
     197             :     FlatGeobuf::GeometryType type = FlatGeobuf::GeometryType::Unknown,
     198             :     const std::vector<flatbuffers::Offset<FlatGeobuf::Geometry>> *parts =
     199             :         nullptr)
     200             : {
     201         309 :     auto ends__ = ends ? _fbb.CreateVector<uint32_t>(*ends) : 0;
     202         309 :     auto xy__ = xy ? _fbb.CreateVector<double>(*xy) : 0;
     203         309 :     auto z__ = z ? _fbb.CreateVector<double>(*z) : 0;
     204         309 :     auto m__ = m ? _fbb.CreateVector<double>(*m) : 0;
     205         309 :     auto t__ = t ? _fbb.CreateVector<double>(*t) : 0;
     206         309 :     auto tm__ = tm ? _fbb.CreateVector<uint64_t>(*tm) : 0;
     207             :     auto parts__ =
     208             :         parts ? _fbb.CreateVector<flatbuffers::Offset<FlatGeobuf::Geometry>>(
     209          57 :                     *parts)
     210         309 :               : 0;
     211             :     return FlatGeobuf::CreateGeometry(_fbb, ends__, xy__, z__, m__, t__, tm__,
     212         618 :                                       type, parts__);
     213             : }
     214             : 
     215             : struct Feature FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table
     216             : {
     217             :     typedef FeatureBuilder Builder;
     218             : 
     219             :     enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE
     220             :     {
     221             :         VT_GEOMETRY = 4,
     222             :         VT_PROPERTIES = 6,
     223             :         VT_COLUMNS = 8
     224             :     };
     225             : 
     226        1412 :     const FlatGeobuf::Geometry *geometry() const
     227             :     {
     228        1412 :         return GetPointer<const FlatGeobuf::Geometry *>(VT_GEOMETRY);
     229             :     }
     230             : 
     231        1408 :     const flatbuffers::Vector<uint8_t> *properties() const
     232             :     {
     233        1408 :         return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_PROPERTIES);
     234             :     }
     235             : 
     236             :     const flatbuffers::Vector<flatbuffers::Offset<FlatGeobuf::Column>> *
     237        1412 :     columns() const
     238             :     {
     239             :         return GetPointer<const flatbuffers::Vector<
     240        1412 :             flatbuffers::Offset<FlatGeobuf::Column>> *>(VT_COLUMNS);
     241             :     }
     242             : 
     243         706 :     bool Verify(flatbuffers::Verifier &verifier) const
     244             :     {
     245         706 :         return VerifyTableStart(verifier) &&
     246         706 :                VerifyOffset(verifier, VT_GEOMETRY) &&
     247         706 :                verifier.VerifyTable(geometry()) &&
     248         706 :                VerifyOffset(verifier, VT_PROPERTIES) &&
     249         706 :                verifier.VerifyVector(properties()) &&
     250         706 :                VerifyOffset(verifier, VT_COLUMNS) &&
     251         706 :                verifier.VerifyVector(columns()) &&
     252        1412 :                verifier.VerifyVectorOfTables(columns()) && verifier.EndTable();
     253             :     }
     254             : };
     255             : 
     256             : struct FeatureBuilder
     257             : {
     258             :     typedef Feature Table;
     259             :     flatbuffers::FlatBufferBuilder &fbb_;
     260             :     flatbuffers::uoffset_t start_;
     261             : 
     262         200 :     void add_geometry(flatbuffers::Offset<FlatGeobuf::Geometry> geometry)
     263             :     {
     264         200 :         fbb_.AddOffset(Feature::VT_GEOMETRY, geometry);
     265         200 :     }
     266             : 
     267             :     void
     268         200 :     add_properties(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> properties)
     269             :     {
     270         200 :         fbb_.AddOffset(Feature::VT_PROPERTIES, properties);
     271         200 :     }
     272             : 
     273             :     void
     274         200 :     add_columns(flatbuffers::Offset<
     275             :                 flatbuffers::Vector<flatbuffers::Offset<FlatGeobuf::Column>>>
     276             :                     columns)
     277             :     {
     278         200 :         fbb_.AddOffset(Feature::VT_COLUMNS, columns);
     279         200 :     }
     280             : 
     281         200 :     explicit FeatureBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb)
     282             :     {
     283         200 :         start_ = fbb_.StartTable();
     284         200 :     }
     285             : 
     286         200 :     flatbuffers::Offset<Feature> Finish()
     287             :     {
     288         200 :         const auto end = fbb_.EndTable(start_);
     289         200 :         auto o = flatbuffers::Offset<Feature>(end);
     290         200 :         return o;
     291             :     }
     292             : };
     293             : 
     294             : inline flatbuffers::Offset<Feature>
     295         200 : CreateFeature(flatbuffers::FlatBufferBuilder &_fbb,
     296             :               flatbuffers::Offset<FlatGeobuf::Geometry> geometry = 0,
     297             :               flatbuffers::Offset<flatbuffers::Vector<uint8_t>> properties = 0,
     298             :               flatbuffers::Offset<
     299             :                   flatbuffers::Vector<flatbuffers::Offset<FlatGeobuf::Column>>>
     300             :                   columns = 0)
     301             : {
     302         200 :     FeatureBuilder builder_(_fbb);
     303         200 :     builder_.add_columns(columns);
     304         200 :     builder_.add_properties(properties);
     305         200 :     builder_.add_geometry(geometry);
     306         400 :     return builder_.Finish();
     307             : }
     308             : 
     309         200 : inline flatbuffers::Offset<Feature> CreateFeatureDirect(
     310             :     flatbuffers::FlatBufferBuilder &_fbb,
     311             :     flatbuffers::Offset<FlatGeobuf::Geometry> geometry = 0,
     312             :     const std::vector<uint8_t> *properties = nullptr,
     313             :     const std::vector<flatbuffers::Offset<FlatGeobuf::Column>> *columns =
     314             :         nullptr)
     315             : {
     316             :     auto properties__ =
     317         200 :         properties ? _fbb.CreateVector<uint8_t>(*properties) : 0;
     318             :     auto columns__ =
     319             :         columns ? _fbb.CreateVector<flatbuffers::Offset<FlatGeobuf::Column>>(
     320           0 :                       *columns)
     321         200 :                 : 0;
     322         400 :     return FlatGeobuf::CreateFeature(_fbb, geometry, properties__, columns__);
     323             : }
     324             : 
     325             : inline const FlatGeobuf::Feature *GetFeature(const void *buf)
     326             : {
     327             :     return flatbuffers::GetRoot<FlatGeobuf::Feature>(buf);
     328             : }
     329             : 
     330             : inline const FlatGeobuf::Feature *GetSizePrefixedFeature(const void *buf)
     331             : {
     332             :     return flatbuffers::GetSizePrefixedRoot<FlatGeobuf::Feature>(buf);
     333             : }
     334             : 
     335         706 : inline bool VerifyFeatureBuffer(flatbuffers::Verifier &verifier)
     336             : {
     337         706 :     return verifier.VerifyBuffer<FlatGeobuf::Feature>(nullptr);
     338             : }
     339             : 
     340             : inline bool VerifySizePrefixedFeatureBuffer(flatbuffers::Verifier &verifier)
     341             : {
     342             :     return verifier.VerifySizePrefixedBuffer<FlatGeobuf::Feature>(nullptr);
     343             : }
     344             : 
     345             : inline void FinishFeatureBuffer(flatbuffers::FlatBufferBuilder &fbb,
     346             :                                 flatbuffers::Offset<FlatGeobuf::Feature> root)
     347             : {
     348             :     fbb.Finish(root);
     349             : }
     350             : 
     351             : inline void
     352             : FinishSizePrefixedFeatureBuffer(flatbuffers::FlatBufferBuilder &fbb,
     353             :                                 flatbuffers::Offset<FlatGeobuf::Feature> root)
     354             : {
     355             :     fbb.FinishSizePrefixed(root);
     356             : }
     357             : 
     358             : }  // namespace FlatGeobuf
     359             : 
     360             : #endif  // FLATBUFFERS_GENERATED_FEATURE_FLATGEOBUF_H_

Generated by: LCOV version 1.14