diff options
author | Jesse Crocker <jesse@gaiagps.com> | 2017-09-08 13:56:11 -0700 |
---|---|---|
committer | Asheem Mamoowala <asheem.mamoowala@mapbox.com> | 2017-09-26 10:55:40 -0700 |
commit | a06f4849bc58cbe21b001f1f15fd0828bde9b79b (patch) | |
tree | d69f9162191af34cb8ab32668af9a41f2351e7ff /src/mbgl/tile/tile_id_hash.cpp | |
parent | 9eba7d8b3e0db0fb4592218bf0e33841933bcd3e (diff) | |
download | qtlocation-mapboxgl-a06f4849bc58cbe21b001f1f15fd0828bde9b79b.tar.gz |
[core] Move *TileID hashing to separate impl
Diffstat (limited to 'src/mbgl/tile/tile_id_hash.cpp')
-rw-r--r-- | src/mbgl/tile/tile_id_hash.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/mbgl/tile/tile_id_hash.cpp b/src/mbgl/tile/tile_id_hash.cpp new file mode 100644 index 0000000000..4a1f185817 --- /dev/null +++ b/src/mbgl/tile/tile_id_hash.cpp @@ -0,0 +1,29 @@ +#include <mbgl/tile/tile_id.hpp> + +#include <boost/functional/hash.hpp> + +namespace std { + +size_t hash<mbgl::CanonicalTileID>::operator()(const mbgl::CanonicalTileID& id) const { + std::size_t seed = 0; + boost::hash_combine(seed, id.x); + boost::hash_combine(seed, id.y); + boost::hash_combine(seed, id.z); + return seed; +} + +size_t hash<mbgl::UnwrappedTileID>::operator()(const mbgl::UnwrappedTileID& id) const { + std::size_t seed = 0; + boost::hash_combine(seed, std::hash<mbgl::CanonicalTileID>{}(id.canonical)); + boost::hash_combine(seed, id.wrap); + return seed; +} + +size_t hash<mbgl::OverscaledTileID>::operator()(const mbgl::OverscaledTileID& id) const { + std::size_t seed = 0; + boost::hash_combine(seed, std::hash<mbgl::CanonicalTileID>{}(id.canonical)); + boost::hash_combine(seed, id.overscaledZ); + return seed; +} + +} // namespace std |