summaryrefslogtreecommitdiff
path: root/src/mbgl/tile/vector_tile_data.cpp
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-07-24 18:19:00 +0300
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-07-25 17:36:35 +0300
commit273ad436fb4d2a18c6749bd4e40fa56546e9285c (patch)
treeba1c66084f43adb5d9a66c48279723fc62d35288 /src/mbgl/tile/vector_tile_data.cpp
parente6e1e15f950dc246e609cf4acf5b9d6ca13f8806 (diff)
downloadqtlocation-mapboxgl-273ad436fb4d2a18c6749bd4e40fa56546e9285c.tar.gz
[core] Avoid copying feature properties
Diffstat (limited to 'src/mbgl/tile/vector_tile_data.cpp')
-rw-r--r--src/mbgl/tile/vector_tile_data.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mbgl/tile/vector_tile_data.cpp b/src/mbgl/tile/vector_tile_data.cpp
index 926e596080..d53f1deba6 100644
--- a/src/mbgl/tile/vector_tile_data.cpp
+++ b/src/mbgl/tile/vector_tile_data.cpp
@@ -26,8 +26,11 @@ optional<Value> VectorTileFeature::getValue(const std::string& key) const {
return value->is<NullValue>() ? nullopt : std::move(value);
}
-std::unordered_map<std::string, Value> VectorTileFeature::getProperties() const {
- return feature.getProperties();
+const PropertyMap& VectorTileFeature::getProperties() const {
+ if (!properties) {
+ properties = feature.getProperties();
+ }
+ return *properties;
}
FeatureIdentifier VectorTileFeature::getID() const {