\hypertarget{classebml_1_1seekHelperByEBMLID}{}\section{ebml\+:\+:seek\+Helper\+By\+E\+B\+M\+L\+ID$<$ K, H, E, A $>$ Class Template Reference}
\label{classebml_1_1seekHelperByEBMLID}\index{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+I\+D$<$ K, H, E, A $>$@{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+I\+D$<$ K, H, E, A $>$}}


Templated helper class for E\+B\+ML elements that search for key data within child elements.  




{\ttfamily \#include $<$seekdata.\+h$>$}

Inheritance diagram for ebml\+:\+:seek\+Helper\+By\+E\+B\+M\+L\+ID$<$ K, H, E, A $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classebml_1_1seekHelperByEBMLID}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classebml_1_1seekHelperByEBMLID_ad72d309b2bb91a8585a2a92978274d7b}{seek\+Helper\+By\+E\+B\+M\+L\+ID}} (\mbox{\hyperlink{namespaceebml_aecc1461ae359fae057c08a98d5926abf}{ebml\+I\+D\+\_\+t}} \mbox{\hyperlink{classebml_1_1seekHelperByEBMLID_a4238c0d1203a0e8e7d217ecd60599d6a}{ebml\+ID}})
\item 
\mbox{\hyperlink{classebml_1_1seekMap}{seek\+Map}}$<$ K, H, E, A $>$ $\ast$ \mbox{\hyperlink{classebml_1_1seekHelperByEBMLID_a979304f4f3eef843bd385961ced1e1e0}{init\+Seek\+Map}} () const
\item 
\mbox{\hyperlink{classebml_1_1seekData__t}{seek\+Data\+\_\+t}} $\ast$ \mbox{\hyperlink{classebml_1_1seekHelperByEBMLID_a6e1338f8446275e8d471667c01f5498f}{make\+Seek\+Data}} (const \mbox{\hyperlink{classebml_1_1parseString}{parse\+String}} \&parsed) const
\item 
\mbox{\hyperlink{classebml_1_1seekData__t}{seek\+Data\+\_\+t}} $\ast$ \mbox{\hyperlink{classebml_1_1seekHelperByEBMLID_ac1a7fefe8a7431a7e8fd9cbb5e976a62}{make\+Seek\+Data}} (const \mbox{\hyperlink{classebml_1_1parseFile}{parse\+File}} \&parsed) const
\item 
\mbox{\hyperlink{classebml_1_1seekData__t}{seek\+Data\+\_\+t}} $\ast$ \mbox{\hyperlink{classebml_1_1seekHelperByEBMLID_a49ab6683e29f11da466b5a30f54a7f82}{make\+Seek\+Data}} (\mbox{\hyperlink{classebml_1_1ebmlElement}{ebml\+Element}} \&elem) const =0
\item 
\mbox{\hyperlink{classebml_1_1seekData__t}{seek\+Data\+\_\+t}} $\ast$ \mbox{\hyperlink{classebml_1_1seekHelperByEBMLID_a641dabb4d9109cae56464c09f65b050c}{make\+Seek\+Data}} (const \mbox{\hyperlink{classebml_1_1ebmlElement}{ebml\+Element}} \&elem) const =0
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{namespaceebml_aecc1461ae359fae057c08a98d5926abf}{ebml\+I\+D\+\_\+t}} \mbox{\hyperlink{classebml_1_1seekHelperByEBMLID_a4238c0d1203a0e8e7d217ecd60599d6a}{ebml\+ID}}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename K, typename H = std\+::hash$<$\+K$>$, typename E = std\+::equal\+\_\+to$<$\+K$>$, typename A = std\+::allocator$<$std\+::pair$<$const K, seek\+Data\+With\+Key\+\_\+t$<$\+K$>$$\ast$$>$$>$$>$\newline
class ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+I\+D$<$ K, H, E, A $>$}

Templated helper class for E\+B\+ML elements that search for key data within child elements. 

Specializes the \mbox{\hyperlink{classebml_1_1seekHelper__t}{seek\+Helper\+\_\+t}} by focusing on a child element with a specific E\+B\+ML ID. When parsing, it iterates over child elements to find one with the matching E\+B\+ML ID, unpacks the key (of type K), and returns a seek\+Data\+With\+Key\+\_\+t$<$\+K$>$ instance.


\begin{DoxyTemplParams}{Template Parameters}
{\em K} & The key type. \\
\hline
{\em H} & Hash functor for key. \\
\hline
{\em E} & Equality comparison functor for key. \\
\hline
{\em A} & Allocator for key-\/data pairs. \\
\hline
\end{DoxyTemplParams}


