31 #define HASH_INTSIZE (sizeof (int)*8)
32 #define HASH_SALT_0 0x7EF92C3B
33 #define HASH_SALT_1 0x9B
37 template <
class KEY,
class VALUE,
int SIZ >
40 typedef std::pair< KEY, VALUE* >HashElement;
41 typedef vsUMap< KEY, VALUE* > supertype;
43 static int hash(
const int key )
49 static int hash(
const char *key )
52 for (
const char *start = key; *start !=
'\0'; ++start) {
61 static int hash(
const std::string &key )
64 for (
typename std::string::const_iterator start = key.begin(); start != key.end(); ++start) {
75 std::vector< VALUE* >retval( this->size() );
76 typename supertype::const_iterator iter = this->begin();
77 typename supertype::const_iterator end = this->end();
79 for (; iter != end; ++iter, ++i)
80 retval[i] = iter->second;
86 typename supertype::const_iterator iter = this->find( key );
87 typename supertype::const_iterator end = this->end();
88 if (iter != end)
return iter->second;
99 typename supertype::iterator iter = this->find( key );
100 if ( iter == this->end() )