\hypertarget{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_07is__co3aa82538de267337ce1ca01fa2fc3a1f}{}\doxysection{KBLIB\+\_\+\+NS\+::FNV\+\_\+hash\texorpdfstring{$<$}{<} Container, Hash\+Int, void\+\_\+if\+\_\+t\texorpdfstring{$<$}{<}(is\+\_\+contiguous\+\_\+v\texorpdfstring{$<$}{<} Container \texorpdfstring{$>$}{>} and is\+\_\+trivially\+\_\+hashable\+\_\+v\texorpdfstring{$<$}{<} typename Container\+::value\+\_\+type \texorpdfstring{$>$}{>})\texorpdfstring{$>$}{>} \texorpdfstring{$>$}{>} Struct Template Reference} \label{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_07is__co3aa82538de267337ce1ca01fa2fc3a1f}\index{KBLIB\_NS::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous\_v$<$ Container $>$ and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$@{KBLIB\_NS::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous\_v$<$ Container $>$ and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$}} Container hasher, for contiguously-\/stored trivial elements. {\ttfamily \#include $<$kblib/hash.\+h$>$} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_07is__co3aa82538de267337ce1ca01fa2fc3a1f_af25d7758e39b8beed4026b0aadce469c}{hash\+\_\+fast}} (const Container \&key, Hash\+Int offset) const noexcept -\/$>$ Hash\+Int \item constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_07is__co3aa82538de267337ce1ca01fa2fc3a1f_aa6e2e4db395236acaa870548c505047d}{operator()}} (const Container \&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 -\/$>$ Hash\+Int \end{DoxyCompactItemize} \doxysubsection{Detailed Description} \subsubsection*{template$<$typename Container, typename Hash\+Int$>$\newline struct KBLIB\+\_\+\+NS\+::\+FNV\+\_\+hash$<$ Container, Hash\+Int, void\+\_\+if\+\_\+t$<$(is\+\_\+contiguous\+\_\+v$<$ Container $>$ and is\+\_\+trivially\+\_\+hashable\+\_\+v$<$ typename Container\+::value\+\_\+type $>$)$>$ $>$} Container hasher, for contiguously-\/stored trivial elements. Definition at line \mbox{\hyperlink{hash_8h_source_l00522}{522}} 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_01_container_00_01_hash_int_00_01void__if__t_3_07is__co3aa82538de267337ce1ca01fa2fc3a1f_af25d7758e39b8beed4026b0aadce469c}\label{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_07is__co3aa82538de267337ce1ca01fa2fc3a1f_af25d7758e39b8beed4026b0aadce469c}} \index{KBLIB\_NS::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous\_v$<$ Container $>$ and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$@{KBLIB\_NS::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous\_v$<$ Container $>$ and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$}!hash\_fast@{hash\_fast}} \index{hash\_fast@{hash\_fast}!KBLIB\_NS::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous\_v$<$ Container $>$ and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$@{KBLIB\_NS::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous\_v$<$ Container $>$ and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$}} \doxysubsubsection{\texorpdfstring{hash\_fast()}{hash\_fast()}} {\footnotesize\ttfamily template$<$typename Container , typename Hash\+Int $>$ \\ auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash}{KBLIB\+\_\+\+NS\+::\+FNV\+\_\+hash}}$<$ Container, Hash\+Int, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a0091fb16bc1767a3e5e1cff5aa8dff53}{void\+\_\+if\+\_\+t}}$<$(\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a2530a939dc0029a61d40e4b71d24a326}{is\+\_\+contiguous\+\_\+v}}$<$ Container $>$ and \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_ab285613a76758ad7a7693b5562101634}{is\+\_\+trivially\+\_\+hashable\+\_\+v}}$<$ typename Container\+::value\+\_\+type $>$)$>$ $>$\+::hash\+\_\+fast (\begin{DoxyParamCaption}\item[{const Container \&}]{key, }\item[{Hash\+Int}]{offset }\end{DoxyParamCaption}) const -\/$>$ Hash\+Int \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{hash_8h_source_l00528}{528}} of file \mbox{\hyperlink{hash_8h_source}{hash.\+h}}. \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_07is__co3aa82538de267337ce1ca01fa2fc3a1f_aa6e2e4db395236acaa870548c505047d}\label{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_07is__co3aa82538de267337ce1ca01fa2fc3a1f_aa6e2e4db395236acaa870548c505047d}} \index{KBLIB\_NS::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous\_v$<$ Container $>$ and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$@{KBLIB\_NS::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous\_v$<$ Container $>$ and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$}!operator()@{operator()}} \index{operator()@{operator()}!KBLIB\_NS::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous\_v$<$ Container $>$ and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$@{KBLIB\_NS::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous\_v$<$ Container $>$ and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$}} \doxysubsubsection{\texorpdfstring{operator()()}{operator()()}} {\footnotesize\ttfamily template$<$typename Container , typename Hash\+Int $>$ \\ constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash}{KBLIB\+\_\+\+NS\+::\+FNV\+\_\+hash}}$<$ Container, Hash\+Int, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a0091fb16bc1767a3e5e1cff5aa8dff53}{void\+\_\+if\+\_\+t}}$<$(\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a2530a939dc0029a61d40e4b71d24a326}{is\+\_\+contiguous\+\_\+v}}$<$ Container $>$ and \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_ab285613a76758ad7a7693b5562101634}{is\+\_\+trivially\+\_\+hashable\+\_\+v}}$<$ typename Container\+::value\+\_\+type $>$)$>$ $>$\+::operator() (\begin{DoxyParamCaption}\item[{const Container \&}]{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 -\/$>$ Hash\+Int \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{hash_8h_source_l00534}{534}} 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}