\hypertarget{classkblib_1_1trie}{}\doxysection{kblib\+::trie\texorpdfstring{$<$}{<} Key, T, Extractor, bool \texorpdfstring{$>$}{>} Class Template Reference}
\label{classkblib_1_1trie}\index{kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}}


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

\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
using \mbox{\hyperlink{classkblib_1_1trie_ad7935fc8e14a3fac10037a384d9568d4}{key\+\_\+type}} = Key
\item 
using \mbox{\hyperlink{classkblib_1_1trie_a30dd0e81833b0400a8e245ef7200b9a9}{mapped\+\_\+type}} = T
\item 
using \mbox{\hyperlink{classkblib_1_1trie_aede07af27dd224aadc4ab856b18964b2}{value\+\_\+type}} = std\+::pair$<$ \mbox{\hyperlink{classkblib_1_1trie_ad7935fc8e14a3fac10037a384d9568d4}{key\+\_\+type}}, \mbox{\hyperlink{classkblib_1_1trie_a30dd0e81833b0400a8e245ef7200b9a9}{mapped\+\_\+type}} $>$
\item 
using \mbox{\hyperlink{classkblib_1_1trie_a1c2587f2073383c66f4a7f139bed1c35}{extractor}} = Extractor
\item 
using \mbox{\hyperlink{classkblib_1_1trie_ae33f0bf01cb7ffa772c9e4c039434864}{node\+\_\+type}} = \mbox{\hyperlink{structkblib_1_1detail_1_1node}{detail\+::node}}$<$ typename extractor\+::value\+\_\+type, \mbox{\hyperlink{classkblib_1_1trie_aede07af27dd224aadc4ab856b18964b2}{value\+\_\+type}} $>$
\item 
using \mbox{\hyperlink{classkblib_1_1trie_a4e46b941164d27286cdafbbc3022ebd0}{size\+\_\+type}} = std\+::size\+\_\+t
\item 
using \mbox{\hyperlink{classkblib_1_1trie_ab45698024fb9151687da6106163b67ed}{difference\+\_\+type}} = std\+::ptrdiff\+\_\+t
\item 
using \mbox{\hyperlink{classkblib_1_1trie_a4f7a93d627b8062d24d11726ea39813e}{reference}} = T \&
\item 
using \mbox{\hyperlink{classkblib_1_1trie_a9b789fe484d48a1508c19bb0f375de07}{const\+\_\+reference}} = const T \&
\item 
using \mbox{\hyperlink{classkblib_1_1trie_a3b902ee66ad99bc5c39939ab47e8984b}{pointer}} = T $\ast$
\item 
using \mbox{\hyperlink{classkblib_1_1trie_a71643ae34b4b75f7c0b5174ea1f500bd}{const\+\_\+pointer}} = const T $\ast$
\item 
using \mbox{\hyperlink{classkblib_1_1trie_a7aebb27a546149c5a8289173eb5c1263}{iterator}} = void
\item 
using \mbox{\hyperlink{classkblib_1_1trie_adb744a97b30676352357ddf31b9b69bf}{const\+\_\+iterator}} = void
\item 
using \mbox{\hyperlink{classkblib_1_1trie_a76851afb5f034db1f75a1357f8c5a556}{reverse\+\_\+iterator}} = std\+::reverse\+\_\+iterator$<$ \mbox{\hyperlink{classkblib_1_1trie_a7aebb27a546149c5a8289173eb5c1263}{iterator}} $>$
\item 
using \mbox{\hyperlink{classkblib_1_1trie_a207e54c6bfceeaca30bd371801664693}{const\+\_\+reverse\+\_\+iterator}} = std\+::reverse\+\_\+iterator$<$ \mbox{\hyperlink{classkblib_1_1trie_adb744a97b30676352357ddf31b9b69bf}{const\+\_\+iterator}} $>$
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Key, typename T, typename Extractor = default\+\_\+extractor\+\_\+t$<$\+Key$>$, bool = kblib\+::is\+\_\+linear\+\_\+container$<$\+Key$>$\+::value$>$\newline
class kblib\+::trie$<$ Key, T, Extractor, bool $>$}


