Implements a hashing algorithm based on the contents stored in an object. More...
#include <byte_hasher.h>


Public Member Functions | |
| virtual | ~rotating_byte_hasher () |
| virtual basis::un_int | hash (const void *key_data, int key_length) const |
| returns a value that can be used for indexing into a hash table. | |
| virtual hashing_algorithm * | clone () const |
| implements cloning of the algorithm object. | |
Implements a hashing algorithm based on the contents stored in an object.
This will only be usable for key types that have flat members; keys with pointers limit the meaning of the hash value, or destroy the meaning if the pointer value can change between lookups. Note that objects based on RTTI will probably never work with this either since the compiler stores extra data as part of the binary form for those objects.
Definition at line 30 of file byte_hasher.h.
| virtual structures::rotating_byte_hasher::~rotating_byte_hasher | ( | ) | [inline, virtual] |
Definition at line 21 of file byte_hasher.h.
Referenced by hash().
| virtual hashing_algorithm* structures::rotating_byte_hasher::clone | ( | ) | const [inline, virtual] |
implements cloning of the algorithm object.
Implements structures::hashing_algorithm.
Definition at line 30 of file byte_hasher.h.
Referenced by hash().
| virtual basis::un_int structures::rotating_byte_hasher::hash | ( | const void * | key_data, | |
| int | key_length | |||
| ) | const [inline, virtual] |
returns a value that can be used for indexing into a hash table.
the returned value is loosely based on the "key_data" and the "key_length" we are provided with. note: do not use a huge key length for this or your hash table will be very slow; the key should probably be limited to 16 or less.
Implements structures::hashing_algorithm.
Definition at line 23 of file byte_hasher.h.
References clone(), structures::checksums::hash_bytes(), and ~rotating_byte_hasher().
1.6.3