diff options
Diffstat (limited to 'Firestore/core/src/firebase/firestore/util/hashing.h')
-rw-r--r-- | Firestore/core/src/firebase/firestore/util/hashing.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Firestore/core/src/firebase/firestore/util/hashing.h b/Firestore/core/src/firebase/firestore/util/hashing.h index 21c0bd6..5219d64 100644 --- a/Firestore/core/src/firebase/firestore/util/hashing.h +++ b/Firestore/core/src/firebase/firestore/util/hashing.h @@ -82,7 +82,8 @@ struct has_std_hash { * `decltype(std::hash<T>{}(std::declval<T>()))`. */ template <typename T> -using std_hash_type = typename std::enable_if<has_std_hash<T>{}, size_t>::type; +using std_hash_type = + typename std::enable_if<has_std_hash<T>::value, size_t>::type; /** * Combines a hash_value with whatever accumulated state there is so far. @@ -151,9 +152,11 @@ auto RankedInvokeHash(const Range& range, HashChoice<2>) size_t size = 0; for (auto&& element : range) { ++size; - result = Combine(result, InvokeHash(element)); + size_t piece = InvokeHash(element); + result = Combine(result, piece); } - result = Combine(result, size); + size_t size_hash = InvokeHash(size); + result = Combine(result, size_hash); return result; } |