\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classebml_1_1seekHelperByEBMLID_ad72d309b2bb91a8585a2a92978274d7b}\label{classebml_1_1seekHelperByEBMLID_ad72d309b2bb91a8585a2a92978274d7b}} 
\index{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID@{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}!seek\+Helper\+By\+E\+B\+M\+L\+ID@{seek\+Helper\+By\+E\+B\+M\+L\+ID}}
\index{seek\+Helper\+By\+E\+B\+M\+L\+ID@{seek\+Helper\+By\+E\+B\+M\+L\+ID}!ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID@{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}}
\subsubsection{\texorpdfstring{seek\+Helper\+By\+E\+B\+M\+L\+I\+D()}{seekHelperByEBMLID()}}
{\footnotesize\ttfamily template$<$typename K , typename H  = std\+::hash$<$\+K$>$, typename E  = std\+::equal\+\_\+to$<$\+K$>$, typename A  = std\+::allocator$<$std\+::pair$<$const K, seek\+Data\+With\+Key\+\_\+t$<$\+K$>$$\ast$$>$$>$$>$ \\
\mbox{\hyperlink{classebml_1_1seekHelperByEBMLID}{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}}$<$ K, H, E, A $>$\+::\mbox{\hyperlink{classebml_1_1seekHelperByEBMLID}{seek\+Helper\+By\+E\+B\+M\+L\+ID}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespaceebml_aecc1461ae359fae057c08a98d5926abf}{ebml\+I\+D\+\_\+t}}}]{ebml\+ID }\end{DoxyParamCaption})}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classebml_1_1seekHelperByEBMLID_a979304f4f3eef843bd385961ced1e1e0}\label{classebml_1_1seekHelperByEBMLID_a979304f4f3eef843bd385961ced1e1e0}} 
\index{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID@{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}!init\+Seek\+Map@{init\+Seek\+Map}}
\index{init\+Seek\+Map@{init\+Seek\+Map}!ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID@{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}}
\subsubsection{\texorpdfstring{init\+Seek\+Map()}{initSeekMap()}}
{\footnotesize\ttfamily template$<$typename K , typename H  = std\+::hash$<$\+K$>$, typename E  = std\+::equal\+\_\+to$<$\+K$>$, typename A  = std\+::allocator$<$std\+::pair$<$const K, seek\+Data\+With\+Key\+\_\+t$<$\+K$>$$\ast$$>$$>$$>$ \\
\mbox{\hyperlink{classebml_1_1seekMap}{seek\+Map}}$<$K, H, E, A$>$$\ast$ \mbox{\hyperlink{classebml_1_1seekHelperByEBMLID}{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}}$<$ K, H, E, A $>$\+::init\+Seek\+Map (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

\mbox{\Hypertarget{classebml_1_1seekHelperByEBMLID_a6e1338f8446275e8d471667c01f5498f}\label{classebml_1_1seekHelperByEBMLID_a6e1338f8446275e8d471667c01f5498f}} 
\index{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID@{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}!make\+Seek\+Data@{make\+Seek\+Data}}
\index{make\+Seek\+Data@{make\+Seek\+Data}!ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID@{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}}
\subsubsection{\texorpdfstring{make\+Seek\+Data()}{makeSeekData()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily template$<$typename K , typename H  = std\+::hash$<$\+K$>$, typename E  = std\+::equal\+\_\+to$<$\+K$>$, typename A  = std\+::allocator$<$std\+::pair$<$const K, seek\+Data\+With\+Key\+\_\+t$<$\+K$>$$\ast$$>$$>$$>$ \\
\mbox{\hyperlink{classebml_1_1seekData__t}{seek\+Data\+\_\+t}}$\ast$ \mbox{\hyperlink{classebml_1_1seekHelperByEBMLID}{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}}$<$ K, H, E, A $>$\+::make\+Seek\+Data (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classebml_1_1parseString}{parse\+String}} \&}]{parsed }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Reimplemented from \mbox{\hyperlink{classebml_1_1seekHelper__t_a5f92055d95c3947eacca7802760805ae}{ebml\+::seek\+Helper\+\_\+t}}.

\mbox{\Hypertarget{classebml_1_1seekHelperByEBMLID_ac1a7fefe8a7431a7e8fd9cbb5e976a62}\label{classebml_1_1seekHelperByEBMLID_ac1a7fefe8a7431a7e8fd9cbb5e976a62}} 
\index{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID@{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}!make\+Seek\+Data@{make\+Seek\+Data}}
\index{make\+Seek\+Data@{make\+Seek\+Data}!ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID@{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}}
\subsubsection{\texorpdfstring{make\+Seek\+Data()}{makeSeekData()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily template$<$typename K , typename H  = std\+::hash$<$\+K$>$, typename E  = std\+::equal\+\_\+to$<$\+K$>$, typename A  = std\+::allocator$<$std\+::pair$<$const K, seek\+Data\+With\+Key\+\_\+t$<$\+K$>$$\ast$$>$$>$$>$ \\
\mbox{\hyperlink{classebml_1_1seekData__t}{seek\+Data\+\_\+t}}$\ast$ \mbox{\hyperlink{classebml_1_1seekHelperByEBMLID}{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}}$<$ K, H, E, A $>$\+::make\+Seek\+Data (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classebml_1_1parseFile}{parse\+File}} \&}]{parsed }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Reimplemented from \mbox{\hyperlink{classebml_1_1seekHelper__t_ab6817c99590972aaf15f2befa13bbd5c}{ebml\+::seek\+Helper\+\_\+t}}.

