kblib 0.2.3
General utilities library for modern C++
kblib::FNV_hash< Container, HashInt, void_if_t< value_detected< Container >::value and is_hashable_v< value_detected_t< Container > > and not hash_detected< Container >::value and is_iterable< Container >::value and not(is_contiguous< Container >::value and is_trivially_hashable_v< typename Container::value_type >) and not is_iterator_v< Container > > > Struct Template Reference

Container hasher, for non-trivial elements (or non-contiguous storage) More...

#include <kblib/hash.h>

Public Member Functions

constexpr auto operator() (const Container &key, HashInt offset=fnv::fnv_offset< HashInt >::value) const noexcept -> HashInt
 

Detailed Description

template<typename Container, typename HashInt>
struct kblib::FNV_hash< Container, HashInt, void_if_t< value_detected< Container >::value and is_hashable_v< value_detected_t< Container > > and not hash_detected< Container >::value and is_iterable< Container >::value and not(is_contiguous< Container >::value and is_trivially_hashable_v< typename Container::value_type >) and not is_iterator_v< Container > > >

Container hasher, for non-trivial elements (or non-contiguous storage)

Definition at line 586 of file hash.h.

Member Function Documentation

◆ operator()()

template<typename Container , typename HashInt >
constexpr auto kblib::FNV_hash< Container, HashInt, void_if_t< value_detected< Container >::value and is_hashable_v< value_detected_t< Container > > and not hash_detected< Container >::value and is_iterable< Container >::value and not(is_contiguous< Container >::value and is_trivially_hashable_v< typename Container::value_type >) and not is_iterator_v< Container > > >::operator() ( const Container &  key,
HashInt  offset = fnv::fnv_offset<HashInt>::value 
) const -> HashInt
inlineconstexprnoexcept

Definition at line 596 of file hash.h.


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