\hypertarget{structkblib_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_01is__linear__conta99473306a69092cfd213d10b9426f9b2}{}\section{kblib\+:\+:F\+N\+V\+\_\+hash$<$ Container, Hash\+Int, void\+\_\+if\+\_\+t$<$ is\+\_\+linear\+\_\+container\+\_\+v$<$ Container $>$ and is\+\_\+contiguous\+\_\+v$<$ Container $>$ and is\+\_\+trivially\+\_\+hashable\+\_\+v$<$ 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_01is__linear__conta99473306a69092cfd213d10b9426f9b2}\index{kblib\+::\+F\+N\+V\+\_\+hash$<$ Container, Hash\+Int, void\+\_\+if\+\_\+t$<$ is\+\_\+linear\+\_\+container\+\_\+v$<$ Container $>$ and is\+\_\+contiguous\+\_\+v$<$ Container $>$ and is\+\_\+trivially\+\_\+hashable\+\_\+v$<$ Container\+::value\+\_\+type $>$ $>$ $>$@{kblib\+::\+F\+N\+V\+\_\+hash$<$ Container, Hash\+Int, void\+\_\+if\+\_\+t$<$ is\+\_\+linear\+\_\+container\+\_\+v$<$ Container $>$ and is\+\_\+contiguous\+\_\+v$<$ Container $>$ and is\+\_\+trivially\+\_\+hashable\+\_\+v$<$ Container\+::value\+\_\+type $>$ $>$ $>$}}


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




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

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
constexpr Hash\+Int \hyperlink{structkblib_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_01is__linear__conta99473306a69092cfd213d10b9426f9b2_a3b74cca8bd71d1af147e61035ba12dbb}{operator()} (const Container \&key, Hash\+Int offset=\hyperlink{structkblib_1_1fnv_1_1fnv__offset}{fnv\+::fnv\+\_\+offset}$<$ Hash\+Int $>$\+::value) const noexcept
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename Container, typename Hash\+Int$>$\newline
struct kblib\+::\+F\+N\+V\+\_\+hash$<$ Container, Hash\+Int, void\+\_\+if\+\_\+t$<$ is\+\_\+linear\+\_\+container\+\_\+v$<$ Container $>$ and is\+\_\+contiguous\+\_\+v$<$ Container $>$ and is\+\_\+trivially\+\_\+hashable\+\_\+v$<$ Container\+::value\+\_\+type $>$ $>$ $>$}

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

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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{structkblib_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_01is__linear__conta99473306a69092cfd213d10b9426f9b2_a3b74cca8bd71d1af147e61035ba12dbb}\label{structkblib_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_01is__linear__conta99473306a69092cfd213d10b9426f9b2_a3b74cca8bd71d1af147e61035ba12dbb}} 
\index{kblib\+::\+F\+N\+V\+\_\+hash$<$ Container, Hash\+Int, void\+\_\+if\+\_\+t$<$ is\+\_\+linear\+\_\+container\+\_\+v$<$ Container $>$ and is\+\_\+contiguous\+\_\+v$<$ Container $>$ and is\+\_\+trivially\+\_\+hashable\+\_\+v$<$ Container\+::value\+\_\+type $>$ $>$ $>$@{kblib\+::\+F\+N\+V\+\_\+hash$<$ Container, Hash\+Int, void\+\_\+if\+\_\+t$<$ is\+\_\+linear\+\_\+container\+\_\+v$<$ Container $>$ and is\+\_\+contiguous\+\_\+v$<$ Container $>$ and is\+\_\+trivially\+\_\+hashable\+\_\+v$<$ Container\+::value\+\_\+type $>$ $>$ $>$}!operator()@{operator()}}
\index{operator()@{operator()}!kblib\+::\+F\+N\+V\+\_\+hash$<$ Container, Hash\+Int, void\+\_\+if\+\_\+t$<$ is\+\_\+linear\+\_\+container\+\_\+v$<$ Container $>$ and is\+\_\+contiguous\+\_\+v$<$ Container $>$ and is\+\_\+trivially\+\_\+hashable\+\_\+v$<$ Container\+::value\+\_\+type $>$ $>$ $>$@{kblib\+::\+F\+N\+V\+\_\+hash$<$ Container, Hash\+Int, void\+\_\+if\+\_\+t$<$ is\+\_\+linear\+\_\+container\+\_\+v$<$ Container $>$ and is\+\_\+contiguous\+\_\+v$<$ Container $>$ and is\+\_\+trivially\+\_\+hashable\+\_\+v$<$ Container\+::value\+\_\+type $>$ $>$ $>$}}
\subsubsection{\texorpdfstring{operator()()}{operator()()}}
{\footnotesize\ttfamily template$<$typename Container , typename Hash\+Int $>$ \\
constexpr Hash\+Int \hyperlink{structkblib_1_1_f_n_v__hash}{kblib\+::\+F\+N\+V\+\_\+hash}$<$ Container, Hash\+Int, \hyperlink{namespacekblib_ab3cc24416f0b9a6504e1c6a437ed6230}{void\+\_\+if\+\_\+t}$<$ is\+\_\+linear\+\_\+container\+\_\+v$<$ Container $>$ and \hyperlink{namespacekblib_a1881d29704d504556a73a9e77e73a209}{is\+\_\+contiguous\+\_\+v}$<$ Container $>$ and \hyperlink{namespacekblib_a752fffdefc8848de579b8edf8c649dea}{is\+\_\+trivially\+\_\+hashable\+\_\+v}$<$ Container\+::value\+\_\+type $>$ $>$ $>$\+::operator() (\begin{DoxyParamCaption}\item[{const Container \&}]{key,  }\item[{Hash\+Int}]{offset = {\ttfamily \hyperlink{structkblib_1_1fnv_1_1fnv__offset}{fnv\+::fnv\+\_\+offset}$<$HashInt$>$\+:\+:value} }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}

F\+I\+X\+M\+E(killerbee)\+: byte\+\_\+casting pointers is most likely wrong 

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



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