#ifndef MBGL_MAP_VECTOR_TILE #define MBGL_MAP_VECTOR_TILE #include #include #include #include #include namespace mbgl { class VectorTileLayer; class VectorTileFeature : public GeometryTileFeature { public: VectorTileFeature(pbf, const util::ptr); GeometryCollection nextGeometry(); private: pbf geometry_pbf; }; class FilteredVectorTileLayer : public GeometryFilteredTileLayer { public: FilteredVectorTileLayer(const util::ptr, const FilterExpression&); virtual util::ptr nextMatchingFeature(); private: pbf feature_pbf; }; class VectorTileLayer : public GeometryTileLayer, public std::enable_shared_from_this { friend class FilteredVectorTileLayer; public: VectorTileLayer(pbf); virtual util::ptr createFilter(const FilterExpression&); virtual util::ptr nextFeature(); private: pbf feature_pbf; }; class VectorTile : public GeometryTile { public: VectorTile(pbf); virtual void logDebug() const; }; } #endif