diff options
-rw-r--r-- | include/mbgl/storage/default/default_file_source.hpp | 2 | ||||
-rw-r--r-- | include/mbgl/storage/resource.hpp | 14 |
2 files changed, 6 insertions, 10 deletions
diff --git a/include/mbgl/storage/default/default_file_source.hpp b/include/mbgl/storage/default/default_file_source.hpp index 189ff7b9ee..21048e99e5 100644 --- a/include/mbgl/storage/default/default_file_source.hpp +++ b/include/mbgl/storage/default/default_file_source.hpp @@ -47,7 +47,7 @@ private: SharedRequestBase *find(const Resource &resource); - std::unordered_map<Resource, SharedRequestBase *> pending; + std::unordered_map<Resource, SharedRequestBase *, Resource::Hash> pending; uv_loop_t *loop = nullptr; FileCache *cache = nullptr; diff --git a/include/mbgl/storage/resource.hpp b/include/mbgl/storage/resource.hpp index e499f84a28..cfd52caa75 100644 --- a/include/mbgl/storage/resource.hpp +++ b/include/mbgl/storage/resource.hpp @@ -21,17 +21,13 @@ struct Resource { inline bool operator==(const Resource &res) const { return kind == res.kind && url == res.url; } -}; - -} -// Specialize std::hash for use in std::unordered_map -namespace std { + struct Hash { + std::size_t operator()(Resource const& r) const { + return std::hash<std::string>()(r.url) ^ (std::hash<uint8_t>()(r.kind) << 1); + } + }; -template<> struct hash<mbgl::Resource> { - std::size_t operator()(mbgl::Resource const& r) const { - return std::hash<std::string>()(r.url) ^ (std::hash<uint8_t>()(r.kind) << 1); - } }; } |