nCine/Base/HashFunctions.h file

Namespaces

namespace nCine
Root namespace of nCine game engine.

Classes

template<class K>
class nCine::FixedHashFunc
Hash function returning always the first hashmap bucket, for debug purposes.
template<class K, unsigned int Value>
class nCine::ModuloHashFunc
Hash function returning the modulo of the key, for debug purposes.
template<class K>
class nCine::IdentityHashFunc
Hash function returning the key unchanged.
template<class K>
class nCine::SaxHashFunc
Shift-Add-XOR hash function.
template<class K>
class nCine::JenkinsHashFunc
Jenkins hash function.
template<class K>
class nCine::FNV1aHashFunc
Fowler-Noll-Vo Hash (FNV-1a)
template<class K>
class nCine::FastHashFunc
Fast-hash.
template<class K>
class nCine::CityHash32Func
CityHash hash function (32-bit)
template<class K>
class nCine::CityHash64Func
CityHash hash function (64-bit)

Typedefs

using hash_t = std::uint32_t
using hash64_t = std::uint64_t

Functions

auto fasthash64(const void* buf, size_t len, uint64_t seed) -> uint64_t
auto fasthash32(const void* buf, size_t len, uint32_t seed) -> uint32_t
auto CityHash64(const char* s, std::size_t len) -> std::uint64_t
CityHash.
auto CityHash64WithSeed(const char* s, std::size_t len, std::uint64_t seed) -> std::uint64_t
auto CityHash64WithSeeds(const char* s, std::size_t len, std::uint64_t seed0, std::uint64_t seed1) -> std::uint64_t
auto CityHash32(const char* s, std::size_t len) -> std::uint32_t

Variables

const hash_t NullHash