8#ifndef INCLUDED_BSLSTL_HASH
9#define INCLUDED_BSLSTL_HASH
461#include <bslscm_version.h>
475#define BSLSTL_HASH_DEPRECATED_CPP17 \
476 BSLS_DEPRECATE_FEATURE( \
477 "bsl", "deprecated_cpp17_standard_library_features", "do not use")
495struct hash : ::BloombergLP::bslh::Hash<> {
511template <
class BSLSTL_KEY>
1065template <
class TYPE>
1069 return ::BloombergLP::bslh::Hash<>::operator()(value);
1139#ifdef BSLS_PLATFORM_CPU_64_BIT
1143 BSLMF_ASSERT(
sizeof (
long long) ==
sizeof (std::size_t));
1150 BSLMF_ASSERT(
sizeof (
long long) ==
sizeof (std::size_t));
1159 BSLMF_ASSERT(
sizeof (
long long) >
sizeof (std::size_t));
1169 return static_cast<std::size_t
>((x ^ (x >> 32)) & 0xFFFFFFFF);
1175 BSLMF_ASSERT(
sizeof (
long long) >
sizeof (std::size_t));
1185 return static_cast<std::size_t
>((x ^ (x >> 32)) & 0xFFFFFFFF);
1198template <
class TYPE>
1203template <
class TYPE>
1210#undef BSLSTL_HASH_DEPRECATED_CPP17
#define BSLMF_ASSERT(expr)
Definition bslmf_assert.h:231
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
#define BSLSTL_HASH_DEPRECATED_CPP17
Definition bslstl_hash.h:475
Definition bdlat_valuetypefunctions.h:939
ALLOCATOR const STRING_VIEW_LIKE_TYPE & rhs
Definition bslstl_string.h:3918
hash(const hash &original)=default
~hash()=default
Destroy this object.
hash & operator=(const hash &rhs)=default
hash()=default
Create a hash object.
BSLSTL_HASH_DEPRECATED_CPP17 typedef std::size_t result_type
Definition bslstl_hash.h:529
BSLSTL_HASH_DEPRECATED_CPP17 typedef bool argument_type
Definition bslstl_hash.h:524
hash & operator=(const hash &rhs)=default
hash(const hash &original)=default
BSLSTL_HASH_DEPRECATED_CPP17 typedef std::size_t result_type
Definition bslstl_hash.h:571
BSLSTL_HASH_DEPRECATED_CPP17 typedef char argument_type
Definition bslstl_hash.h:566
~hash()=default
Destroy this object.
hash()=default
Create a hash object.
BSLSTL_HASH_DEPRECATED_CPP17 typedef std::size_t result_type
Definition bslstl_hash.h:823
hash & operator=(const hash &rhs)=default
BSLSTL_HASH_DEPRECATED_CPP17 typedef int argument_type
Definition bslstl_hash.h:818
~hash()=default
Destroy this object.
hash()=default
Create a hash object.
hash(const hash &original)=default
BSLSTL_HASH_DEPRECATED_CPP17 typedef std::size_t result_type
Definition bslstl_hash.h:907
hash & operator=(const hash &rhs)=default
hash()=default
Create a hash object.
~hash()=default
Destroy this object.
hash(const hash &original)=default
BSLSTL_HASH_DEPRECATED_CPP17 typedef long argument_type
Definition bslstl_hash.h:902
BSLSTL_HASH_DEPRECATED_CPP17 typedef std::size_t result_type
Definition bslstl_hash.h:991
BSLSTL_HASH_DEPRECATED_CPP17 typedef long long argument_type
Definition bslstl_hash.h:986
std::size_t operator()(long long x) const
Return a hash value computed using the specified x.
hash & operator=(const hash &rhs)=default
hash(const hash &original)=default
hash()=default
Create a hash object.
~hash()=default
Destroy this object.
~hash()=default
Destroy this object.
hash()=default
Create a hash object.
hash(const hash &original)=default
BSLSTL_HASH_DEPRECATED_CPP17 typedef std::size_t result_type
Definition bslstl_hash.h:739
BSLSTL_HASH_DEPRECATED_CPP17 typedef short argument_type
Definition bslstl_hash.h:734
hash & operator=(const hash &rhs)=default
hash & operator=(const hash &rhs)=default
BSLSTL_HASH_DEPRECATED_CPP17 typedef signed char argument_type
Definition bslstl_hash.h:608
BSLSTL_HASH_DEPRECATED_CPP17 typedef std::size_t result_type
Definition bslstl_hash.h:613
std::size_t operator()(signed char x) const
Return a hash value computed using the specified x.
hash()=default
Create a hash object.
hash(const hash &original)=default
~hash()=default
Destroy this object.
BSLSTL_HASH_DEPRECATED_CPP17 typedef std::size_t result_type
Definition bslstl_hash.h:655
~hash()=default
Destroy this object.
std::size_t operator()(unsigned char x) const
Return a hash value computed using the specified x.
hash()=default
Create a hash object.
BSLSTL_HASH_DEPRECATED_CPP17 typedef unsigned char argument_type
Definition bslstl_hash.h:650
hash & operator=(const hash &rhs)=default
hash(const hash &original)=default
BSLSTL_HASH_DEPRECATED_CPP17 typedef std::size_t result_type
Definition bslstl_hash.h:865
hash()=default
Create a hash object.
hash & operator=(const hash &rhs)=default
BSLSTL_HASH_DEPRECATED_CPP17 typedef unsigned int argument_type
Definition bslstl_hash.h:860
~hash()=default
Destroy this object.
hash(const hash &original)=default
std::size_t operator()(unsigned int x) const
Return a hash value computed using the specified x.
std::size_t operator()(unsigned long x) const
Return a hash value computed using the specified x.
BSLSTL_HASH_DEPRECATED_CPP17 typedef unsigned long argument_type
Definition bslstl_hash.h:944
hash & operator=(const hash &rhs)=default
BSLSTL_HASH_DEPRECATED_CPP17 typedef std::size_t result_type
Definition bslstl_hash.h:949
~hash()=default
Destroy this object.
hash(const hash &original)=default
hash()=default
Create a hash object.
std::size_t operator()(unsigned long long x) const
Return a hash value computed using the specified x.
hash & operator=(const hash &rhs)=default
BSLSTL_HASH_DEPRECATED_CPP17 typedef unsigned long long argument_type
Definition bslstl_hash.h:1028
BSLSTL_HASH_DEPRECATED_CPP17 typedef std::size_t result_type
Definition bslstl_hash.h:1033
~hash()=default
Destroy this object.
hash(const hash &original)=default
hash()=default
Create a hash object.
~hash()=default
Destroy this object.
BSLSTL_HASH_DEPRECATED_CPP17 typedef std::size_t result_type
Definition bslstl_hash.h:781
hash()=default
Create a hash object.
hash & operator=(const hash &rhs)=default
BSLSTL_HASH_DEPRECATED_CPP17 typedef unsigned short argument_type
Definition bslstl_hash.h:776
hash(const hash &original)=default
std::size_t operator()(unsigned short x) const
Return a hash value computed using the specified x.
hash(const hash &original)=default
BSLSTL_HASH_DEPRECATED_CPP17 typedef std::size_t result_type
Definition bslstl_hash.h:697
hash & operator=(const hash &rhs)=default
hash()=default
Create a hash object.
BSLSTL_HASH_DEPRECATED_CPP17 typedef wchar_t argument_type
Definition bslstl_hash.h:692
~hash()=default
Destroy this object.
Definition bslstl_hash.h:495
std::size_t operator()(const TYPE &value) const
Definition bslstl_hash.h:1067
Definition bslmf_istriviallycopyable.h:324
Definition bslmf_istriviallydefaultconstructible.h:296