![]() |
ImFusion SDK 4.3
|
Tools and functions to compute non-cryptographics hashes, for instance to use them in std::unordered_map
.
More...
Tools and functions to compute non-cryptographics hashes, for instance to use them in std::unordered_map
.
Classes | |
struct | EigenHasher |
STL-compatible hasher for dense Eigen types (matrices, vectors, arrays). More... | |
struct | GenericHasher |
STL-compatible hasher for custom classes where you list the members to be hashed as template parameters. More... | |
Functions | |
uint64_t | murmur64 (const ByteBufferView &buffer) noexcept |
Computes the non-cryptographic 64-bit MurmurHash2 on the input data. | |
uint64_t | djb2 (const ByteBufferView &data) noexcept |
Computes the djb2 hash value of the input data. | |
template<typename T> | |
uint64_t | combineHash (uint64_t seed, const T &object) noexcept |
Computes the hash of object using std::hash<T> and combines it with an already existing 64bit hash. | |
template<> | |
uint64_t | combineHash (uint64_t seed, const uint64_t &hashToAdd) noexcept |
Combines existing 64bit hashes. | |
template<typename... Ts> | |
uint64_t | genericHash (const Ts &... objects) noexcept |
Convenience function to compute the combined hash of an arbitrary number of inputs. | |