ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/util.h
(Generate patch)

Comparing deliantra/server/include/util.h (file contents):
Revision 1.3 by root, Mon Sep 4 11:07:59 2006 UTC vs.
Revision 1.4 by root, Mon Sep 4 17:16:19 2006 UTC

14 void *operator new [] (size_t s); 14 void *operator new [] (size_t s);
15 void operator delete (void *p, size_t s); 15 void operator delete (void *p, size_t s);
16 void operator delete [] (void *p, size_t s); 16 void operator delete [] (void *p, size_t s);
17}; 17};
18 18
19struct str_hash
20{
21 std::size_t operator ()(const char *s) const
22 {
23 unsigned long hash = 0;
24 unsigned int i = 0;
25
26 /* use the one-at-a-time hash function, which supposedly is
27 * better than the djb2-like one used by perl5.005, but
28 * certainly is better then the bug used here before.
29 * see http://burtleburtle.net/bob/hash/doobs.html
30 */
31 while (*s)
32 {
33 hash += *s++;
34 hash += hash << 10;
35 hash ^= hash >> 6;
36 }
37
38 hash += hash << 3;
39 hash ^= hash >> 11;
40 hash += hash << 15;
41
42 return hash;
43 }
44};
45
46struct str_equal
47{
48 bool operator ()(const char *a, const char *b) const
49 {
50 return !strcmp (a, b);
51 }
52};
53
19#endif 54#endif
20 55

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines