This struct wraps the (template parameter) type HASH_ALGORITHM in an interface that satisfies the hash requirements of the C++11 standard.
Declared in <bslh_hash.h>
template<class HASH_ALGORITHM = bslh::DefaultHashAlgorithm>
struct Hash;
| Name | Description |
|---|---|
HashAlgorithm | Make the HASH_ALGORITHM template parameter available to clients. |
result_type | The type of the hash value that will be returned by the function-call operator. |
| Name | Description |
|---|---|
operator() | Returns a hash value generated by the (template parameter) type HASH_ALGORITHM for the specified type. The value returned by the HASH_ALGORITHM is cast to size_t before returning. |
| Name | Description |
|---|---|
Hash<> | This struct wraps the (template parameter) type HASH_ALGORITHM in an interface that satisfies the hash requirements of the C++11 standard. |
Hash<std::filesystem::path> | Specialization of hash for std::filesystem::path values. |
| Name | Description |
|---|---|
hash<basic_string<CHAR_TYPE, CHAR_TRAITS, ALLOCATOR>> | Specialize bsl::hash for strings, including an overload for pointers to allow character arrays to be hashed without converting them first. |
hash | 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. |