Classes | Typedefs | Functions | Variables
absl::hash_internal Namespace Reference

Classes

struct  AggregateBarrier
 
struct  ContainerAsVector
 
struct  ContainerAsVector< std::tuple< T... > >
 
struct  ContainerAsVector< std::tuple<> >
 
struct  DefaultEquals
 
struct  EqVisitor
 
struct  ExpandVisitor
 
struct  Hash
 
struct  HashImpl
 
struct  HashSelect
 
class  HashState
 
class  HashStateBase
 
struct  is_hashable
 
struct  is_uniquely_represented
 
struct  is_uniquely_represented< bool >
 
struct  is_uniquely_represented< CustomHashType< Tags... >, typename EnableIfContained< InvokeTag::kUniquelyRepresented, Tags... >::type >
 
struct  is_uniquely_represented< Integral, typename std::enable_if< std::is_integral< Integral >::value >::type >
 
struct  is_uniquely_represented< unsigned char >
 
struct  MakeTypeSet
 
struct  MakeTypeSet< T, Ts... >
 
class  MixingHashState
 
struct  OdrUse
 
class  PiecewiseCombiner
 
struct  PoisonedHash
 
struct  PrintVisitor
 
struct  RunOnStartup
 
class  SpyHashStateImpl
 
struct  TypeSet
 
struct  VariantVisitor
 

Typedefs

using SpyHashState = SpyHashStateImpl< void >
 
template<typename... T>
using VariantForTypes = typename MakeTypeSet< const typename std::decay< T >::type *... >::template apply< absl::variant >
 

Functions

template<typename H >
H AbslHashValue (H hash_state, absl::string_view str)
 
template<typename H , typename B >
std::enable_if< std::is_same< B, bool >::value, H >::type AbslHashValue (H hash_state, B value)
 
template<typename H , typename T >
std::enable_if< is_hashable< T >::value, H >::type AbslHashValue (H hash_state, const absl::optional< T > &opt)
 
template<typename H , typename... T>
std::enable_if< conjunction< is_hashable< T >... >::value, H >::type AbslHashValue (H hash_state, const absl::variant< T... > &v)
 
template<typename H , typename T , size_t N>
std::enable_if< is_hashable< T >::value, H >::type AbslHashValue (H hash_state, const std::array< T, N > &array)
 
template<typename Char , typename Alloc , typename H , typename = absl::enable_if_t<std::is_same<Char, wchar_t>::value || std::is_same<Char, char16_t>::value || std::is_same<Char, char32_t>::value>>
H AbslHashValue (H hash_state, const std::basic_string< Char, std::char_traits< Char >, Alloc > &str)
 
template<typename H , typename T , typename Allocator >
std::enable_if< is_hashable< T >::value, H >::type AbslHashValue (H hash_state, const std::deque< T, Allocator > &deque)
 
template<typename H , typename T , typename Allocator >
std::enable_if< is_hashable< T >::value, H >::type AbslHashValue (H hash_state, const std::forward_list< T, Allocator > &list)
 
template<typename H , typename T , typename Allocator >
std::enable_if< is_hashable< T >::value, H >::type AbslHashValue (H hash_state, const std::list< T, Allocator > &list)
 
template<typename H , typename Key , typename T , typename Compare , typename Allocator >
std::enable_if< is_hashable< Key >::value &&is_hashable< T >::value, H >::type AbslHashValue (H hash_state, const std::map< Key, T, Compare, Allocator > &map)
 
template<typename H , typename Key , typename T , typename Compare , typename Allocator >
std::enable_if< is_hashable< Key >::value &&is_hashable< T >::value, H >::type AbslHashValue (H hash_state, const std::multimap< Key, T, Compare, Allocator > &map)
 
template<typename H , typename Key , typename Compare , typename Allocator >
std::enable_if< is_hashable< Key >::value, H >::type AbslHashValue (H hash_state, const std::multiset< Key, Compare, Allocator > &set)
 
template<typename H , typename T1 , typename T2 >
std::enable_if< is_hashable< T1 >::value &&is_hashable< T2 >::value, H >::type AbslHashValue (H hash_state, const std::pair< T1, T2 > &p)
 
template<typename H , typename Key , typename Compare , typename Allocator >
std::enable_if< is_hashable< Key >::value, H >::type AbslHashValue (H hash_state, const std::set< Key, Compare, Allocator > &set)
 
template<typename H , typename T >
H AbslHashValue (H hash_state, const std::shared_ptr< T > &ptr)
 
template<typename H , typename... Ts>
std::enable_if< absl::conjunction< is_hashable< Ts >... >::value, H >::type AbslHashValue (H hash_state, const std::tuple< Ts... > &t)
 
template<typename H , typename T , typename D >
H AbslHashValue (H hash_state, const std::unique_ptr< T, D > &ptr)
 
template<typename H , typename Key , typename T , typename Hash , typename KeyEqual , typename Alloc >
std::enable_if< is_hashable< Key >::value &&is_hashable< T >::value, H >::type AbslHashValue (H hash_state, const std::unordered_map< Key, T, Hash, KeyEqual, Alloc > &s)
 
template<typename H , typename Key , typename T , typename Hash , typename KeyEqual , typename Alloc >
std::enable_if< is_hashable< Key >::value &&is_hashable< T >::value, H >::type AbslHashValue (H hash_state, const std::unordered_multimap< Key, T, Hash, KeyEqual, Alloc > &s)
 
template<typename H , typename Key , typename Hash , typename KeyEqual , typename Alloc >
std::enable_if< is_hashable< Key >::value, H >::type AbslHashValue (H hash_state, const std::unordered_multiset< Key, Hash, KeyEqual, Alloc > &s)
 
template<typename H , typename Key , typename Hash , typename KeyEqual , typename Alloc >
std::enable_if< is_hashable< Key >::value, H >::type AbslHashValue (H hash_state, const std::unordered_set< Key, Hash, KeyEqual, Alloc > &s)
 
template<typename H , typename T , typename Allocator >
std::enable_if< is_hashable< T >::value &&!std::is_same< T, bool >::value, H >::type AbslHashValue (H hash_state, const std::vector< T, Allocator > &vector)
 
template<typename H , typename T , typename Allocator >
std::enable_if< is_hashable< T >::value &&std::is_same< T, bool >::value, H >::type AbslHashValue (H hash_state, const std::vector< T, Allocator > &vector)
 
template<typename H , typename Enum >
std::enable_if< std::is_enum< Enum >::value, H >::type AbslHashValue (H hash_state, Enum e)
 
template<typename H , typename Float >
std::enable_if< std::is_same< Float, float >::value||std::is_same< Float, double >::value, H >::type AbslHashValue (H hash_state, Float value)
 
template<typename H , typename LongDouble >
std::enable_if< std::is_same< LongDouble, long double >::value, H >::type AbslHashValue (H hash_state, LongDouble value)
 
template<typename H >
H AbslHashValue (H hash_state, std::nullptr_t)
 
template<typename H , typename T >
std::enable_if< is_hashable< T >::value, H >::type AbslHashValue (H hash_state, std::reference_wrapper< T > opt)
 
template<typename H , typename T >
H AbslHashValue (H hash_state, T *ptr)
 
template<typename H , typename T , typename C >
H AbslHashValue (H hash_state, T C::*ptr)
 
template<typename T , typename U , typename = absl::enable_if_t<!std::is_same<T, U>::value>, int = RunOnStartup<SpyHashStateImpl<T>::SetDirectAbslHashValueError>::run>
void AbslHashValue (SpyHashStateImpl< T >, const U &)
 
uint32_t CityHash32 (const char *s, size_t len)
 
uint64_t CityHash64 (const char *s, size_t len)
 
uint64_t CityHash64WithSeed (const char *s, size_t len, uint64_t seed)
 
uint64_t CityHash64WithSeeds (const char *s, size_t len, uint64_t seed0, uint64_t seed1)
 
static uint32_t Fetch32 (const char *p)
 
static uint32_t Fetch32 (const char *p)
 
static uint64_t Fetch64 (const char *p)
 
static uint64_t Fetch64 (const char *p)
 
static uint32_t fmix (uint32_t h)
 
static uint32_t fmix (uint32_t h)
 
static uint32_t Hash32Len0to4 (const char *s, size_t len)
 
static uint32_t Hash32Len0to4 (const char *s, size_t len)
 
static uint32_t Hash32Len13to24 (const char *s, size_t len)
 
static uint32_t Hash32Len13to24 (const char *s, size_t len)
 
static uint32_t Hash32Len5to12 (const char *s, size_t len)
 
static uint32_t Hash32Len5to12 (const char *s, size_t len)
 
template<typename H , typename T >
H hash_bytes (H hash_state, const T &value)
 
