X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=folly%2FHash.h;h=109b24e40e5478b1a2954c6b108376a02d76c9b5;hb=46e3ed2921bd4e5de81fbc36fcb6a82d30d1499f;hp=a57bbbe05a65a63d2dd9822ce2de47ca12751d27;hpb=22afce906d7e98d95f8c45c3301072d9fd891d41;p=folly.git diff --git a/folly/Hash.h b/folly/Hash.h index a57bbbe0..109b24e4 100644 --- a/folly/Hash.h +++ b/folly/Hash.h @@ -23,8 +23,8 @@ #include #include -#include "folly/SpookyHashV1.h" -#include "folly/SpookyHashV2.h" +#include +#include /* * Various hashing functions. @@ -59,6 +59,19 @@ inline size_t hash_combine_generic() { return 0; } +template < + class Iter, + class Hash = std::hash::value_type>> +uint64_t hash_range(Iter begin, + Iter end, + uint64_t hash = 0, + Hash hasher = Hash()) { + for (; begin != end; ++begin) { + hash = hash_128_to_64(hash, hasher(*begin)); + } + return hash; +} + template size_t hash_combine_generic(const T& t, const Ts&... ts) { size_t seed = Hasher::hash(t);