Namespace containing modular hashing algorithms and utilities.

Types

Name

Description

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

Name

Description

hashAppend

hashAppend overloads

Created with MrDocs