\hypertarget{trie_8h}{}\doxysection{kblib/trie.h File Reference} \label{trie_8h}\index{kblib/trie.h@{kblib/trie.h}} Provides the trie data structure. {\ttfamily \#include \char`\"{}tdecl.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}sort.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}traits.\+h\char`\"{}}\newline {\ttfamily \#include $<$array$>$}\newline {\ttfamily \#include $<$bitset$>$}\newline {\ttfamily \#include $<$vector$>$}\newline Include dependency graph for trie.\+h\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{trie_8h__incl} \end{center} \end{figure} This graph shows which files directly or indirectly include this file\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=160pt]{trie_8h__dep__incl} \end{center} \end{figure} \doxysubsection*{Classes} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{structkblib_1_1iterator__extractor}{kblib\+::iterator\+\_\+extractor$<$ Container $>$}} \item struct \mbox{\hyperlink{structkblib_1_1indexer__extractor}{kblib\+::indexer\+\_\+extractor$<$ Container $>$}} \item struct \mbox{\hyperlink{structkblib_1_1extractor__policy__for}{kblib\+::extractor\+\_\+policy\+\_\+for$<$ Container, typename $>$}} \item struct \mbox{\hyperlink{structkblib_1_1extractor__policy__for_3_01_container_00_01void__t_3_01decltype_07std_1_1declval_544819f885a6e23bd6f87dda9bacc3f2}{kblib\+::extractor\+\_\+policy\+\_\+for$<$ Container, void\+\_\+t$<$ decltype(std\+::declval$<$ Container $>$()\mbox{[}0\mbox{]})$>$ $>$}} \item struct \mbox{\hyperlink{structkblib_1_1detail_1_1node}{kblib\+::detail\+::node$<$ Elem, Value $>$}} \item class \mbox{\hyperlink{classkblib_1_1trie}{kblib\+::trie$<$ Key, T, Extractor, bool $>$}} \item class \mbox{\hyperlink{classkblib_1_1trie_3_01_key_elem_00_01_t_00_01_extractor_00_01false_01_4}{kblib\+::trie$<$ Key\+Elem, T, Extractor, false $>$}} \item class \mbox{\hyperlink{classkblib_1_1trie_3_01_key_elem_0f_0e_00_01_t_00_01_extractor_00_01false_01_4}{kblib\+::trie$<$ Key\+Elem\mbox{[}$\,$\mbox{]}, T, Extractor, false $>$}} \item struct \mbox{\hyperlink{structkblib_1_1default__extract_3_01_key_00_01void__if__t_3_01is__linear__container__v_3_01_key_01_4_01_4_01_4}{kblib\+::default\+\_\+extract$<$ Key, void\+\_\+if\+\_\+t$<$ is\+\_\+linear\+\_\+container\+\_\+v$<$ Key $>$ $>$ $>$}} \item struct \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}{kblib\+::default\+\_\+extract$<$ Key\+Elem\mbox{[}$\,$\mbox{]}, void\+\_\+if\+\_\+t$<$ std\+::is\+\_\+integral\+\_\+v$<$ Key\+Elem $>$ $>$ $>$}} \item class \mbox{\hyperlink{classkblib_1_1trie__qset}{kblib\+::trie\+\_\+qset$<$ Key, Extractor, offset\+\_\+type $>$}} \item class \mbox{\hyperlink{classkblib_1_1trie__set}{kblib\+::trie\+\_\+set$<$ Key, Extractor, offset\+\_\+type $>$}} \item class \mbox{\hyperlink{classkblib_1_1trie__map}{kblib\+::trie\+\_\+map$<$ Key, Value, Extractor, offset\+\_\+type, Sequence\+Container $>$}} \item class \mbox{\hyperlink{classkblib_1_1trie__qmap}{kblib\+::trie\+\_\+qmap$<$ Key, Value, Extractor, offset\+\_\+type, Sequence\+Container $>$}} \item class \mbox{\hyperlink{classkblib_1_1sparse__trie__set}{kblib\+::sparse\+\_\+trie\+\_\+set$<$ Key, Extractor $>$}} \item class \mbox{\hyperlink{classkblib_1_1sparse__trie__map}{kblib\+::sparse\+\_\+trie\+\_\+map$<$ Key, Value, Extractor $>$}} \end{DoxyCompactItemize} \doxysubsection*{Namespaces} \begin{DoxyCompactItemize} \item namespace \mbox{\hyperlink{namespacekblib}{kblib}} \begin{DoxyCompactList}\small\item\em The main namespace in which all entities from kblib are defined. \end{DoxyCompactList}\item namespace \mbox{\hyperlink{namespacekblib_1_1detail}{kblib\+::detail}} \begin{DoxyCompactList}\small\item\em The namespace used for implementation details within kblib. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection*{Typedefs} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename Container $>$ }\\using \mbox{\hyperlink{namespacekblib_a0ec1db9166c1c7928e764aa17e4f01e6}{kblib\+::default\+\_\+extractor\+\_\+t}} = typename std\+::conditional$<$ extractor\+\_\+policy\+\_\+for$<$ Container $>$\+::value==extractor\+\_\+policy\+::random\+\_\+access, indexer\+\_\+extractor$<$ Container $>$, iterator\+\_\+extractor$<$ Container $>$ $>$\+::type \end{DoxyCompactItemize} \doxysubsection*{Enumerations} \begin{DoxyCompactItemize} \item enum class \mbox{\hyperlink{namespacekblib_a54f01b64a070a7f3e916ec21e1d0145f}{kblib\+::extractor\+\_\+policy}} \{ \mbox{\hyperlink{namespacekblib_a54f01b64a070a7f3e916ec21e1d0145fa982690af3684bc526ae7a353bc6ef61e}{kblib\+::forward\+\_\+iteration}} , \mbox{\hyperlink{namespacekblib_a54f01b64a070a7f3e916ec21e1d0145fa298bbb8f070170fc998ccac67856211b}{kblib\+::random\+\_\+access}} \} \end{DoxyCompactItemize} \doxysubsection{Detailed Description} Provides the trie data structure. \begin{DoxyAuthor}{Author} killerbee \end{DoxyAuthor} \begin{DoxyDate}{Date} 2019-\/2021 \end{DoxyDate} \begin{DoxyCopyright}{Copyright} GNU General Public Licence v3.\+0 \end{DoxyCopyright} Definition in file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.