Definition at line \mbox{\hyperlink{trie_8h_source_l00100}{100}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.



\doxysubsection{Member Typedef Documentation}
\mbox{\Hypertarget{classkblib_1_1trie_adb744a97b30676352357ddf31b9b69bf}\label{classkblib_1_1trie_adb744a97b30676352357ddf31b9b69bf}} 
\index{kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}!const\_iterator@{const\_iterator}}
\index{const\_iterator@{const\_iterator}!kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}}
\doxysubsubsection{\texorpdfstring{const\_iterator}{const\_iterator}}
{\footnotesize\ttfamily template$<$typename Key , typename T , typename Extractor  = default\+\_\+extractor\+\_\+t$<$\+Key$>$, bool  = kblib\+::is\+\_\+linear\+\_\+container$<$\+Key$>$\+::value$>$ \\
using \mbox{\hyperlink{classkblib_1_1trie}{kblib\+::trie}}$<$ Key, T, Extractor, bool $>$\+::const\+\_\+iterator =  void}



Definition at line \mbox{\hyperlink{trie_8h_source_l00116}{116}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.

\mbox{\Hypertarget{classkblib_1_1trie_a71643ae34b4b75f7c0b5174ea1f500bd}\label{classkblib_1_1trie_a71643ae34b4b75f7c0b5174ea1f500bd}} 
\index{kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}!const\_pointer@{const\_pointer}}
\index{const\_pointer@{const\_pointer}!kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}}
\doxysubsubsection{\texorpdfstring{const\_pointer}{const\_pointer}}
{\footnotesize\ttfamily template$<$typename Key , typename T , typename Extractor  = default\+\_\+extractor\+\_\+t$<$\+Key$>$, bool  = kblib\+::is\+\_\+linear\+\_\+container$<$\+Key$>$\+::value$>$ \\
using \mbox{\hyperlink{classkblib_1_1trie}{kblib\+::trie}}$<$ Key, T, Extractor, bool $>$\+::const\+\_\+pointer =  const T$\ast$}



Definition at line \mbox{\hyperlink{trie_8h_source_l00113}{113}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.

\mbox{\Hypertarget{classkblib_1_1trie_a9b789fe484d48a1508c19bb0f375de07}\label{classkblib_1_1trie_a9b789fe484d48a1508c19bb0f375de07}} 
\index{kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}!const\_reference@{const\_reference}}
\index{const\_reference@{const\_reference}!kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}}
\doxysubsubsection{\texorpdfstring{const\_reference}{const\_reference}}
{\footnotesize\ttfamily template$<$typename Key , typename T , typename Extractor  = default\+\_\+extractor\+\_\+t$<$\+Key$>$, bool  = kblib\+::is\+\_\+linear\+\_\+container$<$\+Key$>$\+::value$>$ \\
using \mbox{\hyperlink{classkblib_1_1trie}{kblib\+::trie}}$<$ Key, T, Extractor, bool $>$\+::const\+\_\+reference =  const T\&}



Definition at line \mbox{\hyperlink{trie_8h_source_l00111}{111}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.

\mbox{\Hypertarget{classkblib_1_1trie_a207e54c6bfceeaca30bd371801664693}\label{classkblib_1_1trie_a207e54c6bfceeaca30bd371801664693}} 
\index{kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}!const\_reverse\_iterator@{const\_reverse\_iterator}}
\index{const\_reverse\_iterator@{const\_reverse\_iterator}!kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}}
\doxysubsubsection{\texorpdfstring{const\_reverse\_iterator}{const\_reverse\_iterator}}
{\footnotesize\ttfamily template$<$typename Key , typename T , typename Extractor  = default\+\_\+extractor\+\_\+t$<$\+Key$>$, bool  = kblib\+::is\+\_\+linear\+\_\+container$<$\+Key$>$\+::value$>$ \\
using \mbox{\hyperlink{classkblib_1_1trie}{kblib\+::trie}}$<$ Key, T, Extractor, bool $>$\+::const\+\_\+reverse\+\_\+iterator =  std\+::reverse\+\_\+iterator$<$\mbox{\hyperlink{classkblib_1_1trie_adb744a97b30676352357ddf31b9b69bf}{const\+\_\+iterator}}$>$}



