\hypertarget{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71}{}\doxysection{KBLIB\+\_\+\+NS\+::default\+\_\+extract\texorpdfstring{$<$}{<} Key\+Elem\mbox{[}\mbox{]}, void\+\_\+if\+\_\+t\texorpdfstring{$<$}{<} std\+::is\+\_\+integral\+\_\+v\texorpdfstring{$<$}{<} Key\+Elem \texorpdfstring{$>$}{>} \texorpdfstring{$>$}{>} \texorpdfstring{$>$}{>} Struct Template Reference}
\label{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71}\index{KBLIB\_NS::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{KBLIB\_NS::default\_extract$<$ KeyElem[], void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$}}


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

\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
using \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71_a37f6a6ffca553d9cd8694f4fd2a31385}{value\+\_\+type}} = Key\+Elem
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$std\+::size\+\_\+t Size$>$ }\\static constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71_add6c71765dbf75f6a99a190bc4cee8ab}{begin}} (Key\+Elem(\&key)\mbox{[}Size\mbox{]}) noexcept(noexcept(std\+::begin(key))) -\/$>$ decltype(auto)
\item 
{\footnotesize template$<$std\+::size\+\_\+t Size$>$ }\\static constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71_a41a90c02b982d4721622bfc78d9a0446}{end}} (Key\+Elem(\&key)\mbox{[}Size\mbox{]}) noexcept(noexcept(std\+::end(key))) -\/$>$ decltype(auto)
\item 
{\footnotesize template$<$std\+::size\+\_\+t Size$>$ }\\static constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71_ad882b0c98e795fc73ee53496cfbeaa60}{index}} (Key\+Elem(\&key)\mbox{[}Size\mbox{]}, std\+::size\+\_\+t idx) noexcept(noexcept(key\mbox{[}idx\mbox{]})) -\/$>$ decltype(auto)
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{tdecl_8h_ab79256916a9652cd2d1771ae9a38799f}{KBLIB\+\_\+\+CONSTANT\+\_\+M}} std\+::size\+\_\+t \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71_a6812f2dd7158f60e4f1a818fc19a4b35}{key\+\_\+cardinality}} = static\+\_\+cast$<$\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71_a37f6a6ffca553d9cd8694f4fd2a31385}{value\+\_\+type}}$>$(\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1nums_a8f5e5a9f72912486d090c7f2727d2ca0}{max}}) + std\+::size\+\_\+t\{1\}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Key\+Elem$>$\newline
struct KBLIB\+\_\+\+NS\+::default\+\_\+extract$<$ Key\+Elem\mbox{[}$\,$\mbox{]}, void\+\_\+if\+\_\+t$<$ std\+::is\+\_\+integral\+\_\+v$<$ Key\+Elem $>$ $>$ $>$}


Definition at line \mbox{\hyperlink{trie_8h_source_l00169}{169}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.



\doxysubsection{Member Typedef Documentation}
\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71_a37f6a6ffca553d9cd8694f4fd2a31385}\label{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71_a37f6a6ffca553d9cd8694f4fd2a31385}} 
\index{KBLIB\_NS::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{KBLIB\_NS::default\_extract$<$ KeyElem[], void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$}!value\_type@{value\_type}}
\index{value\_type@{value\_type}!KBLIB\_NS::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{KBLIB\_NS::default\_extract$<$ KeyElem[], void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$}}
\doxysubsubsection{\texorpdfstring{value\_type}{value\_type}}
{\footnotesize\ttfamily template$<$typename Key\+Elem $>$ \\
using \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__extract}{KBLIB\+\_\+\+NS\+::default\+\_\+extract}}$<$ Key\+Elem\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a0091fb16bc1767a3e5e1cff5aa8dff53}{void\+\_\+if\+\_\+t}}$<$ std\+::is\+\_\+integral\+\_\+v$<$ Key\+Elem $>$ $>$ $>$\+::value\+\_\+type =  Key\+Elem}



Definition at line \mbox{\hyperlink{trie_8h_source_l00170}{170}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71_add6c71765dbf75f6a99a190bc4cee8ab}\label{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71_add6c71765dbf75f6a99a190bc4cee8ab}} 
\index{KBLIB\_NS::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{KBLIB\_NS::default\_extract$<$ KeyElem[], void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$}!begin@{begin}}
\index{begin@{begin}!KBLIB\_NS::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{KBLIB\_NS::default\_extract$<$ KeyElem[], void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$}}
\doxysubsubsection{\texorpdfstring{begin()}{begin()}}
{\footnotesize\ttfamily template$<$typename Key\+Elem $>$ \\
template$<$std\+::size\+\_\+t Size$>$ \\
static constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__extract}{KBLIB\+\_\+\+NS\+::default\+\_\+extract}}$<$ Key\+Elem\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a0091fb16bc1767a3e5e1cff5aa8dff53}{void\+\_\+if\+\_\+t}}$<$ std\+::is\+\_\+integral\+\_\+v$<$ Key\+Elem $>$ $>$ $>$\+::begin (\begin{DoxyParamCaption}\item[{Key\+Elem(\&)}]{key\mbox{[}\+Size\mbox{]} }\end{DoxyParamCaption}) -\/$>$ decltype(auto) \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{trie_8h_source_l00180}{180}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.