template<typename H , typename T >
std::enable_if< is_uniquely_represented< T >::value, H >::type hash_range_or_bytes (H hash_state, const T *data, size_t size)
 
template<typename H , typename T >
std::enable_if<!is_uniquely_represented< T >::value, H >::type hash_range_or_bytes (H hash_state, const T *data, size_t size)
 
template<typename H , typename Tuple , size_t... Is>
H hash_tuple (H hash_state, const Tuple &t, absl::index_sequence< Is... >)
 
static uint64_t HashLen0to16 (const char *s, size_t len)
 
static uint64_t HashLen0to16 (const char *s, size_t len)
 
static uint64_t HashLen16 (uint64_t u, uint64_t v)
 
static uint64_t HashLen16 (uint64_t u, uint64_t v)
 
static uint64_t HashLen16 (uint64_t u, uint64_t v, uint64_t mul)
 
static uint64_t HashLen16 (uint64_t u, uint64_t v, uint64_t mul)
 
static uint64_t HashLen17to32 (const char *s, size_t len)
 
static uint64_t HashLen17to32 (const char *s, size_t len)
 
static uint64_t HashLen33to64 (const char *s, size_t len)
 
static uint64_t HashLen33to64 (const char *s, size_t len)
 
uint64_t LowLevelHash (const void *data, size_t len, uint64_t seed, const uint64_t salt[5])
 
uint64_t LowLevelHash (const void *data, size_t len, uint64_t seed, const uint64_t salt[])
 
static uint64_t Mix (uint64_t v0, uint64_t v1)
 
static uint32_t Mur (uint32_t a, uint32_t h)
 
static uint32_t Mur (uint32_t a, uint32_t h)
 
constexpr size_t PiecewiseChunkSize ()
 
static uint64_t Rotate (uint64_t val, int shift)
 
static uint64_t Rotate (uint64_t val, int shift)
 
static uint32_t Rotate32 (uint32_t val, int shift)
 
static uint32_t Rotate32 (uint32_t val, int shift)
 
void setup ()
 
static uint64_t ShiftMix (uint64_t val)
 
static uint64_t ShiftMix (uint64_t val)
 
 TEST (CityHashTest, Unchanging)
 
void TestUnchanging (const uint64_t *expected, int offset, int len)
 
template<typename Container , typename Eq >
ABSL_MUST_USE_RESULT testing::AssertionResult VerifyTypeImplementsAbslHashCorrectly (const Container &values, Eq equals)
 
static std::pair< uint64_t, uint64_tWeakHashLen32WithSeeds (const char *s, uint64_t a, uint64_t b)
 
static std::pair< uint64_t, uint64_tWeakHashLen32WithSeeds (const char *s, uint64_t a, uint64_t b)
 
static std::pair< uint64_t, uint64_tWeakHashLen32WithSeeds (uint64_t w, uint64_t x, uint64_t y, uint64_t z, uint64_t a, uint64_t b)
 
static std::pair< uint64_t, uint64_tWeakHashLen32WithSeeds (uint64_t w, uint64_t x, uint64_t y, uint64_t z, uint64_t a, uint64_t b)
 
uint64_t Wyhash (const void *data, size_t len, uint64_t seed, const uint64_t salt[5])
 
uint64_t Wyhash (const void *data, size_t len, uint64_t seed, const uint64_t salt[])
 
static uint64_t WyhashMix (uint64_t v0, uint64_t v1)
 

Variables

static const uint32_t c1 = 0xcc9e2d51
 
static const uint32_t c1 = 0xcc9e2d51
 
static const uint32_t c2 = 0x1b873593
 
static const uint32_t c2 = 0x1b873593
 
static char data [kDataSize]
 
static const uint64_t k0 = 0xc3a5c85c97cb3127ULL
 
static const uint64_t k0 = 0xc3a5c85c97cb3127ULL
 
static const uint64_t k0 = 0xc3a5c85c97cb3127ULL
 
static const uint64_t k1 = 0xb492b66fbe98f273ULL
 
static const uint64_t k1 = 0xb492b66fbe98f273ULL
 
static const uint64_t k2 = 0x9ae16a3b2f90404fULL
 
static const uint64_t k2 = 0x9ae16a3b2f90404fULL
 
static const int kDataSize = 1 << 20
 
constexpr uint64_t kHashSalt [5]
 
static const uint64_t kSeed0 = 1234567
 