Definition at line \mbox{\hyperlink{trie_8h_source_l00118}{118}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.

\mbox{\Hypertarget{classkblib_1_1trie_ab45698024fb9151687da6106163b67ed}\label{classkblib_1_1trie_ab45698024fb9151687da6106163b67ed}} 
\index{kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}!difference\_type@{difference\_type}}
\index{difference\_type@{difference\_type}!kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}}
\doxysubsubsection{\texorpdfstring{difference\_type}{difference\_type}}
{\footnotesize\ttfamily template$<$typename Key , typename T , typename Extractor  = default\+\_\+extractor\+\_\+t$<$\+Key$>$, bool  = kblib\+::is\+\_\+linear\+\_\+container$<$\+Key$>$\+::value$>$ \\
using \mbox{\hyperlink{classkblib_1_1trie}{kblib\+::trie}}$<$ Key, T, Extractor, bool $>$\+::difference\+\_\+type =  std\+::ptrdiff\+\_\+t}



Definition at line \mbox{\hyperlink{trie_8h_source_l00109}{109}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.

\mbox{\Hypertarget{classkblib_1_1trie_a1c2587f2073383c66f4a7f139bed1c35}\label{classkblib_1_1trie_a1c2587f2073383c66f4a7f139bed1c35}} 
\index{kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}!extractor@{extractor}}
\index{extractor@{extractor}!kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}}
\doxysubsubsection{\texorpdfstring{extractor}{extractor}}
{\footnotesize\ttfamily template$<$typename Key , typename T , typename Extractor  = default\+\_\+extractor\+\_\+t$<$\+Key$>$, bool  = kblib\+::is\+\_\+linear\+\_\+container$<$\+Key$>$\+::value$>$ \\
using \mbox{\hyperlink{classkblib_1_1trie}{kblib\+::trie}}$<$ Key, T, Extractor, bool $>$\+::extractor =  Extractor}



Definition at line \mbox{\hyperlink{trie_8h_source_l00105}{105}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.

\mbox{\Hypertarget{classkblib_1_1trie_a7aebb27a546149c5a8289173eb5c1263}\label{classkblib_1_1trie_a7aebb27a546149c5a8289173eb5c1263}} 
\index{kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}!iterator@{iterator}}
\index{iterator@{iterator}!kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}}
\doxysubsubsection{\texorpdfstring{iterator}{iterator}}
{\footnotesize\ttfamily template$<$typename Key , typename T , typename Extractor  = default\+\_\+extractor\+\_\+t$<$\+Key$>$, bool  = kblib\+::is\+\_\+linear\+\_\+container$<$\+Key$>$\+::value$>$ \\
using \mbox{\hyperlink{classkblib_1_1trie}{kblib\+::trie}}$<$ Key, T, Extractor, bool $>$\+::iterator =  void}



Definition at line \mbox{\hyperlink{trie_8h_source_l00115}{115}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.

\mbox{\Hypertarget{classkblib_1_1trie_ad7935fc8e14a3fac10037a384d9568d4}\label{classkblib_1_1trie_ad7935fc8e14a3fac10037a384d9568d4}} 
\index{kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}!key\_type@{key\_type}}
\index{key\_type@{key\_type}!kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}}
\doxysubsubsection{\texorpdfstring{key\_type}{key\_type}}
{\footnotesize\ttfamily template$<$typename Key , typename T , typename Extractor  = default\+\_\+extractor\+\_\+t$<$\+Key$>$, bool  = kblib\+::is\+\_\+linear\+\_\+container$<$\+Key$>$\+::value$>$ \\
using \mbox{\hyperlink{classkblib_1_1trie}{kblib\+::trie}}$<$ Key, T, Extractor, bool $>$\+::key\+\_\+type =  Key}



