Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
absl::hash_internal::CityHashState Class Reference

#include <hash.h>

Inheritance diagram for absl::hash_internal::CityHashState:
Inheritance graph
[legend]

Public Member Functions

 CityHashState (CityHashState &&)=default
 
CityHashStateoperator= (CityHashState &&)=default
 

Static Public Member Functions

static CityHashState combine_contiguous (CityHashState hash_state, const unsigned char *first, size_t size)
 
template<typename T , absl::enable_if_t< IntegralFastPath< T >::value, int > = 0>
static size_t hash (T value)
 
template<typename T , absl::enable_if_t<!IntegralFastPath< T >::value, int > = 0>
static size_t hash (const T &value)
 
- Static Public Member Functions inherited from absl::hash_internal::HashStateBase< CityHashState >
static CityHashState combine (CityHashStatestate, const T &value, const Ts &...values)
 
static CityHashState combine (CityHashStatestate)
 
static CityHashState combine_contiguous (CityHashStatestate, const T *data, size_t size)
 

Private Types

template<typename T >
using IntegralFastPath = conjunction< std::is_integral< T >, is_uniquely_represented< T >>
 
using uint128 = absl::uint128
 

Private Member Functions

 CityHashState ()
 
 CityHashState (const CityHashState &)=default
 
 CityHashState (uint64_t state)
 

Static Private Member Functions

static uint64_t CombineContiguousImpl (uint64_t state, const unsigned char *first, size_t len, std::integral_constant< int, 4 >)
 
static uint64_t CombineContiguousImpl (uint64_t state, const unsigned char *first, size_t len, std::integral_constant< int, 8 >)
 
static ABSL_ATTRIBUTE_ALWAYS_INLINE uint64_t Mix (uint64_t state, uint64_t v)
 
static uint32_t Read1To3 (const unsigned char *p, size_t len)
 
static uint64_t Read4To8 (const unsigned char *p, size_t len)
 
static std::pair< uint64_t, uint64_t > Read9To16 (const unsigned char *p, size_t len)
 
static ABSL_ATTRIBUTE_ALWAYS_INLINE uint64_t Seed ()
 

Private Attributes

uint64_t state_
 

Static Private Attributes

static constexpr uint64_t kMul
 
static const void *const kSeed = &kSeed
 

Detailed Description

Definition at line 633 of file internal/hash.h.

Member Typedef Documentation

template<typename T >
using absl::hash_internal::CityHashState::IntegralFastPath = conjunction<std::is_integral<T>, is_uniquely_represented<T>>
private

Definition at line 647 of file internal/hash.h.

Definition at line 639 of file internal/hash.h.

Constructor & Destructor Documentation

absl::hash_internal::CityHashState::CityHashState ( CityHashState &&  )
default
absl::hash_internal::CityHashState::CityHashState ( )
inlineprivate

Definition at line 688 of file internal/hash.h.

absl::hash_internal::CityHashState::CityHashState ( const CityHashState )
privatedefault
absl::hash_internal::CityHashState::CityHashState ( uint64_t  state)
inlineexplicitprivate

Definition at line 696 of file internal/hash.h.

Member Function Documentation

static CityHashState absl::hash_internal::CityHashState::combine_contiguous ( CityHashState  hash_state,
const unsigned char *  first,
size_t  size 
)
inlinestatic

Definition at line 658 of file internal/hash.h.

uint64_t absl::hash_internal::CityHashState::CombineContiguousImpl ( uint64_t  state,
const unsigned char *  first,
size_t  len,
std::integral_constant< int, 4 >   
)
inlinestaticprivate

Definition at line 771 of file internal/hash.h.

uint64_t absl::hash_internal::CityHashState::CombineContiguousImpl ( uint64_t  state,
const unsigned char *  first,
size_t  len,
std::integral_constant< int, 8 >   
)
inlinestaticprivate

Definition at line 791 of file internal/hash.h.

template<typename T , absl::enable_if_t< IntegralFastPath< T >::value, int > = 0>
static size_t absl::hash_internal::CityHashState::hash ( value)
inlinestatic

Definition at line 675 of file internal/hash.h.

template<typename T , absl::enable_if_t<!IntegralFastPath< T >::value, int > = 0>
static size_t absl::hash_internal::CityHashState::hash ( const T &  value)
inlinestatic

Definition at line 681 of file internal/hash.h.

static ABSL_ATTRIBUTE_ALWAYS_INLINE uint64_t absl::hash_internal::CityHashState::Mix ( uint64_t  state,
uint64_t  v 
)
inlinestaticprivate

Definition at line 734 of file internal/hash.h.

CityHashState& absl::hash_internal::CityHashState::operator= ( CityHashState &&  )
default
static uint32_t absl::hash_internal::CityHashState::Read1To3 ( const unsigned char *  p,
size_t  len 
)
inlinestaticprivate

Definition at line 728 of file internal/hash.h.

static uint64_t absl::hash_internal::CityHashState::Read4To8 ( const unsigned char *  p,
size_t  len 
)
inlinestaticprivate

Definition at line 721 of file internal/hash.h.

static std::pair<uint64_t, uint64_t> absl::hash_internal::CityHashState::Read9To16 ( const unsigned char *  p,
size_t  len 
)
inlinestaticprivate

Definition at line 714 of file internal/hash.h.

static ABSL_ATTRIBUTE_ALWAYS_INLINE uint64_t absl::hash_internal::CityHashState::Seed ( )
inlinestaticprivate

Definition at line 762 of file internal/hash.h.

Member Data Documentation

constexpr uint64_t absl::hash_internal::CityHashState::kMul
staticprivate
Initial value:
=
sizeof(size_t) == 4 ? uint64_t{0xcc9e2d51} : uint64_t{0x9ddfea08eb382d69}

Definition at line 642 of file internal/hash.h.

ABSL_CONST_INIT const void *const absl::hash_internal::CityHashState::kSeed = &kSeed
staticprivate

Definition at line 765 of file internal/hash.h.

uint64_t absl::hash_internal::CityHashState::state_
private

Definition at line 767 of file internal/hash.h.


The documentation for this class was generated from the following files:


abseil_cpp
Author(s):
autogenerated on Wed Jun 19 2019 19:19:59