Classes | |
| struct | AggregateBarrier |
| class | CityHashState |
| struct | ContainerAsVector |
| struct | ContainerAsVector< std::tuple< T... > > |
| struct | ContainerAsVector< std::tuple<> > |
| struct | DefaultEquals |
| struct | EqVisitor |
| struct | ExpandVisitor |
| struct | Hash |
| struct | HashImpl |
| struct | HashSelect |
| 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... > |
| struct | OdrUse |
| struct | PoisonedHash |
| struct | PrintVisitor |
| struct | RunOnStartup |
| class | SpyHashStateImpl |
| struct | TypeSet |
| struct | VariantVisitor |
Typedefs | |
| using | SpyHashState = SpyHashStateImpl< void > |
| typedef std::pair< uint64_t, uint64_t > | uint128 |
| template<typename... T> | |
| using | VariantForTypes = typename MakeTypeSet< const typename std::decay< T >::type *... >::template apply< absl::variant > |
Functions | |
| template<typename H , typename B > | |
| std::enable_if< std::is_same< B, bool >::value, H >::type | AbslHashValue (H hash_state, B value) |
| 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 &) |
| 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 , typename T > | |
| H | AbslHashValue (H hash_state, T *ptr) |
| template<typename H > | |
| H | AbslHashValue (H hash_state, std::nullptr_t) |
| 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... 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 T > | |
| H | AbslHashValue (H hash_state, const std::shared_ptr< T > &ptr) |
| template<typename H > | |
| H | AbslHashValue (H hash_state, absl::string_view str) |
| 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 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 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 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::set< Key, Compare, Allocator > &set) |
| 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 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) |
| 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 uint64_t | Fetch64 (const char *p) |
| static uint32_t | fmix (uint32_t h) |
| uint64_t | Hash128to64 (const uint128 &x) |
| static uint32_t | Hash32Len0to4 (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) |
| 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 | HashLen16 (uint64_t u, uint64_t v) |
| 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 | HashLen33to64 (const char *s, size_t len) |
| static uint32_t | Mur (uint32_t a, uint32_t h) |
| static uint64_t | Rotate (uint64_t val, int shift) |
| static uint32_t | Rotate32 (uint32_t val, int shift) |
| void | setup () |
| static uint64_t | ShiftMix (uint64_t val) |
| TEST (CityHashTest, Unchanging) | |
| void | TestUnchanging (const uint64_t *expected, int offset, int len) |
| uint64_t | Uint128High64 (const uint128 &x) |
| uint64_t | Uint128Low64 (const uint128 &x) |
| template<typename Container , typename Eq > | |
| ABSL_MUST_USE_RESULT testing::AssertionResult | VerifyTypeImplementsAbslHashCorrectly (const Container &values, Eq equals) |
| static std::pair< uint64_t, uint64_t > | WeakHashLen32WithSeeds (uint64_t w, uint64_t x, uint64_t y, uint64_t z, uint64_t a, uint64_t b) |
| static std::pair< uint64_t, uint64_t > | WeakHashLen32WithSeeds (const char *s, uint64_t a, uint64_t b) |
Variables | |
| static const uint32_t | c1 = 0xcc9e2d51 |
| 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 | k1 = 0xb492b66fbe98f273ULL |
| static const uint64_t | k2 = 0x9ae16a3b2f90404fULL |
| static const int | kDataSize = 1 << 20 |
| static const uint64_t | kSeed0 = 1234567 |
| static const uint64_t | kSeed1 = k0 |
| static const int | kTestSize = 300 |
| static const uint64_t | testdata [kTestSize][4] |
| using absl::hash_internal::SpyHashState = typedef SpyHashStateImpl<void> |
Definition at line 211 of file spy_hash_state.h.
| typedef std::pair<uint64_t, uint64_t> absl::hash_internal::uint128 |
| using absl::hash_internal::VariantForTypes = typedef typename MakeTypeSet< const typename std::decay<T>::type*...>::template apply<absl::variant> |
Definition at line 299 of file hash_testing.h.
| std::enable_if<std::is_same<B, bool>::value, H>::type absl::hash_internal::AbslHashValue | ( | H | hash_state, |
| B | value | ||
| ) |
Definition at line 204 of file internal/hash.h.
| void absl::hash_internal::AbslHashValue | ( | SpyHashStateImpl< T > | , |
| const U & | |||
| ) |
| std::enable_if<std::is_enum<Enum>::value, H>::type absl::hash_internal::AbslHashValue | ( | H | hash_state, |
| Enum | e | ||
| ) |
Definition at line 212 of file internal/hash.h.
| 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 227 of file internal/hash.h.
| std::enable_if<std::is_same<LongDouble, long double>::value, H>::type absl::hash_internal::AbslHashValue | ( | H | hash_state, |
| LongDouble | value | ||
| ) |
Definition at line 238 of file internal/hash.h.
| H absl::hash_internal::AbslHashValue | ( | H | hash_state, |
| T * | ptr | ||
| ) |
Definition at line 269 of file internal/hash.h.
| H absl::hash_internal::AbslHashValue | ( | H | hash_state, |
| std::nullptr_t | |||
| ) |
Definition at line 280 of file internal/hash.h.
| 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 299 of file internal/hash.h.
| 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 321 of file internal/hash.h.
| H absl::hash_internal::AbslHashValue | ( | H | hash_state, |
| const std::unique_ptr< T, D > & | ptr | ||
| ) |
Definition at line 332 of file internal/hash.h.
| H absl::hash_internal::AbslHashValue | ( | H | hash_state, |
| const std::shared_ptr< T > & | ptr | ||
| ) |
Definition at line 338 of file internal/hash.h.
| H absl::hash_internal::AbslHashValue | ( | H | hash_state, |
| absl::string_view | str | ||
| ) |
Definition at line 360 of file internal/hash.h.
| 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 372 of file internal/hash.h.
| 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 380 of file internal/hash.h.
| 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 392 of file internal/hash.h.
| 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 404 of file internal/hash.h.
| 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 419 of file internal/hash.h.
| 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 434 of file internal/hash.h.
| 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 446 of file internal/hash.h.
| 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 456 of file internal/hash.h.
| 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 466 of file internal/hash.h.
| std::enable_if<is_hashable<T>::value, H>::type absl::hash_internal::AbslHashValue | ( | H | hash_state, |
| const absl::optional< T > & | opt | ||
| ) |
Definition at line 480 of file internal/hash.h.
| 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 499 of file internal/hash.h.
| uint32_t absl::hash_internal::CityHash32 | ( | const char * | s, |
| size_t | len | ||
| ) |
| uint64_t absl::hash_internal::CityHash64 | ( | const char * | s, |
| size_t | len | ||
| ) |
| uint64_t absl::hash_internal::CityHash64WithSeed | ( | const char * | s, |
| size_t | len, | ||
| uint64_t | seed | ||
| ) |
| uint64_t absl::hash_internal::CityHash64WithSeeds | ( | const char * | s, |
| size_t | len, | ||
| uint64_t | seed0, | ||
| uint64_t | seed1 | ||
| ) |
|
static |
|
static |
|
static |
|
inline |
|
static |
|
static |
|
static |
| H absl::hash_internal::hash_bytes | ( | H | hash_state, |
| const T & | value | ||
| ) |
Definition at line 185 of file internal/hash.h.
| 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 523 of file internal/hash.h.
| 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 531 of file internal/hash.h.
| H absl::hash_internal::hash_tuple | ( | H | hash_state, |
| const Tuple & | t, | ||
| absl::index_sequence< Is... > | |||
| ) |
Definition at line 308 of file internal/hash.h.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
| void absl::hash_internal::setup | ( | ) |
Definition at line 34 of file city_test.cc.
|
static |
| absl::hash_internal::TEST | ( | CityHashTest | , |
| Unchanging | |||
| ) |
Definition at line 583 of file city_test.cc.
| void absl::hash_internal::TestUnchanging | ( | const uint64_t * | expected, |
| int | offset, | ||
| int | len | ||
| ) |
Definition at line 575 of file city_test.cc.
|
inline |
|
inline |
| ABSL_MUST_USE_RESULT testing::AssertionResult absl::hash_internal::VerifyTypeImplementsAbslHashCorrectly | ( | const Container & | values, |
| Eq | equals | ||
| ) |
Definition at line 187 of file hash_testing.h.
|
static |
|
static |
|
static |
Definition at line 31 of file city_test.cc.
|
static |
Definition at line 25 of file city_test.cc.
|
static |
|
static |
|
static |
|
static |
Definition at line 28 of file city_test.cc.
|
static |
Definition at line 26 of file city_test.cc.
|
static |
Definition at line 27 of file city_test.cc.
|
static |
Definition at line 29 of file city_test.cc.
|
static |
Definition at line 48 of file city_test.cc.