Definition at line \mbox{\hyperlink{trie_8h_source_l00102}{102}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.

\mbox{\Hypertarget{classkblib_1_1trie_a30dd0e81833b0400a8e245ef7200b9a9}\label{classkblib_1_1trie_a30dd0e81833b0400a8e245ef7200b9a9}} 
\index{kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}!mapped\_type@{mapped\_type}}
\index{mapped\_type@{mapped\_type}!kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}}
\doxysubsubsection{\texorpdfstring{mapped\_type}{mapped\_type}}
{\footnotesize\ttfamily template$<$typename Key , typename T , typename Extractor  = default\+\_\+extractor\+\_\+t$<$\+Key$>$, bool  = kblib\+::is\+\_\+linear\+\_\+container$<$\+Key$>$\+::value$>$ \\
using \mbox{\hyperlink{classkblib_1_1trie}{kblib\+::trie}}$<$ Key, T, Extractor, bool $>$\+::mapped\+\_\+type =  T}



Definition at line \mbox{\hyperlink{trie_8h_source_l00103}{103}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.

\mbox{\Hypertarget{classkblib_1_1trie_ae33f0bf01cb7ffa772c9e4c039434864}\label{classkblib_1_1trie_ae33f0bf01cb7ffa772c9e4c039434864}} 
\index{kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}!node\_type@{node\_type}}
\index{node\_type@{node\_type}!kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}}
\doxysubsubsection{\texorpdfstring{node\_type}{node\_type}}
{\footnotesize\ttfamily template$<$typename Key , typename T , typename Extractor  = default\+\_\+extractor\+\_\+t$<$\+Key$>$, bool  = kblib\+::is\+\_\+linear\+\_\+container$<$\+Key$>$\+::value$>$ \\
using \mbox{\hyperlink{classkblib_1_1trie}{kblib\+::trie}}$<$ Key, T, Extractor, bool $>$\+::node\+\_\+type =  \mbox{\hyperlink{structkblib_1_1detail_1_1node}{detail\+::node}}$<$typename extractor\+::value\+\_\+type, \mbox{\hyperlink{classkblib_1_1trie_aede07af27dd224aadc4ab856b18964b2}{value\+\_\+type}}$>$}



Definition at line \mbox{\hyperlink{trie_8h_source_l00106}{106}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.

\mbox{\Hypertarget{classkblib_1_1trie_a3b902ee66ad99bc5c39939ab47e8984b}\label{classkblib_1_1trie_a3b902ee66ad99bc5c39939ab47e8984b}} 
\index{kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}!pointer@{pointer}}
\index{pointer@{pointer}!kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}}
\doxysubsubsection{\texorpdfstring{pointer}{pointer}}
{\footnotesize\ttfamily template$<$typename Key , typename T , typename Extractor  = default\+\_\+extractor\+\_\+t$<$\+Key$>$, bool  = kblib\+::is\+\_\+linear\+\_\+container$<$\+Key$>$\+::value$>$ \\
using \mbox{\hyperlink{classkblib_1_1trie}{kblib\+::trie}}$<$ Key, T, Extractor, bool $>$\+::pointer =  T$\ast$}



Definition at line \mbox{\hyperlink{trie_8h_source_l00112}{112}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.

\mbox{\Hypertarget{classkblib_1_1trie_a4f7a93d627b8062d24d11726ea39813e}\label{classkblib_1_1trie_a4f7a93d627b8062d24d11726ea39813e}} 
\index{kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}!reference@{reference}}
\index{reference@{reference}!kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}}
\doxysubsubsection{\texorpdfstring{reference}{reference}}
{\footnotesize\ttfamily template$<$typename Key , typename T , typename Extractor  = default\+\_\+extractor\+\_\+t$<$\+Key$>$, bool  = kblib\+::is\+\_\+linear\+\_\+container$<$\+Key$>$\+::value$>$ \\
using \mbox{\hyperlink{classkblib_1_1trie}{kblib\+::trie}}$<$ Key, T, Extractor, bool $>$\+::reference =  T\&}