static const uint64_t kSeed1 = k0
 
static const int kTestSize = 300
 
constexpr uint64_t kWyhashSalt [5]
 
static const uint64_t testdata [kTestSize][4]
 

Typedef Documentation

◆ SpyHashState

◆ VariantForTypes

template<typename... T>
using absl::hash_internal::VariantForTypes = typedef typename MakeTypeSet< const typename std::decay<T>::type*...>::template apply<absl::variant>

Definition at line 300 of file abseil-cpp/absl/hash/hash_testing.h.

Function Documentation

◆ AbslHashValue() [1/31]

template<typename H >
H absl::hash_internal::AbslHashValue ( H  hash_state,
absl::string_view  str 
)

Definition at line 527 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [2/31]

template<typename H , typename B >
std::enable_if< std::is_same< B, bool >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
value 
)

Definition at line 344 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [3/31]

template<typename H , typename T >
std::enable_if< is_hashable< T >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
const absl::optional< T > &  opt 
)

Definition at line 755 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [4/31]

template<typename H , typename... T>
std::enable_if< conjunction< is_hashable< T >... >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
const absl::variant< T... > &  v 
)

Definition at line 774 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [5/31]

template<typename H , typename T , size_t N>
std::enable_if< is_hashable< T >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
const std::array< T, N > &  array 
)

Definition at line 552 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [6/31]

template<typename Char , typename Alloc , typename H , typename = absl::enable_if_t<std::is_same<Char, wchar_t>::value || std::is_same<Char, char16_t>::value || std::is_same<Char, char32_t>::value>>
H absl::hash_internal::AbslHashValue ( H  hash_state,
const std::basic_string< Char, std::char_traits< Char >, Alloc > &  str 
)

Definition at line 538 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [7/31]

template<typename H , typename T , typename Allocator >
std::enable_if< is_hashable< T >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
const std::deque< T, Allocator > &  deque 
)

Definition at line 560 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [8/31]

template<typename H , typename T , typename Allocator >
std::enable_if< is_hashable< T >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
const std::forward_list< T, Allocator > &  list 
)

Definition at line 572 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [9/31]

template<typename H , typename T , typename Allocator >
std::enable_if< is_hashable< T >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
const std::list< T, Allocator > &  list 
)

Definition at line 584 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [10/31]

template<typename H , typename Key , typename T , typename Compare , typename Allocator >
std::enable_if< is_hashable< Key >::value &&is_hashable< T >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
const std::map< Key, T, Compare, Allocator > &  map 
)

Definition at line 653 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [11/31]

template<typename H , typename Key , typename T , typename Compare , typename Allocator >
std::enable_if< is_hashable< Key >::value &&is_hashable< T >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
const std::multimap< Key, T, Compare, Allocator > &  map 
)

Definition at line 665 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [12/31]

template<typename H , typename Key , typename Compare , typename Allocator >
std::enable_if< is_hashable< Key >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
const std::multiset< Key, Compare, Allocator > &  set 
)

Definition at line 685 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [13/31]

template<typename H , typename T1 , typename T2 >
std::enable_if< is_hashable< T1 >::value &&is_hashable< T2 >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
const std::pair< T1, T2 > &  p 
)

Definition at line 465 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [14/31]

template<typename H , typename Key , typename Compare , typename Allocator >
std::enable_if< is_hashable< Key >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
const std::set< Key, Compare, Allocator > &  set 
)

Definition at line 675 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [15/31]

template<typename H , typename T >
H absl::hash_internal::AbslHashValue ( H  hash_state,
const std::shared_ptr< T > &  ptr 
)

Definition at line 504 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [16/31]

template<typename H , typename... Ts>
std::enable_if< absl::conjunction< is_hashable< Ts >... >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
const std::tuple< Ts... > &  t 
)

Definition at line 487 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [17/31]

template<typename H , typename T , typename D >
H absl::hash_internal::AbslHashValue ( H  hash_state,
const std::unique_ptr< T, D > &  ptr 
)

Definition at line 498 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [18/31]

template<typename H , typename Key , typename T , typename Hash , typename KeyEqual , typename Alloc >
std::enable_if<is_hashable<Key>::value && is_hashable<T>::value, H>::type absl::hash_internal::AbslHashValue ( H  hash_state,
const std::unordered_map< Key, T, Hash, KeyEqual, Alloc > &  s 
)

Definition at line 723 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [19/31]

