unique -> shared ptr

This commit is contained in:
Justin R. Miller
2015-03-08 16:21:22 -07:00
committed by John Firebaugh
parent 0652174465
commit 2d8bf823fc
5 changed files with 6 additions and 7 deletions

View File

@@ -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 {

View File

@@ -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) {

View File

@@ -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_)

View File

@@ -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;

View File

@@ -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) {