Definition at line \mbox{\hyperlink{trie_8h_source_l00110}{110}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.

\mbox{\Hypertarget{classkblib_1_1trie_a76851afb5f034db1f75a1357f8c5a556}\label{classkblib_1_1trie_a76851afb5f034db1f75a1357f8c5a556}} 
\index{kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}!reverse\_iterator@{reverse\_iterator}}
\index{reverse\_iterator@{reverse\_iterator}!kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}}
\doxysubsubsection{\texorpdfstring{reverse\_iterator}{reverse\_iterator}}
{\footnotesize\ttfamily template$<$typename Key , typename T , typename Extractor  = default\+\_\+extractor\+\_\+t$<$\+Key$>$, bool  = kblib\+::is\+\_\+linear\+\_\+container$<$\+Key$>$\+::value$>$ \\
using \mbox{\hyperlink{classkblib_1_1trie}{kblib\+::trie}}$<$ Key, T, Extractor, bool $>$\+::reverse\+\_\+iterator =  std\+::reverse\+\_\+iterator$<$\mbox{\hyperlink{classkblib_1_1trie_a7aebb27a546149c5a8289173eb5c1263}{iterator}}$>$}



Definition at line \mbox{\hyperlink{trie_8h_source_l00117}{117}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.

\mbox{\Hypertarget{classkblib_1_1trie_a4e46b941164d27286cdafbbc3022ebd0}\label{classkblib_1_1trie_a4e46b941164d27286cdafbbc3022ebd0}} 
\index{kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}!size\_type@{size\_type}}
\index{size\_type@{size\_type}!kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}}
\doxysubsubsection{\texorpdfstring{size\_type}{size\_type}}
{\footnotesize\ttfamily template$<$typename Key , typename T , typename Extractor  = default\+\_\+extractor\+\_\+t$<$\+Key$>$, bool  = kblib\+::is\+\_\+linear\+\_\+container$<$\+Key$>$\+::value$>$ \\
using \mbox{\hyperlink{classkblib_1_1trie}{kblib\+::trie}}$<$ Key, T, Extractor, bool $>$\+::size\+\_\+type =  std\+::size\+\_\+t}



Definition at line \mbox{\hyperlink{trie_8h_source_l00108}{108}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.

\mbox{\Hypertarget{classkblib_1_1trie_aede07af27dd224aadc4ab856b18964b2}\label{classkblib_1_1trie_aede07af27dd224aadc4ab856b18964b2}} 
\index{kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}!value\_type@{value\_type}}
\index{value\_type@{value\_type}!kblib::trie$<$ Key, T, Extractor, bool $>$@{kblib::trie$<$ Key, T, Extractor, bool $>$}}
\doxysubsubsection{\texorpdfstring{value\_type}{value\_type}}
{\footnotesize\ttfamily template$<$typename Key , typename T , typename Extractor  = default\+\_\+extractor\+\_\+t$<$\+Key$>$, bool  = kblib\+::is\+\_\+linear\+\_\+container$<$\+Key$>$\+::value$>$ \\
using \mbox{\hyperlink{classkblib_1_1trie}{kblib\+::trie}}$<$ Key, T, Extractor, bool $>$\+::value\+\_\+type =  std\+::pair$<$\mbox{\hyperlink{classkblib_1_1trie_ad7935fc8e14a3fac10037a384d9568d4}{key\+\_\+type}}, \mbox{\hyperlink{classkblib_1_1trie_a30dd0e81833b0400a8e245ef7200b9a9}{mapped\+\_\+type}}$>$}



Definition at line \mbox{\hyperlink{trie_8h_source_l00104}{104}} of file \mbox{\hyperlink{trie_8h_source}{trie.\+h}}.



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