class MixingHashState

Defined at line 995 of file ../../third_party/abseil-cpp/absl/hash/internal/hash.h

MixingHashState

Public Methods

void MixingHashState (MixingHashState && )

Move only

Defined at line 1014 of file ../../third_party/abseil-cpp/absl/hash/internal/hash.h

MixingHashState & operator= (MixingHashState && )

Defined at line 1015 of file ../../third_party/abseil-cpp/absl/hash/internal/hash.h

MixingHashState combine_contiguous (MixingHashState hash_state, const unsigned char * first, size_t size)

MixingHashState::combine_contiguous()

Fundamental base case for hash recursion: mixes the given range of bytes

into the hash state.

Defined at line 1021 of file ../../third_party/abseil-cpp/absl/hash/internal/hash.h

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

MixingHashState::hash()

For performance reasons in non-opt mode, we specialize this for

integral types.

Otherwise we would be instantiating and calling dozens of functions for

something that is just one multiplication and a couple xor's.

The result should be the same as running the whole algorithm, but faster.

Defined at line 1038 of file ../../third_party/abseil-cpp/absl/hash/internal/hash.h

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

Overload of MixingHashState::hash()

Defined at line 1045 of file ../../third_party/abseil-cpp/absl/hash/internal/hash.h

Friends

class HashState
class HashStateBase