\hypertarget{structkblib_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_07is__contiguous_3_60f34145d9bddd1861f1f0056ef1d143}{}\doxysection{kblib\+::FNV\+\_\+hash$<$ Container, Hash\+Int, void\+\_\+if\+\_\+t$<$(is\+\_\+contiguous$<$ Container $>$\+::value and is\+\_\+trivially\+\_\+hashable\+\_\+v$<$ typename Container\+::value\+\_\+type $>$)$>$ $>$ Struct Template Reference}
\label{structkblib_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_07is__contiguous_3_60f34145d9bddd1861f1f0056ef1d143}\index{kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous$<$ Container $>$::value and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$@{kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous$<$ Container $>$::value 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{structkblib_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_07is__contiguous_3_60f34145d9bddd1861f1f0056ef1d143_a680f7d3ce341d6f35e40945ff5b22d83}{hash\+\_\+fast}} (const Container \&key, Hash\+Int offset) const noexcept -\/$>$ Hash\+Int
\item 
Hash\+Int \mbox{\hyperlink{structkblib_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_07is__contiguous_3_60f34145d9bddd1861f1f0056ef1d143_a3643cd8c0bc217f1b308cdf4930a341b}{operator()}} (const Container \&key, Hash\+Int offset=\mbox{\hyperlink{structkblib_1_1fnv_1_1fnv__offset}{fnv\+::fnv\+\_\+offset}}$<$ Hash\+Int $>$\+::value) const noexcept
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Container, typename Hash\+Int$>$\newline
struct kblib\+::\+FNV\+\_\+hash$<$ Container, Hash\+Int, void\+\_\+if\+\_\+t$<$(is\+\_\+contiguous$<$ Container $>$\+::value and is\+\_\+trivially\+\_\+hashable\+\_\+v$<$ typename Container\+::value\+\_\+type $>$)$>$ $>$}

Container hasher, for contiguously-\/stored trivial elements. 

Definition at line 505 of file hash.\+h.



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{structkblib_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_07is__contiguous_3_60f34145d9bddd1861f1f0056ef1d143_a680f7d3ce341d6f35e40945ff5b22d83}\label{structkblib_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_07is__contiguous_3_60f34145d9bddd1861f1f0056ef1d143_a680f7d3ce341d6f35e40945ff5b22d83}} 
\index{kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous$<$ Container $>$::value and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$@{kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous$<$ Container $>$::value and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$}!hash\_fast@{hash\_fast}}
\index{hash\_fast@{hash\_fast}!kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous$<$ Container $>$::value and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$@{kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous$<$ Container $>$::value 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{structkblib_1_1_f_n_v__hash}{kblib\+::\+FNV\+\_\+hash}}$<$ Container, Hash\+Int, \mbox{\hyperlink{namespacekblib_ab3cc24416f0b9a6504e1c6a437ed6230}{void\+\_\+if\+\_\+t}}$<$(\mbox{\hyperlink{structkblib_1_1is__contiguous}{is\+\_\+contiguous}}$<$ Container $>$\+::value and \mbox{\hyperlink{namespacekblib_a752fffdefc8848de579b8edf8c649dea}{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 510 of file hash.\+h.

\mbox{\Hypertarget{structkblib_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_07is__contiguous_3_60f34145d9bddd1861f1f0056ef1d143_a3643cd8c0bc217f1b308cdf4930a341b}\label{structkblib_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_07is__contiguous_3_60f34145d9bddd1861f1f0056ef1d143_a3643cd8c0bc217f1b308cdf4930a341b}} 
\index{kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous$<$ Container $>$::value and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$@{kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous$<$ Container $>$::value and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$}!operator()@{operator()}}
\index{operator()@{operator()}!kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous$<$ Container $>$::value and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$@{kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$(is\_contiguous$<$ Container $>$::value and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$)$>$ $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}}
{\footnotesize\ttfamily template$<$typename Container , typename Hash\+Int $>$ \\
Hash\+Int \mbox{\hyperlink{structkblib_1_1_f_n_v__hash}{kblib\+::\+FNV\+\_\+hash}}$<$ Container, Hash\+Int, \mbox{\hyperlink{namespacekblib_ab3cc24416f0b9a6504e1c6a437ed6230}{void\+\_\+if\+\_\+t}}$<$(\mbox{\hyperlink{structkblib_1_1is__contiguous}{is\+\_\+contiguous}}$<$ Container $>$\+::value and \mbox{\hyperlink{namespacekblib_a752fffdefc8848de579b8edf8c649dea}{is\+\_\+trivially\+\_\+hashable\+\_\+v}}$<$ typename Container\+::value\+\_\+type $>$)$>$ $>$\+::operator() (\begin{DoxyParamCaption}\item[{const Container \&}]{key,  }\item[{Hash\+Int}]{offset = {\ttfamily \mbox{\hyperlink{structkblib_1_1fnv_1_1fnv__offset}{fnv\+::fnv\+\_\+offset}}$<$HashInt$>$\+:\+:value} }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 517 of file 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}
