kblib 0.2.3
General utilities library for modern C++
kblib::FNV_hash< T, HashInt, void_if_t<(std::is_base_of< std::forward_iterator_tag, typename std::iterator_traits< T >::iterator_category >::value and not std::is_pointer< T >::value and not is_trivially_hashable_v< T > and std::is_pointer< typename fakestd::invoke_result< decltype(&T::operator->), T >::type >::value)> > Struct Template Reference

Hasher for any forward iterator type. More...

#include <kblib/hash.h>

Public Member Functions

auto operator() (T key_in, HashInt offset=fnv::fnv_offset< HashInt >::value) const noexcept -> HashInt
 

Detailed Description

template<typename T, typename HashInt>
struct kblib::FNV_hash< T, HashInt, void_if_t<(std::is_base_of< std::forward_iterator_tag, typename std::iterator_traits< T >::iterator_category >::value and not std::is_pointer< T >::value and not is_trivially_hashable_v< T > and std::is_pointer< typename fakestd::invoke_result< decltype(&T::operator->), T >::type >::value)> >

Hasher for any forward iterator type.

Note
Unfortunately, this specialization cannot be constexpr.

Definition at line 482 of file hash.h.

Member Function Documentation

◆ operator()()

template<typename T , typename HashInt >
auto kblib::FNV_hash< T, HashInt, void_if_t<(std::is_base_of< std::forward_iterator_tag, typename std::iterator_traits< T >::iterator_category >::value and not std::is_pointer< T >::value and not is_trivially_hashable_v< T > and std::is_pointer< typename fakestd::invoke_result< decltype(&T::operator->), T >::type >::value)> >::operator() ( key_in,
HashInt  offset = fnv::fnv_offset<HashInt>::value 
) const -> HashInt
inlinenoexcept

Definition at line 490 of file hash.h.


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