diff --git a/src/mbgl/map/geometry_tile.hpp b/src/mbgl/map/geometry_tile.hpp index 3d5b677b8..045c29842 100644 --- a/src/mbgl/map/geometry_tile.hpp +++ b/src/mbgl/map/geometry_tile.hpp @@ -91,7 +91,7 @@ public: virtual const std::unordered_map& getKeyIndex() const = 0; virtual const std::vector& getValues() const = 0; virtual const std::map>& getShaping() const = 0; - virtual std::unique_ptr createFilteredTileLayer(const FilterExpression&) const = 0; + virtual util::ptr createFilteredTileLayer(const FilterExpression&) const = 0; }; class GeometryTile { diff --git a/src/mbgl/map/tile_parser.cpp b/src/mbgl/map/tile_parser.cpp index 73426a2d1..be5b90136 100644 --- a/src/mbgl/map/tile_parser.cpp +++ b/src/mbgl/map/tile_parser.cpp @@ -214,7 +214,7 @@ std::unique_ptr TileParser::createBucket(const StyleBucket &bucketDesc) template void TileParser::addBucketGeometries(Bucket& bucket, const util::ptr layer, const FilterExpression &filter) { - std::unique_ptr filtered_layer = layer->createFilteredTileLayer(filter); + util::ptr filtered_layer = layer->createFilteredTileLayer(filter); for (auto feature_it = filtered_layer->begin(); feature_it != filtered_layer->end(); ++feature_it) { diff --git a/src/mbgl/map/vector_tile.cpp b/src/mbgl/map/vector_tile.cpp index 072860832..6eb0704a6 100644 --- a/src/mbgl/map/vector_tile.cpp +++ b/src/mbgl/map/vector_tile.cpp @@ -1,7 +1,6 @@ #include #include #include -#include #include #include @@ -145,8 +144,8 @@ VectorTileLayer::VectorTileLayer(pbf layer_pbf) } } -std::unique_ptr VectorTileLayer::createFilteredTileLayer(const FilterExpression& filterExpression) const { - return util::make_unique(*this, filterExpression); +util::ptr VectorTileLayer::createFilteredTileLayer(const FilterExpression& filterExpression) const { + return std::make_shared(*this, filterExpression); } FilteredVectorTileLayer::FilteredVectorTileLayer(const VectorTileLayer& layer_, const FilterExpression& filterExpression_) diff --git a/src/mbgl/map/vector_tile.hpp b/src/mbgl/map/vector_tile.hpp index e2704a411..c99a4a3fb 100644 --- a/src/mbgl/map/vector_tile.hpp +++ b/src/mbgl/map/vector_tile.hpp @@ -66,7 +66,7 @@ public: virtual inline const std::vector& getValues() const { return values; } virtual inline const std::map>& getShaping() const { return shaping; } - virtual std::unique_ptr createFilteredTileLayer(const FilterExpression&) const; + virtual util::ptr createFilteredTileLayer(const FilterExpression&) const; private: std::string name; diff --git a/src/mbgl/renderer/symbol_bucket.cpp b/src/mbgl/renderer/symbol_bucket.cpp index 53833a759..631fcaf5d 100644 --- a/src/mbgl/renderer/symbol_bucket.cpp +++ b/src/mbgl/renderer/symbol_bucket.cpp @@ -66,7 +66,7 @@ std::vector SymbolBucket::processFeatures(const util::ptr ranges; - std::unique_ptr filtered_layer = layer->createFilteredTileLayer(filter); + util::ptr filtered_layer = layer->createFilteredTileLayer(filter); for (auto feature_it = filtered_layer->begin(); feature_it != filtered_layer->end(); ++feature_it) {