16 #ifndef ALEXA_CLIENT_SDK_AVSCOMMON_UTILS_INCLUDE_AVSCOMMON_UTILS_FUNCTIONAL_HASH_H_ 17 #define ALEXA_CLIENT_SDK_AVSCOMMON_UTILS_INCLUDE_AVSCOMMON_UTILS_FUNCTIONAL_HASH_H_ 26 namespace functional {
36 template <
typename Type>
38 constexpr
int bitsMinus1 = (CHAR_BIT *
sizeof(size_t)) - 1;
39 std::hash<Type> hasher;
40 seed = hasher(value) ^ ((seed << 1) | ((seed >> bitsMinus1) & 1));
54 return static_cast<std::size_t
>(t);
63 #endif // ALEXA_CLIENT_SDK_AVSCOMMON_UTILS_INCLUDE_AVSCOMMON_UTILS_FUNCTIONAL_HASH_H_ void hashCombine(size_t &seed, Type const &value)
Definition: hash.h:37
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
Type
Definition: Type.h:26
std::size_t operator()(T t) const
Definition: hash.h:53