8#ifndef INCLUDED_BSLSTL_HASH
9#define INCLUDED_BSLSTL_HASH
464#include <bslscm_version.h>
478#define BSLSTL_HASH_DEPRECATED_CPP17 \
479 BSLS_DEPRECATE_FEATURE( \
480 "bsl", "deprecated_cpp17_standard_library_features", "do not use")
498struct hash : ::BloombergLP::bslh::Hash<> {
514template <
class BSLSTL_KEY>
988struct hash<unsigned long long> {
1029template <
class TYPE>
1033 return ::BloombergLP::bslh::Hash<>::operator()(value);
1103#ifdef BSLS_PLATFORM_CPU_64_BIT
1107 BSLMF_ASSERT(
sizeof (
long long) ==
sizeof (std::size_t));
1114 BSLMF_ASSERT(
sizeof (
long long) ==
sizeof (std::size_t));
1123 BSLMF_ASSERT(
sizeof (
long long) >
sizeof (std::size_t));
1133 return static_cast<std::size_t
>((x ^ (x >> 32)) & 0xFFFFFFFF);
1139 BSLMF_ASSERT(
sizeof (
long long) >
sizeof (std::size_t));
1149 return static_cast<std::size_t
>((x ^ (x >> 32)) & 0xFFFFFFFF);
1162template <
class TYPE>
1167template <
class TYPE>
1174#undef BSLSTL_HASH_DEPRECATED_CPP17
#define BSLMF_ASSERT(expr)
Definition bslmf_assert.h:229
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
#define BSLSTL_HASH_DEPRECATED_CPP17
Definition bslstl_hash.h:478
Definition bdlb_printmethods.h:283
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:531
BSLSTL_HASH_DEPRECATED_CPP17 typedef bool argument_type
Definition bslstl_hash.h:526
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:570
BSLSTL_HASH_DEPRECATED_CPP17 typedef char argument_type
Definition bslstl_hash.h:565
~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:804
hash & operator=(const hash &rhs)=default
BSLSTL_HASH_DEPRECATED_CPP17 typedef int argument_type
Definition bslstl_hash.h:799
~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:882
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:877
BSLSTL_HASH_DEPRECATED_CPP17 typedef std::size_t result_type
Definition bslstl_hash.h:960
BSLSTL_HASH_DEPRECATED_CPP17 typedef long long argument_type
Definition bslstl_hash.h:955
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:726
BSLSTL_HASH_DEPRECATED_CPP17 typedef short argument_type
Definition bslstl_hash.h:721
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:604
BSLSTL_HASH_DEPRECATED_CPP17 typedef std::size_t result_type
Definition bslstl_hash.h:609
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:648
~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:643
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:843
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:838
~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:916
hash & operator=(const hash &rhs)=default
BSLSTL_HASH_DEPRECATED_CPP17 typedef std::size_t result_type
Definition bslstl_hash.h:921
~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:994
BSLSTL_HASH_DEPRECATED_CPP17 typedef std::size_t result_type
Definition bslstl_hash.h:999
~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:765
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:760
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:687
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:682
~hash()=default
Destroy this object.
Definition bslstl_hash.h:498
std::size_t operator()(const TYPE &value) const
Definition bslstl_hash.h:1031
Definition bslmf_istriviallycopyable.h:329
Definition bslmf_istriviallydefaultconstructible.h:293