1#include <mbgl/tile/tile_id.hpp>
2
3#include <boost/functional/hash.hpp>
4
5namespace std {
6
7size_t hash<mbgl::CanonicalTileID>::operator()(const mbgl::CanonicalTileID& id) const {
8 std::size_t seed = 0;
9 boost::hash_combine(seed, v: id.x);
10 boost::hash_combine(seed, v: id.y);
11 boost::hash_combine(seed, v: id.z);
12 return seed;
13}
14
15size_t hash<mbgl::UnwrappedTileID>::operator()(const mbgl::UnwrappedTileID& id) const {
16 std::size_t seed = 0;
17 boost::hash_combine(seed, v: std::hash<mbgl::CanonicalTileID>{}(id.canonical));
18 boost::hash_combine(seed, v: id.wrap);
19 return seed;
20}
21
22size_t hash<mbgl::OverscaledTileID>::operator()(const mbgl::OverscaledTileID& id) const {
23 std::size_t seed = 0;
24 boost::hash_combine(seed, v: std::hash<mbgl::CanonicalTileID>{}(id.canonical));
25 boost::hash_combine(seed, v: id.overscaledZ);
26 return seed;
27}
28
29} // namespace std
30

source code of qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/tile/tile_id_hash.cpp