一个封装xxhash调用的用于计算哈希的辅助类
更多...
#include <NBT_Hash.hpp>
|
|
using | HASH_T = XXH64_hash_t |
| | 类型别名,xxhash类型封装,类型必须是uint64_t
|
|
| | NBT_Hash (const HASH_T &tHashSeed) |
| | 通过哈希种子构造并初始化xxhash对象
|
|
| ~NBT_Hash (void) |
| | 析构并释放xxhash对象,然后置空
|
|
| NBT_Hash (const NBT_Hash &_Copy)=delete |
| | 禁止拷贝构造
|
| | NBT_Hash (NBT_Hash &&_Move) noexcept |
| | 移动构造
|
|
NBT_Hash & | operator= (const NBT_Hash &)=delete |
| | 禁止拷贝赋值
|
| NBT_Hash & | operator= (NBT_Hash &&_Move) noexcept |
| | 移动赋值
|
| HASH_T | Digest (void) const |
| | 根据之前已添加的数据,获取当前的哈希值
|
| void | Update (const void *pData, size_t szSize) |
| | 添加指针指向的数据更新哈希
|
template<typename T>
requires (std::is_trivially_copyable_v<T>) |
| void | Update (const T &tData) |
| | 通过可平凡复制类型更新哈希
|
template<typename T, size_t N>
requires (std::is_trivially_copyable_v<T>) |
| void | Update (const T(&tDataArr)[N]) |
| | 通过可平凡复制类型的数组更新哈希
|
|
| static HASH_T | Hash (const void *pData, size_t szSize, HASH_T tHashSeed) |
| | 直接通过指针指向的数据获取哈希
|
template<typename T>
requires (std::is_trivially_copyable_v<T>) |
| static HASH_T | Hash (const T &tData, HASH_T tHashSeed) |
| | 直接通过可平凡复制类型获取哈希
|
template<typename T, size_t N>
requires (std::is_trivially_copyable_v<T>) |
| static HASH_T | Hash (const T(&tDataArr)[N], HASH_T tHashSeed) |
| | 直接通过可平凡复制类型的数组获取哈希
|
一个封装xxhash调用的用于计算哈希的辅助类
- 注解
- 该类仅在安装xxhash的情况下有效
◆ NBT_Hash() [1/2]
| NBT_Hash::NBT_Hash |
( |
const HASH_T & | tHashSeed | ) |
|
|
inline |
◆ NBT_Hash() [2/2]
◆ Digest()
| HASH_T NBT_Hash::Digest |
( |
void | | ) |
const |
|
inline |
根据之前已添加的数据,获取当前的哈希值
- 返回
- 哈希值
◆ Hash() [1/3]
template<typename T>
requires (std::is_trivially_copyable_v<T>)
直接通过可平凡复制类型获取哈希
- 模板参数
-
- 参数
-
| tData | 可平凡复制类型的引用 |
| tHashSeed | 哈希种子 |
- 返回
- 计算的哈希值
- 注解
- 自动获取类型字节数并直接计算后返回,无状态,静态函数
◆ Hash() [2/3]
template<typename T, size_t N>
requires (std::is_trivially_copyable_v<T>)
| HASH_T NBT_Hash::Hash |
( |
const T(&) | tDataArr[N], |
|
|
HASH_T | tHashSeed ) |
|
inlinestatic |
直接通过可平凡复制类型的数组获取哈希
- 模板参数
-
- 参数
-
| tDataArr | 可平凡复制类型的数组引用 |
| tHashSeed | 哈希种子 |
- 返回
- 计算的哈希值
- 注解
- 自动获取数组字节数并直接计算后返回,无状态,静态函数
◆ Hash() [3/3]
| HASH_T NBT_Hash::Hash |
( |
const void * | pData, |
|
|
size_t | szSize, |
|
|
HASH_T | tHashSeed ) |
|
inlinestatic |
直接通过指针指向的数据获取哈希
- 参数
-
| pData | 数据指针 |
| szSize | 数据大小(字节) |
| tHashSeed | 哈希种子 |
- 返回
- 计算的哈希值
- 注解
- 直接计算并返回,无状态,静态函数
◆ operator=()
◆ Update() [1/3]
template<typename T>
requires (std::is_trivially_copyable_v<T>)
| void NBT_Hash::Update |
( |
const T & | tData | ) |
|
|
inline |
通过可平凡复制类型更新哈希
- 模板参数
-
- 参数
-
- 注解
- 自动计算类型字节数并更新哈希
◆ Update() [2/3]
template<typename T, size_t N>
requires (std::is_trivially_copyable_v<T>)
| void NBT_Hash::Update |
( |
const T(&) | tDataArr[N] | ) |
|
|
inline |
通过可平凡复制类型的数组更新哈希
- 模板参数
-
- 参数
-
- 注解
- 自动计算数组字节数并更新哈希
◆ Update() [3/3]
| void NBT_Hash::Update |
( |
const void * | pData, |
|
|
size_t | szSize ) |
|
inline |
添加指针指向的数据更新哈希
- 参数
-
- 注解
- 通过指针访问指定字节数并更新哈希
该类的文档由以下文件生成: