--- deliantra/server/common/shstr.C 2006/09/04 11:07:59 1.8 +++ deliantra/server/common/shstr.C 2006/09/04 17:16:19 1.9 @@ -8,43 +8,9 @@ #include #include "shstr.h" +#include "util.h" -struct hash -{ - std::size_t operator ()(const char *s) const - { - unsigned long hash = 0; - unsigned int i = 0; - - /* use the one-at-a-time hash function, which supposedly is - * better than the djb2-like one used by perl5.005, but - * certainly is better then the bug used here before. - * see http://burtleburtle.net/bob/hash/doobs.html - */ - while (*s) - { - hash += *s++; - hash += hash << 10; - hash ^= hash >> 6; - } - - hash += hash << 3; - hash ^= hash >> 11; - hash += hash << 15; - - return hash; - } -}; - -struct equal -{ - bool operator ()(const char *a, const char *b) const - { - return !strcmp (a, b); - } -}; - -typedef std::tr1::unordered_set HT; +typedef std::tr1::unordered_set HT; static HT ht;