|
BDE 4.39.x Production Release
|
#include <bdlb_hashutil.h>
This struct provides a namespace for hash functions.
See bdlb_hashutil
Static Public Member Functions | |
| static unsigned int | hash0 (char key, int modulus) |
| static unsigned int | hash0 (signed char key, int modulus) |
| static unsigned int | hash0 (unsigned char key, int modulus) |
| static unsigned int | hash0 (short key, int modulus) |
| static unsigned int | hash0 (unsigned short key, int modulus) |
| static unsigned int | hash0 (int key, int modulus) |
| static unsigned int | hash0 (unsigned int key, int modulus) |
| static unsigned int | hash0 (long key, int modulus) |
| static unsigned int | hash0 (unsigned long key, int modulus) |
| static unsigned int | hash0 (bsls::Types::Int64 key, int modulus) |
| static unsigned int | hash0 (bsls::Types::Uint64 key, int modulus) |
| static unsigned int | hash0 (float key, int modulus) |
| static unsigned int | hash0 (double key, int modulus) |
| static unsigned int | hash0 (const void *key, int modulus) |
| static unsigned int | hash0 (const char *string, int modulus) |
| static unsigned int | hash0 (const char *string, int stringLength, int modulus) |
| static unsigned int | hash1 (const char *data, int length) |
| static unsigned int | hash2 (const char *data, int length) |
| static unsigned int | hash1 (char key) |
| static unsigned int | hash1 (signed char key) |
| static unsigned int | hash1 (unsigned char key) |
| static unsigned int | hash1 (short key) |
| static unsigned int | hash1 (unsigned short key) |
| static unsigned int | hash1 (int key) |
| static unsigned int | hash1 (unsigned int key) |
| static unsigned int | hash1 (long key) |
| static unsigned int | hash1 (unsigned long key) |
| static unsigned int | hash1 (bsls::Types::Int64 key) |
| static unsigned int | hash1 (bsls::Types::Uint64 key) |
| static unsigned int | hash1 (float key) |
| static unsigned int | hash1 (double key) |
| static unsigned int | hash1 (const void *key) |
| static unsigned int | hash2 (char key) |
| static unsigned int | hash2 (signed char key) |
| static unsigned int | hash2 (unsigned char key) |
| static unsigned int | hash2 (short key) |
| static unsigned int | hash2 (unsigned short key) |
| static unsigned int | hash2 (int key) |
| static unsigned int | hash2 (unsigned int key) |
| static unsigned int | hash2 (long key) |
| static unsigned int | hash2 (unsigned long key) |
| static unsigned int | hash2 (bsls::Types::Int64 key) |
| static unsigned int | hash2 (bsls::Types::Uint64 key) |
| static unsigned int | hash2 (float key) |
| static unsigned int | hash2 (double key) |
| static unsigned int | hash2 (const void *key) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Return an unsigned integer hash value in the range from zero to one less than the specified modulus corresponding to the specified key.
0 < modulus < 2^31. modulus is expected to be a prime not close to an integral power of 2. Also note that specifying a modulus of 1 will cause 0 to be returned for every value.
|
static |
Return a pseudo-random unsigned integer in the range from zero to one less than the specified modulus corresponding to the specified null-terminated string.
0 < modulus < 2^31. modulus is expected to be a prime not close to an integral power of 2. Also note that specifying a modulus of 1 will cause 0 to be returned for every string.
|
static |
Return a pseudo-random unsigned integer in the range from zero to one less than the specified modulus corresponding to the specified string having the specified stringLength. string need not be null-terminated and may contain embedded null characters.
0 <= stringLength and 0 < modulus < 2^31. modulus is expected to be a prime not close to an integral power of 2. Also note that specifying a modulus of 1 will cause 0 to be returned for every string.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
static |
|
static |
|
static |
Return an unsigned integer hash value corresponding to the specified key.
hash1 and hash2 return a hash, but both hashes can be assumed to be independent (i.e., there are no known correlations between the results of both hash functions given the same input data).
|
static |
Return an unsigned integer hash value corresponding to the specified data of the specified length (in bytes).
0 <= length. data is 0, then length also must be 0. Also note that every byte in data is significant; that is, it is not appropriate to cast a struct address to a char * unless the struct is packed (no padding).Both hash1 and hash2 return a hash, but both hashes can be assumed to be independent (i.e., there are no known correlations between the results of the two hash functions given the same input data).
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Return an unsigned integer hash value corresponding to the specified key.
hash1 and hash2 return a hash, but both hashes can be assumed to be independent (i.e., there are no known correlations between the results of both hash functions given the same input data).
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |