Fix hash implementation for SerializedBlockCache

This commit is contained in:
sfan5 2022-05-22 00:37:58 +02:00
parent e16a470d59
commit 5daafc9d33
1 changed files with 2 additions and 3 deletions

View File

@ -425,11 +425,10 @@ private:
std::unordered_set<session_t> waiting_players; std::unordered_set<session_t> waiting_players;
}; };
// the standard library does not implement std::hash for pairs so we have this: // The standard library does not implement std::hash for pairs so we have this:
struct SBCHash { struct SBCHash {
size_t operator() (const std::pair<v3s16, u16> &p) const { size_t operator() (const std::pair<v3s16, u16> &p) const {
return (((size_t) p.first.X) << 48) | (((size_t) p.first.Y) << 32) | return std::hash<v3s16>()(p.first) ^ p.second;
(((size_t) p.first.Z) << 16) | ((size_t) p.second);
} }
}; };