[#BloombergLP-bslh] = xref:BloombergLP.adoc[BloombergLP]::bslh :relfileprefix: ../ :mrdocs: Namespace containing modular hashing algorithms and utilities. == Types [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslh/DefaultHashAlgorithm.adoc[`DefaultHashAlgorithm`] | This class wraps an unspecified default hashing algorithm that is appropriate for general purpose use such as generating hashes for a hash table. | xref:BloombergLP/bslh/DefaultSeededHashAlgorithm.adoc[`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. | xref:BloombergLP/bslh/FibonacciBadHashWrapper.adoc[`FibonacciBadHashWrapper`] | This class provides a hash algorithm wrapper that improves the distribution of varying bits from the `HASH` applied to the `KEY`. | xref:BloombergLP/bslh/Hash-07.adoc[`Hash`] | This struct wraps the (template parameter) type `HASH_ALGORITHM` in an interface that satisfies the `hash` requirements of the C++11 standard. | xref:BloombergLP/bslh/Hash_AdlWrapper.adoc[`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. | xref:BloombergLP/bslh/SeedGenerator.adoc[`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. | xref:BloombergLP/bslh/SeededHash.adoc[`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`. | xref:BloombergLP/bslh/SipHashAlgorithm.adoc[`SipHashAlgorithm`] | This class wraps an implementation of the "SipHash" algorithm in an interface that is usable in the modular hashing system in `bslh`. | xref:BloombergLP/bslh/SpookyHashAlgorithm.adoc[`SpookyHashAlgorithm`] | This class wraps an implementation of the "SpookyHash" hash algorithm in an interface that is usable in the modular hashing system in `bslh`. | xref:BloombergLP/bslh/SpookyHashAlgorithmImp.adoc[`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 . | xref:BloombergLP/bslh/WyHashIncrementalAlgorithm.adoc[`WyHashIncrementalAlgorithm`] | This class wraps an implementation of the "WyHash" hash algorithm in an interface that is usable in the modular hashing system in `bslh`. | xref:BloombergLP/bslh/hashTuple_Util-02.adoc[`hashTuple_Util`] | Component‐private utility for hashing tuple elements in reverse order. |=== == Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslh/hashAppend-0c.adoc[`hashAppend`] | `hashAppend` overloads |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#