diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2013-10-24 22:21:41 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2013-10-24 22:21:41 +0100 |
| commit | 748cc79d0f1b0f9ff19f35c2fc056b12414b33b7 (patch) | |
| tree | d4dfcb755bd9446c1114242150603cc6268cb28d /src | |
| parent | 4750c92b899da2426c4b206d36fb614fbf4c9da9 (diff) | |
Add std::hash specialization for std::pair
Diffstat (limited to 'src')
| -rw-r--r-- | src/utils.hh | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/utils.hh b/src/utils.hh index 4ff1839b..0500b203 100644 --- a/src/utils.hh +++ b/src/utils.hh @@ -300,4 +300,21 @@ private: } +// std::pair hashing +namespace std +{ + +template<typename T1, typename T2> +struct hash<std::pair<T1,T2>> +{ + size_t operator()(const std::pair<T1,T2>& val) const + { + size_t seed = std::hash<T2>()(val.second); + return seed ^ (std::hash<T1>()(val.first) + 0x9e3779b9 + + (seed << 6) + (seed >> 2)); + } +}; + +} + #endif // utils_hh_INCLUDED |
