|
|
// HashFunction(unsigned), HashFunction(void const *), HashFunction(char const *) | // HashFunction(unsigned), HashFunction(void const *), HashFunction(char const *) |
// you can disable the default hash functions by defining HT_NODEFAULTFNS | // you can disable the default hash functions by defining HT_NODEFAULTFNS |
| |
|
namespace IFF { |
|
class RegEntry; |
|
}; |
|
|
#ifndef HT_NODEFAULTFNS | #ifndef HT_NODEFAULTFNS |
// a hash function for integral (unsigned) values | // a hash function for integral (unsigned) values |
|
inline unsigned int HashFunction(const IFF::RegEntry& rEntry); |
inline unsigned HashFunction(unsigned const _i) | inline unsigned HashFunction(unsigned const _i) |
{ | { |
return _i ^ _i>>4 ^ _i>>9 ^ _i>>15 ^ _i>>22; | return _i ^ _i>>4 ^ _i>>9 ^ _i>>15 ^ _i>>22; |
|
|
}; | }; |
| |
// a _base_HashTable non-const iterator - can remove entry pointed to | // a _base_HashTable non-const iterator - can remove entry pointed to |
class Iterator : public ConstIterator |
class Iterator : public _base_HashTable::ConstIterator |
{ | { |
// Nested class functions apparently have to be declared here for MSVC compatability | // Nested class functions apparently have to be declared here for MSVC compatability |
public: | public: |