\hypertarget{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01_t_00_01_hash_int_00_01void__if__t_3_01std_1_1is__emp845ff852e00bc5763f716e73ff8348db}{}\doxysection{KBLIB\+\_\+\+NS\+::FNV\+\_\+hash\texorpdfstring{$<$}{<} T, Hash\+Int, void\+\_\+if\+\_\+t\texorpdfstring{$<$}{<} std\+::is\+\_\+empty\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>}\+::value \texorpdfstring{$>$}{>} \texorpdfstring{$>$}{>} Struct Template Reference} \label{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01_t_00_01_hash_int_00_01void__if__t_3_01std_1_1is__emp845ff852e00bc5763f716e73ff8348db}\index{KBLIB\_NS::FNV\_hash$<$ T, HashInt, void\_if\_t$<$ std::is\_empty$<$ T $>$::value $>$ $>$@{KBLIB\_NS::FNV\_hash$<$ T, HashInt, void\_if\_t$<$ std::is\_empty$<$ T $>$::value $>$ $>$}} An empty type is treated as if it were a single null byte. {\ttfamily \#include $<$kblib/hash.\+h$>$} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01_t_00_01_hash_int_00_01void__if__t_3_01std_1_1is__emp845ff852e00bc5763f716e73ff8348db_a8faee1e8e66a12f113694134ec773fad}{operator()}} (const T \&, 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 T, typename Hash\+Int$>$\newline struct KBLIB\+\_\+\+NS\+::\+FNV\+\_\+hash$<$ T, Hash\+Int, void\+\_\+if\+\_\+t$<$ std\+::is\+\_\+empty$<$ T $>$\+::value $>$ $>$} An empty type is treated as if it were a single null byte. Definition at line \mbox{\hyperlink{hash_8h_source_l00417}{417}} 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_t_00_01_hash_int_00_01void__if__t_3_01std_1_1is__emp845ff852e00bc5763f716e73ff8348db_a8faee1e8e66a12f113694134ec773fad}\label{struct_k_b_l_i_b___n_s_1_1_f_n_v__hash_3_01_t_00_01_hash_int_00_01void__if__t_3_01std_1_1is__emp845ff852e00bc5763f716e73ff8348db_a8faee1e8e66a12f113694134ec773fad}} \index{KBLIB\_NS::FNV\_hash$<$ T, HashInt, void\_if\_t$<$ std::is\_empty$<$ T $>$::value $>$ $>$@{KBLIB\_NS::FNV\_hash$<$ T, HashInt, void\_if\_t$<$ std::is\_empty$<$ T $>$::value $>$ $>$}!operator()@{operator()}} \index{operator()@{operator()}!KBLIB\_NS::FNV\_hash$<$ T, HashInt, void\_if\_t$<$ std::is\_empty$<$ T $>$::value $>$ $>$@{KBLIB\_NS::FNV\_hash$<$ T, HashInt, void\_if\_t$<$ std::is\_empty$<$ T $>$::value $>$ $>$}} \doxysubsubsection{\texorpdfstring{operator()()}{operator()()}} {\footnotesize\ttfamily template$<$typename T , 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}}$<$ T, Hash\+Int, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a0091fb16bc1767a3e5e1cff5aa8dff53}{void\+\_\+if\+\_\+t}}$<$ std\+::is\+\_\+empty$<$ T $>$\+::value $>$ $>$\+::operator() (\begin{DoxyParamCaption}\item[{const T \&}]{, }\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_l00418}{418}} 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}