BloombergLP::bslh

Namespace containing modular hashing algorithms and utilities.

Types

NameDescription
DefaultHashAlgorithm This class wraps an unspecified default hashing algorithm that is appropriate for general purpose use such as generating hashes for a hash table.
DefaultSeededHashAlgorithm This class wraps an unspecified default hashing algorithm, which takes a seed, that is appropriate for general purpose use such as generating hashes for a hash table.
FibonacciBadHashWrapper This class provides a hash algorithm wrapper that improves the distribution of varying bits from the HASH applied to the KEY.
Hash This struct wraps the (template parameter) type HASH_ALGORITHM in an interface that satisfies the hash requirements of the C++11 standard.
Hash_AdlWrapper This class is a wrapper that is useful in the case of HASH_ALGORITHM not being in the bslh namespace, which can be problematic for ADL lookup of bslh::hashAppend. Wrapping a hash algorithm in this wrapper, which is called inline, effectively forwards the algorithm into the bslh namespace.
SeedGenerator This class template implements a seed generator which takes a user supplied random number generator and uses it to generate an arbitrary length seed. Note that this type inherits from the (template parameter) type RANDOM_NUM_GEN to take advantage of the empty-base optimization.
SeededHash This class wraps the (template parameter) HASH_ALGORITHM, which requires a seed, in an interface that satisfies the hash requirements of the C++11 standard. The (template parameter) type SEED_GENERATOR will be used to generate the seed required by HASH_ALGORITHM.
SipHashAlgorithm This class wraps an implementation of the "SipHash" algorithm in an interface that is usable in the modular hashing system in bslh.
SpookyHashAlgorithm This class wraps an implementation of the "SpookyHash" hash algorithm in an interface that is usable in the modular hashing system in bslh.
SpookyHashAlgorithmImp This class wraps an implementation of Bob Jenkin's "SpookyHash" in a BDE-style component. For more information, see http://burtleburtle.net/bob/hash/spooky.html .
WyHashIncrementalAlgorithm This class wraps an implementation of the "WyHash" hash algorithm in an interface that is usable in the modular hashing system in bslh.
hashTuple_Util Component-private utility for hashing tuple elements in reverse order.

Functions

NameDescription
hashAppend hashAppend overloads