\hypertarget{structkblib_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_01is__linear__conta2ffbd3f21d9db1b5d1e69382c5a98341}{}\doxysection{kblib\+::FNV\+\_\+hash$<$ Container, Hash\+Int, void\+\_\+if\+\_\+t$<$ is\+\_\+linear\+\_\+container\+\_\+v$<$ Container $>$ and is\+\_\+contiguous\+\_\+v$<$ Container $>$ 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_01is__linear__conta2ffbd3f21d9db1b5d1e69382c5a98341}\index{kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$ is\_linear\_container\_v$<$ Container $>$ and is\_contiguous\_v$<$ Container $>$ and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$ $>$ $>$@{kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$ is\_linear\_container\_v$<$ Container $>$ and 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 Hash\+Int \mbox{\hyperlink{structkblib_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_01is__linear__conta2ffbd3f21d9db1b5d1e69382c5a98341_a81f65d111aa8b7d70e26a7134554ba11}{hash\+\_\+fast}} (const Container \&key, Hash\+Int offset=\mbox{\hyperlink{structkblib_1_1fnv_1_1fnv__offset}{fnv\+::fnv\+\_\+offset}}$<$ Hash\+Int $>$\+::value) const noexcept \item constexpr Hash\+Int \mbox{\hyperlink{structkblib_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_01is__linear__conta2ffbd3f21d9db1b5d1e69382c5a98341_a9b1c9d2f0c39f992dbc859334525ba12}{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\+\_\+linear\+\_\+container\+\_\+v$<$ Container $>$ and is\+\_\+contiguous\+\_\+v$<$ Container $>$ and is\+\_\+trivially\+\_\+hashable\+\_\+v$<$ typename Container\+::value\+\_\+type $>$ $>$ $>$} Container hasher, for contiguously-\/stored trivial elements. Definition at line 587 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_01is__linear__conta2ffbd3f21d9db1b5d1e69382c5a98341_a81f65d111aa8b7d70e26a7134554ba11}\label{structkblib_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_01is__linear__conta2ffbd3f21d9db1b5d1e69382c5a98341_a81f65d111aa8b7d70e26a7134554ba11}} \index{kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$ is\_linear\_container\_v$<$ Container $>$ and is\_contiguous\_v$<$ Container $>$ and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$ $>$ $>$@{kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$ is\_linear\_container\_v$<$ Container $>$ and is\_contiguous\_v$<$ Container $>$ 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\_linear\_container\_v$<$ Container $>$ and is\_contiguous\_v$<$ Container $>$ and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$ $>$ $>$@{kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$ is\_linear\_container\_v$<$ Container $>$ and 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 $>$ \\ Hash\+Int \mbox{\hyperlink{structkblib_1_1_f_n_v__hash}{kblib\+::\+FNV\+\_\+hash}}$<$ Container, Hash\+Int, \mbox{\hyperlink{namespacekblib_ab3cc24416f0b9a6504e1c6a437ed6230}{void\+\_\+if\+\_\+t}}$<$ is\+\_\+linear\+\_\+container\+\_\+v$<$ Container $>$ and \mbox{\hyperlink{namespacekblib_a1881d29704d504556a73a9e77e73a209}{is\+\_\+contiguous\+\_\+v}}$<$ Container $>$ 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 = {\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 593 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_01is__linear__conta2ffbd3f21d9db1b5d1e69382c5a98341_a9b1c9d2f0c39f992dbc859334525ba12}\label{structkblib_1_1_f_n_v__hash_3_01_container_00_01_hash_int_00_01void__if__t_3_01is__linear__conta2ffbd3f21d9db1b5d1e69382c5a98341_a9b1c9d2f0c39f992dbc859334525ba12}} \index{kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$ is\_linear\_container\_v$<$ Container $>$ and is\_contiguous\_v$<$ Container $>$ and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$ $>$ $>$@{kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$ is\_linear\_container\_v$<$ Container $>$ and is\_contiguous\_v$<$ Container $>$ and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$ $>$ $>$}!operator()@{operator()}} \index{operator()@{operator()}!kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$ is\_linear\_container\_v$<$ Container $>$ and is\_contiguous\_v$<$ Container $>$ and is\_trivially\_hashable\_v$<$ typename Container::value\_type $>$ $>$ $>$@{kblib::FNV\_hash$<$ Container, HashInt, void\_if\_t$<$ is\_linear\_container\_v$<$ Container $>$ and 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 Hash\+Int \mbox{\hyperlink{structkblib_1_1_f_n_v__hash}{kblib\+::\+FNV\+\_\+hash}}$<$ Container, Hash\+Int, \mbox{\hyperlink{namespacekblib_ab3cc24416f0b9a6504e1c6a437ed6230}{void\+\_\+if\+\_\+t}}$<$ is\+\_\+linear\+\_\+container\+\_\+v$<$ Container $>$ and \mbox{\hyperlink{namespacekblib_a1881d29704d504556a73a9e77e73a209}{is\+\_\+contiguous\+\_\+v}}$<$ Container $>$ 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 [constexpr]}, {\ttfamily [noexcept]}} Definition at line 601 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}