\hypertarget{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01void_00_01_hash_int_00_01void_01_4}{}\doxysection{KBLIB\+\_\+\+NS\+::FNV\+\_\+hash\texorpdfstring{$<$}{<} void, Hash\+Int, void \texorpdfstring{$>$}{>} Struct Template Reference}
\label{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01void_00_01_hash_int_00_01void_01_4}\index{KBLIB\_NS::FNV\_hash$<$ void, HashInt, void $>$@{KBLIB\_NS::FNV\_hash$<$ void, HashInt, void $>$}}


Transparent hasher for any hashable type.  




{\ttfamily \#include $<$kblib/hash.\+h$>$}

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename T $>$ }\\constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01void_00_01_hash_int_00_01void_01_4_a839faa40783d23e80e44eebdfe2e105a}{operator()}} (const T \&key, Hash\+Int offset=\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fnv_1_1fnv__offset}{fnv\+::fnv\+\_\+offset}}$<$ Hash\+Int $>$\+::value) const noexcept -\/$>$ \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a99591fc5eb07c4adb7ec5f0998edb928}{enable\+\_\+if\+\_\+t}}$<$ \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a5c6ead81a6fc54203d729f6d2c3080a0}{is\+\_\+hashable\+\_\+v}}$<$ T $>$, Hash\+Int $>$
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{tdecl_8h_ae80370916cdf0283545d3e726865f6ec}{KBLIB\+\_\+\+CONSTANT\+\_\+\+MV}} \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01void_00_01_hash_int_00_01void_01_4_aeaadf723055bc80475c4119a9658adb5}{is\+\_\+transparent}} = true
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Hash\+Int$>$\newline
struct KBLIB\+\_\+\+NS\+::\+FNV\+\_\+hash$<$ void, Hash\+Int, void $>$}
Transparent hasher for any hashable type. 

Definition at line \mbox{\hyperlink{hash_8h_source_l00751}{751}} of file \mbox{\hyperlink{hash_8h_source}{hash.\+h}}.



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01void_00_01_hash_int_00_01void_01_4_a839faa40783d23e80e44eebdfe2e105a}\label{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01void_00_01_hash_int_00_01void_01_4_a839faa40783d23e80e44eebdfe2e105a}} 
\index{KBLIB\_NS::FNV\_hash$<$ void, HashInt, void $>$@{KBLIB\_NS::FNV\_hash$<$ void, HashInt, void $>$}!operator()@{operator()}}
\index{operator()@{operator()}!KBLIB\_NS::FNV\_hash$<$ void, HashInt, void $>$@{KBLIB\_NS::FNV\_hash$<$ void, HashInt, void $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}}
{\footnotesize\ttfamily template$<$typename Hash\+Int $>$ \\
template$<$typename T $>$ \\
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash}{KBLIB\+\_\+\+NS\+::\+FNV\+\_\+hash}}$<$ void, Hash\+Int, void $>$\+::operator() (\begin{DoxyParamCaption}\item[{const T \&}]{key,  }\item[{Hash\+Int}]{offset = {\ttfamily \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fnv_1_1fnv__offset}{fnv\+::fnv\+\_\+offset}}$<$HashInt$>$\+:\+:value} }\end{DoxyParamCaption}) const -\/$>$ \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a99591fc5eb07c4adb7ec5f0998edb928}{enable\+\_\+if\+\_\+t}}$<$\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a5c6ead81a6fc54203d729f6d2c3080a0}{is\+\_\+hashable\+\_\+v}}$<$T$>$, Hash\+Int$>$ \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{hash_8h_source_l00755}{755}} of file \mbox{\hyperlink{hash_8h_source}{hash.\+h}}.



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01void_00_01_hash_int_00_01void_01_4_aeaadf723055bc80475c4119a9658adb5}\label{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01void_00_01_hash_int_00_01void_01_4_aeaadf723055bc80475c4119a9658adb5}} 
\index{KBLIB\_NS::FNV\_hash$<$ void, HashInt, void $>$@{KBLIB\_NS::FNV\_hash$<$ void, HashInt, void $>$}!is\_transparent@{is\_transparent}}
\index{is\_transparent@{is\_transparent}!KBLIB\_NS::FNV\_hash$<$ void, HashInt, void $>$@{KBLIB\_NS::FNV\_hash$<$ void, HashInt, void $>$}}
\doxysubsubsection{\texorpdfstring{is\_transparent}{is\_transparent}}
{\footnotesize\ttfamily template$<$typename Hash\+Int $>$ \\
\mbox{\hyperlink{tdecl_8h_ae80370916cdf0283545d3e726865f6ec}{KBLIB\+\_\+\+CONSTANT\+\_\+\+MV}} \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash}{KBLIB\+\_\+\+NS\+::\+FNV\+\_\+hash}}$<$ void, Hash\+Int, void $>$\+::is\+\_\+transparent = true}



Definition at line \mbox{\hyperlink{hash_8h_source_l00752}{752}} of file \mbox{\hyperlink{hash_8h_source}{hash.\+h}}.



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
kblib/\mbox{\hyperlink{hash_8h}{hash.\+h}}\end{DoxyCompactItemize}