\mbox{\Hypertarget{classebml_1_1seekHelperByEBMLID_a49ab6683e29f11da466b5a30f54a7f82}\label{classebml_1_1seekHelperByEBMLID_a49ab6683e29f11da466b5a30f54a7f82}} 
\index{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID@{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}!make\+Seek\+Data@{make\+Seek\+Data}}
\index{make\+Seek\+Data@{make\+Seek\+Data}!ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID@{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}}
\subsubsection{\texorpdfstring{make\+Seek\+Data()}{makeSeekData()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily template$<$typename K , typename H  = std\+::hash$<$\+K$>$, typename E  = std\+::equal\+\_\+to$<$\+K$>$, typename A  = std\+::allocator$<$std\+::pair$<$const K, seek\+Data\+With\+Key\+\_\+t$<$\+K$>$$\ast$$>$$>$$>$ \\
\mbox{\hyperlink{classebml_1_1seekData__t}{seek\+Data\+\_\+t}}$\ast$ \mbox{\hyperlink{classebml_1_1seekHelperByEBMLID}{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}}$<$ K, H, E, A $>$\+::make\+Seek\+Data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classebml_1_1ebmlElement}{ebml\+Element}} \&}]{elem }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Reimplemented from \mbox{\hyperlink{classebml_1_1seekHelper__t_a5f4a567255e00ebf6a9a6e9e17942006}{ebml\+::seek\+Helper\+\_\+t}}.



Implemented in \mbox{\hyperlink{classebml_1_1ebmlLazyLoadSeekHelper_ad45831e9d0882c7840ba5d942f815eaa}{ebml\+::ebml\+Lazy\+Load\+Seek\+Helper$<$ K, H, E, A $>$}}.

\mbox{\Hypertarget{classebml_1_1seekHelperByEBMLID_a641dabb4d9109cae56464c09f65b050c}\label{classebml_1_1seekHelperByEBMLID_a641dabb4d9109cae56464c09f65b050c}} 
\index{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID@{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}!make\+Seek\+Data@{make\+Seek\+Data}}
\index{make\+Seek\+Data@{make\+Seek\+Data}!ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID@{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}}
\subsubsection{\texorpdfstring{make\+Seek\+Data()}{makeSeekData()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily template$<$typename K , typename H  = std\+::hash$<$\+K$>$, typename E  = std\+::equal\+\_\+to$<$\+K$>$, typename A  = std\+::allocator$<$std\+::pair$<$const K, seek\+Data\+With\+Key\+\_\+t$<$\+K$>$$\ast$$>$$>$$>$ \\
\mbox{\hyperlink{classebml_1_1seekData__t}{seek\+Data\+\_\+t}}$\ast$ \mbox{\hyperlink{classebml_1_1seekHelperByEBMLID}{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}}$<$ K, H, E, A $>$\+::make\+Seek\+Data (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classebml_1_1ebmlElement}{ebml\+Element}} \&}]{elem }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Reimplemented from \mbox{\hyperlink{classebml_1_1seekHelper__t_ae84290c9dbf7beafa16ced383bbf5900}{ebml\+::seek\+Helper\+\_\+t}}.



Implemented in \mbox{\hyperlink{classebml_1_1ebmlLazyLoadSeekHelper_a2631ef54912cf7b1e15e1dab7c66b63b}{ebml\+::ebml\+Lazy\+Load\+Seek\+Helper$<$ K, H, E, A $>$}}.



\subsection{Member Data Documentation}
\mbox{\Hypertarget{classebml_1_1seekHelperByEBMLID_a4238c0d1203a0e8e7d217ecd60599d6a}\label{classebml_1_1seekHelperByEBMLID_a4238c0d1203a0e8e7d217ecd60599d6a}} 
\index{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID@{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}!ebml\+ID@{ebml\+ID}}
\index{ebml\+ID@{ebml\+ID}!ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID@{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}}
\subsubsection{\texorpdfstring{ebml\+ID}{ebmlID}}
{\footnotesize\ttfamily template$<$typename K , typename H  = std\+::hash$<$\+K$>$, typename E  = std\+::equal\+\_\+to$<$\+K$>$, typename A  = std\+::allocator$<$std\+::pair$<$const K, seek\+Data\+With\+Key\+\_\+t$<$\+K$>$$\ast$$>$$>$$>$ \\
\mbox{\hyperlink{namespaceebml_aecc1461ae359fae057c08a98d5926abf}{ebml\+I\+D\+\_\+t}} \mbox{\hyperlink{classebml_1_1seekHelperByEBMLID}{ebml\+::seek\+Helper\+By\+E\+B\+M\+L\+ID}}$<$ K, H, E, A $>$\+::ebml\+ID}



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
src/libebml\+\_\+ng/\mbox{\hyperlink{seekdata_8h}{seekdata.\+h}}\end{DoxyCompactItemize}