template<typename H , typename Key , typename T , typename Hash , typename KeyEqual , typename Alloc >
std::enable_if<is_hashable<Key>::value && is_hashable<T>::value, H>::type absl::hash_internal::AbslHashValue ( H  hash_state,
const std::unordered_multimap< Key, T, Hash, KeyEqual, Alloc > &  s 
)

Definition at line 735 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [20/31]

template<typename H , typename Key , typename Hash , typename KeyEqual , typename Alloc >
std::enable_if<is_hashable<Key>::value, H>::type absl::hash_internal::AbslHashValue ( H  hash_state,
const std::unordered_multiset< Key, Hash, KeyEqual, Alloc > &  s 
)

Definition at line 710 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [21/31]

template<typename H , typename Key , typename Hash , typename KeyEqual , typename Alloc >
std::enable_if<is_hashable<Key>::value, H>::type absl::hash_internal::AbslHashValue ( H  hash_state,
const std::unordered_set< Key, Hash, KeyEqual, Alloc > &  s 
)

Definition at line 700 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [22/31]

template<typename H , typename T , typename Allocator >
std::enable_if< is_hashable< T >::value &&!std::is_same< T, bool >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
const std::vector< T, Allocator > &  vector 
)

Definition at line 600 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [23/31]

template<typename H , typename T , typename Allocator >
std::enable_if<is_hashable<T>::value && std::is_same<T, bool>::value, H>::type absl::hash_internal::AbslHashValue ( H  hash_state,
const std::vector< T, Allocator > &  vector 
)

Definition at line 637 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [24/31]

template<typename H , typename Enum >
std::enable_if< std::is_enum< Enum >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
Enum  e 
)

Definition at line 352 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [25/31]

template<typename H , typename Float >
std::enable_if< std::is_same< Float, float >::value||std::is_same< Float, double >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
Float  value 
)

Definition at line 367 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [26/31]

template<typename H , typename LongDouble >
std::enable_if< std::is_same< LongDouble, long double >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
LongDouble  value 
)

Definition at line 378 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [27/31]

template<typename H >
H absl::hash_internal::AbslHashValue ( H  hash_state,
std::nullptr_t   
)

Definition at line 420 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [28/31]

template<typename H , typename T >
std::enable_if< is_hashable< T >::value, H >::type absl::hash_internal::AbslHashValue ( H  hash_state,
std::reference_wrapper< T opt 
)

Definition at line 748 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [29/31]

template<typename H , typename T >
H absl::hash_internal::AbslHashValue ( H  hash_state,
T ptr 
)

Definition at line 409 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [30/31]

template<typename H , typename T , typename C >
H absl::hash_internal::AbslHashValue ( H  hash_state,
T C::*  ptr 
)

Definition at line 426 of file abseil-cpp/absl/hash/internal/hash.h.

◆ AbslHashValue() [31/31]

template<typename T , typename U , typename = absl::enable_if_t<!std::is_same<T, U>::value>, int = RunOnStartup<SpyHashStateImpl<T>::SetDirectAbslHashValueError>::run>
void absl::hash_internal::AbslHashValue ( SpyHashStateImpl< T ,
const U &   
)

◆ CityHash32()

uint32_t absl::hash_internal::CityHash32 ( const char *  s,
size_t  len 
)

Definition at line 124 of file abseil-cpp/absl/hash/internal/city.cc.

◆ CityHash64()

uint64_t absl::hash_internal::CityHash64 ( const char *  s,
size_t  len 
)

Definition at line 298 of file abseil-cpp/absl/hash/internal/city.cc.

◆ CityHash64WithSeed()

uint64_t absl::hash_internal::CityHash64WithSeed ( const char *  s,
size_t  len,
uint64_t  seed 
)

Definition at line 338 of file abseil-cpp/absl/hash/internal/city.cc.

◆ CityHash64WithSeeds()

uint64_t absl::hash_internal::CityHash64WithSeeds ( const char *  s,
size_t  len,
uint64_t  seed0,
uint64_t  seed1 
)

Definition at line 342 of file abseil-cpp/absl/hash/internal/city.cc.

◆ Fetch32() [1/2]

static uint32_t absl::hash_internal::Fetch32 ( const char *  p)
static

◆ Fetch32() [2/2]

static uint32_t absl::hash_internal::Fetch32 ( const char *  p)
static

Definition at line 48 of file abseil-cpp/absl/hash/internal/city.cc.

◆ Fetch64() [1/2]

