hash_mix

namespace eos
class hash_mix
#include <hash_mix.h>

This is a helper class for incrementally-computed implementation of Bob Jenkins’ one-at-a-time hash, in C++. It’s needed in hash function.

Public Functions

inline hash_mix()
inline uint32_t result() const
inline void mix(bool val)
inline void mix(double val)
inline void mix(float val)
inline void mix(uint8_t val)
inline void mix(uint16_t val)
inline void mix(uint32_t val)
inline void mix(uint64_t val)
inline void mix(int8_t val)
inline void mix(int16_t val)
inline void mix(int32_t val)
inline void mix(int64_t val)
inline void mix(std::string const &val)
template<typename T>
inline std::enable_if<std::is_enum<T>::value>::type mix(T const &t)
template<typename T>
inline std::enable_if<std::is_integral<T>::value>::type mix(T const &t)
template<typename T>
inline std::enable_if<!std::is_integral<T>::value && !std::is_enum<T>::value>::type mix(T const &t)
inline void mix_bytes(uint8_t const *key, int len)

Private Members

uint32_t val_