\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71_a41a90c02b982d4721622bfc78d9a0446}\label{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71_a41a90c02b982d4721622bfc78d9a0446}} 
\index{KBLIB\_NS::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{KBLIB\_NS::default\_extract$<$ KeyElem[], void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$}!end@{end}}
\index{end@{end}!KBLIB\_NS::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{KBLIB\_NS::default\_extract$<$ KeyElem[], void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$}}
\doxysubsubsection{\texorpdfstring{end()}{end()}}
{\footnotesize\ttfamily template$<$typename Key\+Elem $>$ \\
template$<$std\+::size\+\_\+t Size$>$ \\
static constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__extract}{KBLIB\+\_\+\+NS\+::default\+\_\+extract}}$<$ Key\+Elem\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a0091fb16bc1767a3e5e1cff5aa8dff53}{void\+\_\+if\+\_\+t}}$<$ std\+::is\+\_\+integral\+\_\+v$<$ Key\+Elem $>$ $>$ $>$\+::end (\begin{DoxyParamCaption}\item[{Key\+Elem(\&)}]{key\mbox{[}\+Size\mbox{]} }\end{DoxyParamCaption}) -\/$>$ decltype(auto) \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{trie_8h_source_l00185}{185}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.

\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71_ad882b0c98e795fc73ee53496cfbeaa60}\label{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71_ad882b0c98e795fc73ee53496cfbeaa60}} 
\index{KBLIB\_NS::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{KBLIB\_NS::default\_extract$<$ KeyElem[], void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$}!index@{index}}
\index{index@{index}!KBLIB\_NS::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{KBLIB\_NS::default\_extract$<$ KeyElem[], void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$}}
\doxysubsubsection{\texorpdfstring{index()}{index()}}
{\footnotesize\ttfamily template$<$typename Key\+Elem $>$ \\
template$<$std\+::size\+\_\+t Size$>$ \\
static constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__extract}{KBLIB\+\_\+\+NS\+::default\+\_\+extract}}$<$ Key\+Elem\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a0091fb16bc1767a3e5e1cff5aa8dff53}{void\+\_\+if\+\_\+t}}$<$ std\+::is\+\_\+integral\+\_\+v$<$ Key\+Elem $>$ $>$ $>$\+::index (\begin{DoxyParamCaption}\item[{Key\+Elem(\&)}]{key\mbox{[}\+Size\mbox{]},  }\item[{std\+::size\+\_\+t}]{idx }\end{DoxyParamCaption}) -\/$>$ decltype(auto) \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{trie_8h_source_l00190}{190}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71_a6812f2dd7158f60e4f1a818fc19a4b35}\label{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71_a6812f2dd7158f60e4f1a818fc19a4b35}} 
\index{KBLIB\_NS::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{KBLIB\_NS::default\_extract$<$ KeyElem[], void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$}!key\_cardinality@{key\_cardinality}}
\index{key\_cardinality@{key\_cardinality}!KBLIB\_NS::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{KBLIB\_NS::default\_extract$<$ KeyElem[], void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$}}
\doxysubsubsection{\texorpdfstring{key\_cardinality}{key\_cardinality}}
{\footnotesize\ttfamily template$<$typename Key\+Elem $>$ \\
\mbox{\hyperlink{tdecl_8h_ab79256916a9652cd2d1771ae9a38799f}{KBLIB\+\_\+\+CONSTANT\+\_\+M}} std\+::size\+\_\+t \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__extract}{KBLIB\+\_\+\+NS\+::default\+\_\+extract}}$<$ Key\+Elem\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a0091fb16bc1767a3e5e1cff5aa8dff53}{void\+\_\+if\+\_\+t}}$<$ std\+::is\+\_\+integral\+\_\+v$<$ Key\+Elem $>$ $>$ $>$\+::key\+\_\+cardinality = static\+\_\+cast$<$\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__ia9271ddf1b68df65af4c72e775442b71_a37f6a6ffca553d9cd8694f4fd2a31385}{value\+\_\+type}}$>$(\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1nums_a8f5e5a9f72912486d090c7f2727d2ca0}{max}}) + std\+::size\+\_\+t\{1\}}



Definition at line \mbox{\hyperlink{trie_8h_source_l00174}{174}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.



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