\hypertarget{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4}{}\doxysection{kblib\+::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{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4}\index{kblib::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{kblib::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{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4_a3ae95b0106f1978de28eab8f7c5963c2}{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{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4_aa12784d0ba3248cc70f678c5fd49ad16}{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{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4_a63f34812e8e043cd2f180d92c89bed28}{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{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4_afcc85dda23116e129368c4a40b627998}{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{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4_a183d200b24a79708ffdb2f1cf7311308}{key\+\_\+cardinality}} = static\+\_\+cast$<$\mbox{\hyperlink{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4_a3ae95b0106f1978de28eab8f7c5963c2}{value\+\_\+type}}$>$(\mbox{\hyperlink{namespacekblib_1_1nums_a64067ecc4167ce1cfe32860ef5c1dc47}{max}}) + std\+::size\+\_\+t\{1\}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Key\+Elem$>$\newline
struct kblib\+::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{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4_a3ae95b0106f1978de28eab8f7c5963c2}\label{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4_a3ae95b0106f1978de28eab8f7c5963c2}} 
\index{kblib::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{kblib::default\_extract$<$ KeyElem[], void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$}!value\_type@{value\_type}}
\index{value\_type@{value\_type}!kblib::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{kblib::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{structkblib_1_1default__extract}{kblib\+::default\+\_\+extract}}$<$ Key\+Elem\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{namespacekblib_ab3cc24416f0b9a6504e1c6a437ed6230}{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{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4_aa12784d0ba3248cc70f678c5fd49ad16}\label{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4_aa12784d0ba3248cc70f678c5fd49ad16}} 
\index{kblib::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{kblib::default\_extract$<$ KeyElem[], void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$}!begin@{begin}}
\index{begin@{begin}!kblib::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{kblib::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{structkblib_1_1default__extract}{kblib\+::default\+\_\+extract}}$<$ Key\+Elem\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{namespacekblib_ab3cc24416f0b9a6504e1c6a437ed6230}{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{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4_a63f34812e8e043cd2f180d92c89bed28}\label{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4_a63f34812e8e043cd2f180d92c89bed28}} 
\index{kblib::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{kblib::default\_extract$<$ KeyElem[], void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$}!end@{end}}
\index{end@{end}!kblib::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{kblib::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{structkblib_1_1default__extract}{kblib\+::default\+\_\+extract}}$<$ Key\+Elem\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{namespacekblib_ab3cc24416f0b9a6504e1c6a437ed6230}{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{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4_afcc85dda23116e129368c4a40b627998}\label{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4_afcc85dda23116e129368c4a40b627998}} 
\index{kblib::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{kblib::default\_extract$<$ KeyElem[], void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$}!index@{index}}
\index{index@{index}!kblib::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{kblib::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{structkblib_1_1default__extract}{kblib\+::default\+\_\+extract}}$<$ Key\+Elem\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{namespacekblib_ab3cc24416f0b9a6504e1c6a437ed6230}{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{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4_a183d200b24a79708ffdb2f1cf7311308}\label{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4_a183d200b24a79708ffdb2f1cf7311308}} 
\index{kblib::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{kblib::default\_extract$<$ KeyElem[], void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$}!key\_cardinality@{key\_cardinality}}
\index{key\_cardinality@{key\_cardinality}!kblib::default\_extract$<$ KeyElem\mbox{[}\mbox{]}, void\_if\_t$<$ std::is\_integral\_v$<$ KeyElem $>$ $>$ $>$@{kblib::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{structkblib_1_1default__extract}{kblib\+::default\+\_\+extract}}$<$ Key\+Elem\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{namespacekblib_ab3cc24416f0b9a6504e1c6a437ed6230}{void\+\_\+if\+\_\+t}}$<$ std\+::is\+\_\+integral\+\_\+v$<$ Key\+Elem $>$ $>$ $>$\+::key\+\_\+cardinality = static\+\_\+cast$<$\mbox{\hyperlink{structkblib_1_1default__extract_3_01_key_elem_0f_0e_00_01void__if__t_3_01std_1_1is__integral__v_3_01_key_elem_01_4_01_4_01_4_a3ae95b0106f1978de28eab8f7c5963c2}{value\+\_\+type}}$>$(\mbox{\hyperlink{namespacekblib_1_1nums_a64067ecc4167ce1cfe32860ef5c1dc47}{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}
