VCCC  2024.05
VisualCamp Common C++ library
hash_array.hpp File Reference
#include <climits>
#include <cstddef>
#include <type_traits>

Go to the source code of this file.

Classes

struct  basic_FNV_prime< T, 32 >
 
struct  basic_FNV_prime< T, 64 >
 
struct  basic_FNV_offset_basis< T, 32 >
 
struct  basic_FNV_offset_basis< T, 64 >
 

Namespaces

 vccc
 

Typedefs

using FNV_prime = basic_FNV_prime< std::size_t >
 
using FNV_offset_basis = basic_FNV_offset_basis< std::size_t >
 

Functions

template<typename T >
std::size_t FNV_1 (std::size_t value, const T &byte)
 
std::size_t FNV_1 (std::size_t value, const unsigned char *const bytes, std::size_t size)
 
template<typename T >
std::size_t FNV_1a (std::size_t value, const T &byte)
 
std::size_t FNV_1a (std::size_t value, const unsigned char *const bytes, std::size_t size)
 
template<typename T >
std::size_t hash_array (const T *bytes, std::size_t size)
 
template<typename T , std::size_t N>
std::size_t hash_array (const T(&bytes)[N])