static uint64_t absl::hash_internal::Fetch64 ( const char *  p)
static

◆ Fetch64() [2/2]

static uint64_t absl::hash_internal::Fetch64 ( const char *  p)
static

Definition at line 44 of file abseil-cpp/absl/hash/internal/city.cc.

◆ fmix() [1/2]

static uint32_t absl::hash_internal::fmix ( uint32_t  h)
static

◆ fmix() [2/2]

static uint32_t absl::hash_internal::fmix ( uint32_t  h)
static

Definition at line 62 of file abseil-cpp/absl/hash/internal/city.cc.

◆ Hash32Len0to4() [1/2]

static uint32_t absl::hash_internal::Hash32Len0to4 ( const char *  s,
size_t  len 
)
static

◆ Hash32Len0to4() [2/2]

static uint32_t absl::hash_internal::Hash32Len0to4 ( const char *  s,
size_t  len 
)
static

Definition at line 105 of file abseil-cpp/absl/hash/internal/city.cc.

◆ Hash32Len13to24() [1/2]

static uint32_t absl::hash_internal::Hash32Len13to24 ( const char *  s,
size_t  len 
)
static

◆ Hash32Len13to24() [2/2]

static uint32_t absl::hash_internal::Hash32Len13to24 ( const char *  s,
size_t  len 
)
static

Definition at line 93 of file abseil-cpp/absl/hash/internal/city.cc.

◆ Hash32Len5to12() [1/2]

static uint32_t absl::hash_internal::Hash32Len5to12 ( const char *  s,
size_t  len 
)
static

◆ Hash32Len5to12() [2/2]

static uint32_t absl::hash_internal::Hash32Len5to12 ( const char *  s,
size_t  len 
)
static

Definition at line 116 of file abseil-cpp/absl/hash/internal/city.cc.

◆ hash_bytes()

template<typename H , typename T >
H absl::hash_internal::hash_bytes ( H  hash_state,
const T value 
)

Definition at line 325 of file abseil-cpp/absl/hash/internal/hash.h.

◆ hash_range_or_bytes() [1/2]

template<typename H , typename T >
std::enable_if< is_uniquely_represented< T >::value, H >::type absl::hash_internal::hash_range_or_bytes ( H  hash_state,
const T data,
size_t  size 
)

Definition at line 817 of file abseil-cpp/absl/hash/internal/hash.h.

◆ hash_range_or_bytes() [2/2]

template<typename H , typename T >
std::enable_if<!is_uniquely_represented< T >::value, H >::type absl::hash_internal::hash_range_or_bytes ( H  hash_state,
const T data,
size_t  size 
)

Definition at line 825 of file abseil-cpp/absl/hash/internal/hash.h.

◆ hash_tuple()

template<typename H , typename Tuple , size_t... Is>
H absl::hash_internal::hash_tuple ( H  hash_state,
const Tuple &  t,
absl::index_sequence< Is... >   
)

Definition at line 474 of file abseil-cpp/absl/hash/internal/hash.h.

◆ HashLen0to16() [1/2]

static uint64_t absl::hash_internal::HashLen0to16 ( const char *  s,
size_t  len 
)
static

◆ HashLen0to16() [2/2]

static uint64_t absl::hash_internal::HashLen0to16 ( const char *  s,
size_t  len 
)
static

Definition at line 218 of file abseil-cpp/absl/hash/internal/city.cc.

◆ HashLen16() [1/4]

static uint64_t absl::hash_internal::HashLen16 ( uint64_t  u,
uint64_t  v 
)
static

◆ HashLen16() [2/4]

static uint64_t absl::hash_internal::HashLen16 ( uint64_t  u,
uint64_t  v 
)
static

Definition at line 213 of file abseil-cpp/absl/hash/internal/city.cc.

◆ HashLen16() [3/4]

static uint64_t absl::hash_internal::HashLen16 ( uint64_t  u,
uint64_t  v,
uint64_t  mul 
)
static

◆ HashLen16() [4/4]

static uint64_t absl::hash_internal::HashLen16 ( uint64_t  u,
uint64_t  v,
uint64_t  mul 
)
static

Definition at line 203 of file abseil-cpp/absl/hash/internal/city.cc.

◆ HashLen17to32() [1/2]

static uint64_t absl::hash_internal::HashLen17to32 ( const char *  s,
size_t  len 
)
static

Definition at line 245 of file abseil-cpp/absl/hash/internal/city.cc.

◆ HashLen17to32() [2/2]

static uint64_t absl::hash_internal::HashLen17to32 ( const char *  s,
size_t  len 
)
static

◆ HashLen33to64() [1/2]

static uint64_t absl::hash_internal::HashLen33to64 ( const char *  s,
size_t  len 
)
static

◆ HashLen33to64() [2/2]

static uint64_t absl::hash_internal::HashLen33to64 ( const char *  s,
size_t  len 
)
static

Definition at line 277 of file abseil-cpp/absl/hash/internal/city.cc.

◆ LowLevelHash() [1/2]

uint64_t absl::hash_internal::LowLevelHash ( const void *  data,
size_t  len,
uint64_t  seed,
const uint64_t  salt[5] 
)

◆ LowLevelHash() [2/2]

uint64_t absl::hash_internal::LowLevelHash ( const void *  data,
size_t  len,
uint64_t  seed,
const uint64_t  salt[] 
)

Definition at line 42 of file low_level_hash.cc.

◆ Mix()

static uint64_t absl::hash_internal::Mix ( uint64_t  v0,
uint64_t  v1 
)
static

Definition at line 25 of file low_level_hash.cc.

◆ Mur() [1/2]

static uint32_t absl::hash_internal::Mur ( uint32_t  a,
uint32_t  h 
)
static

Definition at line 83 of file abseil-cpp/absl/hash/internal/city.cc.

◆ Mur() [2/2]

static uint32_t absl::hash_internal::Mur ( uint32_t  a,
uint32_t  h 
)
static

◆ PiecewiseChunkSize()

constexpr size_t absl::hash_internal::PiecewiseChunkSize ( )
constexpr

Definition at line 67 of file abseil-cpp/absl/hash/internal/hash.h.

◆ Rotate() [1/2]

static uint64_t absl::hash_internal::Rotate ( uint64_t  val,
int  shift 
)
static

◆ Rotate() [2/2]

static uint64_t absl::hash_internal::Rotate ( uint64_t  val,
int  shift 
)
static

Definition at line 196 of file abseil-cpp/absl/hash/internal/city.cc.

◆ Rotate32() [1/2]

static uint32_t absl::hash_internal::Rotate32 ( uint32_t  val,
int  shift 
)
static

Definition at line 71 of file abseil-cpp/absl/hash/internal/city.cc.

◆ Rotate32() [2/2]

static uint32_t absl::hash_internal::Rotate32 ( uint32_t  val,
int  shift 
)
static

◆ setup()

void absl::hash_internal::setup ( )

◆ ShiftMix() [1/2]

static uint64_t absl::hash_internal::ShiftMix ( uint64_t  val)
static

◆ ShiftMix() [2/2]

static uint64_t absl::hash_internal::ShiftMix ( uint64_t  val)
static

Definition at line 201 of file abseil-cpp/absl/hash/internal/city.cc.

◆ TEST()

absl::hash_internal::TEST ( CityHashTest  ,
Unchanging   
)

◆ TestUnchanging()

void absl::hash_internal::TestUnchanging ( const uint64_t expected,
int  offset,
int  len 
)

◆ VerifyTypeImplementsAbslHashCorrectly()

template<typename Container , typename Eq >
ABSL_MUST_USE_RESULT testing::AssertionResult absl::hash_internal::VerifyTypeImplementsAbslHashCorrectly ( const Container &  values,
Eq  equals 
)

Definition at line 188 of file abseil-cpp/absl/hash/hash_testing.h.

◆ WeakHashLen32WithSeeds() [1/4]

static std::pair<uint64_t, uint64_t> absl::hash_internal::WeakHashLen32WithSeeds ( const char *  s,
uint64_t  a,
uint64_t  b 
)
static

◆ WeakHashLen32WithSeeds() [2/4]

static std::pair<uint64_t, uint64_t> absl::hash_internal::WeakHashLen32WithSeeds ( const char *  s,
uint64_t  a,
uint64_t  b 
)
static

Definition at line 269 of file abseil-cpp/absl/hash/internal/city.cc.

◆ WeakHashLen32WithSeeds() [3/4]

static std::pair<uint64_t, uint64_t> absl::hash_internal::WeakHashLen32WithSeeds ( uint64_t  w,
uint64_t  x,
uint64_t  y,
uint64_t  z,
uint64_t  a,
uint64_t  b 
)
static

