libjmmcg  build_2783
A C++ library containing an eclectic mix of useful, advanced components.
jmmcg::hashers::mpl::hsieh< A, L > Struct Template Reference

An implementation of the Hsieh hash function. More...

#include <hash.hpp>

Inherits unary_function< A, std::size_t >.

Public Types

typedef std::unary_function< A, std::size_t >::result_type result_type
 
typedef std::unary_function< A, std::size_t >::argument_type argument_type
 
typedef private_::hashed_unit_t hashed_unit_t
 

Public Member Functions

result_type __fastcall FORCE_INLINE operator() (const argument_type &d) const noexcept(true)
 Generate the hash of the value. More...
 

Static Public Attributes

static constexpr unsigned long length =L
 

Detailed Description

template<typename A, unsigned long L>
struct jmmcg::hashers::mpl::hsieh< A, L >

An implementation of the Hsieh hash function.

From . Using template meta-programming to unroll the hashing loop. \see hashing::hsieh

Definition at line 293 of file hash.hpp.

Member Typedef Documentation

◆ argument_type

template<typename A , unsigned long L>
typedef std::unary_function<A, std::size_t>::argument_type jmmcg::hashers::mpl::hsieh< A, L >::argument_type

Definition at line 295 of file hash.hpp.

◆ hashed_unit_t

template<typename A , unsigned long L>
typedef private_::hashed_unit_t jmmcg::hashers::mpl::hsieh< A, L >::hashed_unit_t

Definition at line 296 of file hash.hpp.

◆ result_type

template<typename A , unsigned long L>
typedef std::unary_function<A, std::size_t>::result_type jmmcg::hashers::mpl::hsieh< A, L >::result_type

Definition at line 294 of file hash.hpp.

Member Function Documentation

◆ operator()()

template<typename A , unsigned long L>
result_type __fastcall FORCE_INLINE jmmcg::hashers::mpl::hsieh< A, L >::operator() ( const argument_type d) const
inlinenoexcept

Generate the hash of the value.

Parameters
dAn STL-container type holding the value to be hashed.
Returns
The hash of the value.

Definition at line 308 of file hash.hpp.

Member Data Documentation

◆ length

template<typename A , unsigned long L>
constexpr unsigned long jmmcg::hashers::mpl::hsieh< A, L >::length =L
staticconstexpr

Definition at line 297 of file hash.hpp.


The documentation for this struct was generated from the following file: