306 constexpr unsigned int qHash(const glm::vec<3, T, Q>& key) |
306 constexpr unsigned int qHash(const glm::vec<3, T, Q>& key) |
307 { |
307 { |
308 return qHash(key.x) ^ rotl10(qHash(key.y)) ^ rotl20(qHash(key.z)); |
308 return qHash(key.x) ^ rotl10(qHash(key.y)) ^ rotl20(qHash(key.z)); |
309 } |
309 } |
310 |
310 |
311 template<typename K, typename V, typename Fn> |
311 template<typename T, typename Fn> |
312 void forValueInMap(const std::map<K, V>& map, Fn&& fn) |
312 void forValueInMap(T&& map, Fn&& fn) |
313 { |
313 { |
314 for (const auto& it : map) { |
314 for (const auto& it : map) { |
315 fn(it.second); |
315 fn(it.second); |
316 } |
316 } |
317 } |
317 } |