diff options
author | Dane Springmeyer <dane@mapbox.com> | 2016-05-03 13:57:17 -0700 |
---|---|---|
committer | Dane Springmeyer <dane@mapbox.com> | 2016-05-03 13:57:17 -0700 |
commit | c82b02c508bb4eb1d6ee25320cf83995a807e603 (patch) | |
tree | 6e480d2e91e8fb2a053a99a9d0a6a72a746263b1 /src/mbgl/tile/vector_tile.hpp | |
parent | 7d1a4c5ec146493bb3e192f7fc20e3ae3b626011 (diff) | |
download | qtlocation-mapboxgl-c82b02c508bb4eb1d6ee25320cf83995a807e603.tar.gz |
[core] port to protozero (#4906)
Diffstat (limited to 'src/mbgl/tile/vector_tile.hpp')
-rw-r--r-- | src/mbgl/tile/vector_tile.hpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/mbgl/tile/vector_tile.hpp b/src/mbgl/tile/vector_tile.hpp index 0e583ab33a..441d6827ac 100644 --- a/src/mbgl/tile/vector_tile.hpp +++ b/src/mbgl/tile/vector_tile.hpp @@ -3,7 +3,7 @@ #include <mbgl/tile/geometry_tile.hpp> #include <mbgl/map/tile_id.hpp> -#include <mbgl/util/pbf.hpp> +#include <protozero/pbf_reader.hpp> #include <map> #include <unordered_map> @@ -13,9 +13,12 @@ namespace mbgl { class VectorTileLayer; +using pbf_iter_type = protozero::pbf_reader::const_uint32_iterator; +using packed_iter_type = std::pair<pbf_iter_type,pbf_iter_type>; + class VectorTileFeature : public GeometryTileFeature { public: - VectorTileFeature(pbf, const VectorTileLayer&); + VectorTileFeature(protozero::pbf_reader, const VectorTileLayer&); FeatureType getType() const override { return type; } optional<Value> getValue(const std::string&) const override; @@ -28,13 +31,13 @@ private: const VectorTileLayer& layer; uint64_t id = 0; FeatureType type = FeatureType::Unknown; - pbf tags_pbf; - pbf geometry_pbf; + packed_iter_type tags_iter; + packed_iter_type geometry_iter; }; class VectorTileLayer : public GeometryTileLayer { public: - VectorTileLayer(pbf); + VectorTileLayer(protozero::pbf_reader); std::size_t featureCount() const override { return features.size(); } util::ptr<const GeometryTileFeature> getFeature(std::size_t) const override; @@ -49,7 +52,7 @@ private: std::map<std::string, uint32_t> keysMap; std::vector<std::reference_wrapper<const std::string>> keys; std::vector<Value> values; - std::vector<pbf> features; + std::vector<protozero::pbf_reader> features; }; class VectorTile : public GeometryTile { |