unique -> shared ptr
This commit is contained in:
committed by
John Firebaugh
parent
0652174465
commit
2d8bf823fc
@@ -91,7 +91,7 @@ public:
|
||||
virtual const std::unordered_map<std::string, uint32_t>& getKeyIndex() const = 0;
|
||||
virtual const std::vector<Value>& getValues() const = 0;
|
||||
virtual const std::map<std::string, std::map<Value, Shaping>>& getShaping() const = 0;
|
||||
virtual std::unique_ptr<GeometryFilteredTileLayer> createFilteredTileLayer(const FilterExpression&) const = 0;
|
||||
virtual util::ptr<GeometryFilteredTileLayer> createFilteredTileLayer(const FilterExpression&) const = 0;
|
||||
};
|
||||
|
||||
class GeometryTile {
|
||||
|
||||
@@ -214,7 +214,7 @@ std::unique_ptr<Bucket> TileParser::createBucket(const StyleBucket &bucketDesc)
|
||||
template <class Bucket>
|
||||
void TileParser::addBucketGeometries(Bucket& bucket, const util::ptr<const GeometryTileLayer> layer, const FilterExpression &filter) {
|
||||
|
||||
std::unique_ptr<GeometryFilteredTileLayer> filtered_layer = layer->createFilteredTileLayer(filter);
|
||||
util::ptr<GeometryFilteredTileLayer> filtered_layer = layer->createFilteredTileLayer(filter);
|
||||
|
||||
for (auto feature_it = filtered_layer->begin(); feature_it != filtered_layer->end(); ++feature_it) {
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include <mbgl/map/vector_tile.hpp>
|
||||
#include <mbgl/geometry/pbf_geometry.hpp>
|
||||
#include <mbgl/style/filter_expression_private.hpp>
|
||||
#include <mbgl/util/std.hpp>
|
||||
#include <mbgl/util/pbf.hpp>
|
||||
|
||||
#include <type_traits>
|
||||
@@ -145,8 +144,8 @@ VectorTileLayer::VectorTileLayer(pbf layer_pbf)
|
||||
}
|
||||
}
|
||||
|
||||
std::unique_ptr<GeometryFilteredTileLayer> VectorTileLayer::createFilteredTileLayer(const FilterExpression& filterExpression) const {
|
||||
return util::make_unique<FilteredVectorTileLayer>(*this, filterExpression);
|
||||
util::ptr<GeometryFilteredTileLayer> VectorTileLayer::createFilteredTileLayer(const FilterExpression& filterExpression) const {
|
||||
return std::make_shared<FilteredVectorTileLayer>(*this, filterExpression);
|
||||
}
|
||||
|
||||
FilteredVectorTileLayer::FilteredVectorTileLayer(const VectorTileLayer& layer_, const FilterExpression& filterExpression_)
|
||||
|
||||
@@ -66,7 +66,7 @@ public:
|
||||
virtual inline const std::vector<Value>& getValues() const { return values; }
|
||||
virtual inline const std::map<std::string, std::map<Value, Shaping>>& getShaping() const { return shaping; }
|
||||
|
||||
virtual std::unique_ptr<GeometryFilteredTileLayer> createFilteredTileLayer(const FilterExpression&) const;
|
||||
virtual util::ptr<GeometryFilteredTileLayer> createFilteredTileLayer(const FilterExpression&) const;
|
||||
|
||||
private:
|
||||
std::string name;
|
||||
|
||||
@@ -66,7 +66,7 @@ std::vector<SymbolFeature> SymbolBucket::processFeatures(const util::ptr<const G
|
||||
// Determine and load glyph ranges
|
||||
std::set<GlyphRange> ranges;
|
||||
|
||||
std::unique_ptr<GeometryFilteredTileLayer> filtered_layer = layer->createFilteredTileLayer(filter);
|
||||
util::ptr<GeometryFilteredTileLayer> filtered_layer = layer->createFilteredTileLayer(filter);
|
||||
|
||||
for (auto feature_it = filtered_layer->begin(); feature_it != filtered_layer->end(); ++feature_it) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user