BDE 4.14.0 Production release
|
#include <bdlb_hashutil.h>
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 |
|
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
. The behavior is undefined unless 0 < modulus < 2^31
. Note that 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 |
|
inlinestatic |
Return an unsigned integer hash value in the range from zero to one less than the specified modulus
corresponding to the specified key
. The behavior is undefined unless 0 < modulus < 2^31
. Note that 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
.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
static |
|
static |
|
static |
|
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. The behavior is undefined unless 0 <= stringLength
and 0 < modulus < 2^31
. Note that 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 an unsigned integer hash value corresponding to the specified key
. Note that the return value is seemingly random (i.e., the hash is good) but identical on all platforms (irrespective of endianness). Both functions 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 |
|
static |
|
static |
Return an unsigned integer hash value corresponding to the specified data
of the specified length
(in bytes). The behavior is undefined unless 0 <= length
. Note that if 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 |
Return an unsigned integer hash value corresponding to the specified key
. Note that the return value is seemingly random (i.e., the hash is good) but identical on all platforms (irrespective of endianness). Both functions 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 |