|
static u_integer | fnv1a (const byte *data, u_integer size) noexcept |
| FNV-1a hash implementation for raw byte data.
|
|
template<typename T> |
static u_integer | hashFunc (const T &t) noexcept |
| Default hash function fallback.
|
|
template<isHashable T> |
static u_integer | hashFunc (const T &t) noexcept |
| Hash function for types satisfying the isHashable concept.
|
|
template<std::integral T> |
static u_integer | hashFunc (const T &t) noexcept |
| Hash function specialization for integral types.
|
|
template<typename T> |
static u_integer | hashFunc (T *const &t) noexcept |
| Hash function for pointers.
|
|
static u_integer | hashFunc (const std::nullptr_t &null) noexcept |
| Hash function for nullptr.
|
|
static u_integer | hashFunc (const char &t) noexcept |
| Hash function for single character.
|
|
static u_integer | hashFunc (const char *str) noexcept |
| Hash function for C-style strings.
|
|
static u_integer | hashFunc (const std::string &str) noexcept |
| Hash function for std::string.
|
|
template<typename TYPE>
class original::hash< TYPE >
Forward declaration of hash class template.
Generic hash function object supporting multiple types.
- Template Parameters
-
TYPE | The type for which the hash function object is defined. |
TYPE | The type for which the hash function object is defined |
Provides:
- FNV-1a hash algorithm implementation
- Specialized hash functions for common types
- Fallback implementations for arbitrary types
- Consistent hashing interface via operator()
Supported Types:
- Integral types (direct casting)
- Pointers (address-based hashing)
- Strings (FNV-1a over characters)
- Trivially copyable types (byte-wise hashing)
- Types implementing hashable interface