Definition at line 257 of file abseil-cpp/absl/hash/internal/city.cc.

◆ WeakHashLen32WithSeeds() [4/4]

static std::pair<uint64_t, uint64_t> absl::hash_internal::WeakHashLen32WithSeeds ( uint64_t  w,
uint64_t  x,
uint64_t  y,
uint64_t  z,
uint64_t  a,
uint64_t  b 
)
static

◆ Wyhash() [1/2]

uint64_t absl::hash_internal::Wyhash ( const void *  data,
size_t  len,
uint64_t  seed,
const uint64_t  salt[5] 
)

◆ Wyhash() [2/2]

uint64_t absl::hash_internal::Wyhash ( const void *  data,
size_t  len,
uint64_t  seed,
const uint64_t  salt[] 
)

Definition at line 30 of file wyhash.cc.

◆ WyhashMix()

static uint64_t absl::hash_internal::WyhashMix ( uint64_t  v0,
uint64_t  v1 
)
static

Definition at line 24 of file wyhash.cc.

Variable Documentation

◆ c1 [1/2]

const uint32_t absl::hash_internal::c1 = 0xcc9e2d51
static

Definition at line 58 of file abseil-cpp/absl/hash/internal/city.cc.

◆ c1 [2/2]

const uint32_t absl::hash_internal::c1 = 0xcc9e2d51
static

◆ c2 [1/2]

const uint32_t absl::hash_internal::c2 = 0x1b873593
static

Definition at line 59 of file abseil-cpp/absl/hash/internal/city.cc.

◆ c2 [2/2]

const uint32_t absl::hash_internal::c2 = 0x1b873593
static

◆ data

char absl::hash_internal::data[kDataSize]
static

◆ k0 [1/3]

const uint64_t absl::hash_internal::k0 = 0xc3a5c85c97cb3127ULL
static

◆ k0 [2/3]

const uint64_t absl::hash_internal::k0 = 0xc3a5c85c97cb3127ULL
static

Definition at line 53 of file abseil-cpp/absl/hash/internal/city.cc.

◆ k0 [3/3]

const uint64_t absl::hash_internal::k0 = 0xc3a5c85c97cb3127ULL
static

◆ k1 [1/2]

const uint64_t absl::hash_internal::k1 = 0xb492b66fbe98f273ULL
static

◆ k1 [2/2]

const uint64_t absl::hash_internal::k1 = 0xb492b66fbe98f273ULL
static

Definition at line 54 of file abseil-cpp/absl/hash/internal/city.cc.

◆ k2 [1/2]

const uint64_t absl::hash_internal::k2 = 0x9ae16a3b2f90404fULL
static

◆ k2 [2/2]

const uint64_t absl::hash_internal::k2 = 0x9ae16a3b2f90404fULL
static

Definition at line 55 of file abseil-cpp/absl/hash/internal/city.cc.

◆ kDataSize

const int absl::hash_internal::kDataSize = 1 << 20
static

◆ kHashSalt

constexpr uint64_t absl::hash_internal::kHashSalt[5]
constexpr
Initial value:
= {
uint64_t{0x243F6A8885A308D3}, uint64_t{0x13198A2E03707344},
uint64_t{0xA4093822299F31D0}, uint64_t{0x082EFA98EC4E6C89},
uint64_t{0x452821E638D01377},
}

Definition at line 56 of file abseil-cpp/absl/hash/internal/hash.cc.

◆ kSeed0

const uint64_t absl::hash_internal::kSeed0 = 1234567
static

◆ kSeed1

const uint64_t absl::hash_internal::kSeed1 = k0
static

◆ kTestSize

const int absl::hash_internal::kTestSize = 300
static

◆ kWyhashSalt

constexpr uint64_t absl::hash_internal::kWyhashSalt[5]
constexpr
Initial value:
= {
uint64_t{0x243F6A8885A308D3}, uint64_t{0x13198A2E03707344},
uint64_t{0xA4093822299F31D0}, uint64_t{0x082EFA98EC4E6C89},
uint64_t{0x452821E638D01377},
}

Definition at line 58 of file bloaty/third_party/abseil-cpp/absl/hash/internal/hash.cc.

◆ testdata

const uint64_t absl::hash_internal::testdata[kTestSize][4]
static
uint64_t
unsigned __int64 uint64_t
Definition: stdint-msvc2008.h:90


grpc
Author(s):
autogenerated on Fri May 16 2025 03:02:51