[#bsl-hash-0b] = xref:bsl.adoc[bsl]::xref:bsl/hash-06.adoc[hash]<BSLSTL_KEY const> :relfileprefix: ../ :mrdocs: This class provides hashing functionality for constant key types, by delegating to the same function for non‐constant key types. == Synopsis Declared in `<bslstl_hash.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class BSLSTL_KEY> struct xref:bsl/hash-06.adoc[hash]<BSLSTL_KEY const> : xref:bsl/hash-06.adoc[hash<BSLSTL_KEY>] ---- == Base Classes [cols="1,4"] |=== | Name| Description | `xref:bsl/hash-06.adoc[hash<BSLSTL_KEY>]` | Empty base class for hashing. This class, and all explicit and partial specializations of this class, shall conform to the C++11 Hash Requirements (C++11 17.6.3.4, [hash.requirements]). Unless this template is explicitly specialized, it will use the default hash algorithm provided by `bslh::Hash<>` to supply hash values. In order to hash a user‐defined type using `bsl::hash`, `bsl::hash` must be explicitly specialized for the type, or, preferably, `hashAppend` must be implemented for the type. For more details on `hashAppend` and `bslh::Hash` see the component `bslh_hash`. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslh/Hash-02/HashAlgorithm.adoc[`HashAlgorithm`] | Make the `HASH_ALGORITHM` template parameter available to clients. | xref:BloombergLP/bslh/Hash-02/result_type.adoc[`result_type`] | The type of the hash value that will be returned by the function‐call operator. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:bsl/hash-06/operator_call-0a.adoc[`operator()`] | Function call operators |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#