NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
hash.hpp 文件参考

哈希函数库 更多...

hash.hpp 的引用(Include)关系图:

浏览该文件的源代码.

struct  hash< T * >
 指针类型的哈希特化 更多...
struct  hash< T, enable_if_t< is_enum_v< T > > >
 枚举类型的哈希特化 更多...
struct  murmur_hash
 MurmurHash_x64的128位哈希结果容器 更多...
struct  is_nothrow_hashable< Key, Dummy >
 判断类型是否可无异常哈希 更多...
struct  is_hash< Func, Arg, Dummy >
 判断类型是否为有效的哈希函数 更多...

函数

NEFORCE_CONSTEXPR14 size_t FNV_hash (const byte_t *first, const size_t count) noexcept
 FNV-1a哈希算法
template<typename T>
NEFORCE_CONSTEXPR14 size_t FNV_hash_integer (const T value) noexcept
 整数类型的FNV哈希
template<typename CharT>
NEFORCE_CONSTEXPR14 size_t FNV_hash_string (const CharT *str, const size_t len) noexcept
 字符串类型的FNV哈希
NEFORCE_CONSTEXPR14 size_t DJB2_hash (const char *str, const size_t len) noexcept
 DJB2哈希算法
murmur_hash NEFORCE_API MurmurHash_x64 (const void *key, size_t len, uint32_t seed) noexcept
 MurmurHash3_x64_128算法
uint32_t NEFORCE_API MurmurHash_x32 (const void *key, size_t len, uint32_t seed) noexcept
 MurmurHash3_x86_32算法

变量

NEFORCE_INLINE17 constexpr size_t FNV_OFFSET_BASIS
 FNV哈希算法的偏移基础值
NEFORCE_INLINE17 constexpr size_t FNV_PRIME = 16777619U
 FNV哈希算法的质数乘数
template<typename Key>
NEFORCE_INLINE17 constexpr bool is_nothrow_hashable_v = is_nothrow_hashable<Key>::value
 is_nothrow_hashable的便捷变量模板
template<typename Func, typename Arg>
constexpr bool is_hash_v = is_hash<Func, Arg>::value
 is_hash的便捷变量模板

详细描述

哈希函数库

此文件提供了各种哈希算法的实现,包括FNV-1a、DJB2和MurmurHash等, 以及基本数据类型的哈希函数特化。支持编译时哈希计算和运行时高效哈希。

对基本类型的哈希特化将不展示在文档内,有需要可自行查看本文件内容。

在文件 hash.hpp 中定义.