ImFusion SDK 4.3
ImFusion::Hashing Namespace Reference

Tools and functions to compute non-cryptographics hashes, for instance to use them in std::unordered_map. More...

Detailed Description

Tools and functions to compute non-cryptographics hashes, for instance to use them in std::unordered_map.

See also
ImFusionCoreHashing

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.
 
Search Tab / S to search, Esc to close