\hypertarget{classebml_1_1childTypeSpec__t}{}\section{ebml\+:\+:child\+Type\+Spec\+\_\+t Class Reference}
\label{classebml_1_1childTypeSpec__t}\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}


Specifies accepted child element types within a parent element.  




{\ttfamily \#include $<$child\+Type\+Spec.\+h$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classebml_1_1childTypeSpec__t_aa09af7979474b5dec39d91391cb15bd9}{child\+Type\+Spec\+\_\+t}} ()
\item 
\mbox{\hyperlink{classebml_1_1childTypeSpec__t_a4fa7a43b7d48c999ebfd8b9ab34a70d3}{child\+Type\+Spec\+\_\+t}} (\mbox{\hyperlink{namespaceebml_ab649890af169e86ac2c864003f189c75}{child\+Class\+Spec\+Arg\+\_\+init\+\_\+l}})
\item 
\mbox{\hyperlink{classebml_1_1childTypeSpec__t_a410b8c86b783e79b184d8aac1a988b9b}{child\+Type\+Spec\+\_\+t}} (const \mbox{\hyperlink{namespaceebml_a645f6e04baad2c70d2ab9e7c92a1754d}{child\+Type\+Spec\+Arg\+\_\+l}} \&)
\item 
\mbox{\hyperlink{classebml_1_1childTypeSpec__t_a406fde5669fe1adc6846c71aafc50826}{child\+Type\+Spec\+\_\+t}} (const \mbox{\hyperlink{classebml_1_1childTypeSpec__t}{child\+Type\+Spec\+\_\+t}} \&)=default
\item 
\mbox{\hyperlink{classebml_1_1childTypeSpec__t_ad05358834882e9eebb1adf8b61258449}{child\+Type\+Spec\+\_\+t}} (\mbox{\hyperlink{classebml_1_1childTypeSpec__t}{child\+Type\+Spec\+\_\+t}} \&\&)=default
\item 
\mbox{\hyperlink{classebml_1_1childTypeSpec__t}{child\+Type\+Spec\+\_\+t}} \& \mbox{\hyperlink{classebml_1_1childTypeSpec__t_a73438bf07a0e075d43dae3f657d47154}{operator=}} (\mbox{\hyperlink{namespaceebml_ab649890af169e86ac2c864003f189c75}{child\+Class\+Spec\+Arg\+\_\+init\+\_\+l}})
\item 
\mbox{\hyperlink{classebml_1_1childTypeSpec__t}{child\+Type\+Spec\+\_\+t}} \& \mbox{\hyperlink{classebml_1_1childTypeSpec__t_ace7edd0b93190d45d95b9ce67a36fed7}{operator=}} (const \mbox{\hyperlink{namespaceebml_a645f6e04baad2c70d2ab9e7c92a1754d}{child\+Type\+Spec\+Arg\+\_\+l}} \&)
\item 
\mbox{\hyperlink{classebml_1_1childTypeSpec__t}{child\+Type\+Spec\+\_\+t}} \& \mbox{\hyperlink{classebml_1_1childTypeSpec__t_a905dd2e78ffdabd91b7ea58430e78dde}{operator=}} (const \mbox{\hyperlink{classebml_1_1childTypeSpec__t}{child\+Type\+Spec\+\_\+t}} \&)=default
\item 
\mbox{\hyperlink{classebml_1_1childTypeSpec__t}{child\+Type\+Spec\+\_\+t}} \& \mbox{\hyperlink{classebml_1_1childTypeSpec__t_a9e9943c81101b2a9a9f654975dd32ec1}{operator=}} (\mbox{\hyperlink{classebml_1_1childTypeSpec__t}{child\+Type\+Spec\+\_\+t}} \&\&)=default
\item 
void \mbox{\hyperlink{classebml_1_1childTypeSpec__t_a5b4bfd82cfcb07595a2ed54fba082522}{add}} (const \mbox{\hyperlink{structebml_1_1childTypeSpecArg__t}{child\+Type\+Spec\+Arg\+\_\+t}} \&)
\begin{DoxyCompactList}\small\item\em Adds a child type. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classebml_1_1childTypeSpec__t_a2bb016a41cab90b4a08eb10765c69fd5}{add}} (const \mbox{\hyperlink{classebml_1_1ebmlElementType}{ebml\+Element\+Type}} $\ast$, unsigned long min=0, long max=-\/1)
\begin{DoxyCompactList}\small\item\em Adds a child type with occurrence limits. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classebml_1_1childTypeSpec__t_a95b6d3423a3454ae49f75f69b8bd5c37}{remove}} (\mbox{\hyperlink{namespaceebml_aecc1461ae359fae057c08a98d5926abf}{ebml\+I\+D\+\_\+t}})
\begin{DoxyCompactList}\small\item\em Removes child type for a given E\+B\+ML ID. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{classebml_1_1ebmlElementType}{ebml\+Element\+Type}} $\ast$ \mbox{\hyperlink{classebml_1_1childTypeSpec__t_a2eca924f3b14083cf6a8c84a4234b2dc}{operator\mbox{[}$\,$\mbox{]}}} (\mbox{\hyperlink{namespaceebml_aecc1461ae359fae057c08a98d5926abf}{ebml\+I\+D\+\_\+t}}) const
\begin{DoxyCompactList}\small\item\em Retrieves the child type for a given E\+B\+ML ID. \end{DoxyCompactList}\item 
size\+\_\+t \mbox{\hyperlink{classebml_1_1childTypeSpec__t_a1af6bfa08da682f8ed9a36a06cc4393a}{count}} (\mbox{\hyperlink{namespaceebml_aecc1461ae359fae057c08a98d5926abf}{ebml\+I\+D\+\_\+t}}) const
\begin{DoxyCompactList}\small\item\em Determines if a child type for a given E\+B\+ML ID exists. \end{DoxyCompactList}\item 
size\+\_\+t \mbox{\hyperlink{classebml_1_1childTypeSpec__t_af945efbffbab1450ce0c3df7f5aedcc5}{count}} (const \mbox{\hyperlink{classebml_1_1ebmlElementType}{ebml\+Element\+Type}} $\ast$) const
\begin{DoxyCompactList}\small\item\em Determines if an {\ttfamily \mbox{\hyperlink{classebml_1_1ebmlElementType}{ebml\+::ebml\+Element\+Type}}} instance is a child type. \end{DoxyCompactList}\item 
size\+\_\+t \mbox{\hyperlink{classebml_1_1childTypeSpec__t_ac60e64925d52307490400658917cd42b}{size}} () const
\begin{DoxyCompactList}\small\item\em Returns the total number of child type specifications. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{namespaceebml_a1cd7dafb7e8e8975fecc4a11ef03c5be}{occur\+Spec\+\_\+d}} \& \mbox{\hyperlink{classebml_1_1childTypeSpec__t_aa8a1cf4587809e83ddc232b01c5cf77e}{occur\+Spec}} () const
\begin{DoxyCompactList}\small\item\em Retrieves the complete occurrence specifications. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{structebml_1_1occurSpec__t}{occur\+Spec\+\_\+t}} \& \mbox{\hyperlink{classebml_1_1childTypeSpec__t_ac2d7a3a055c27fca6f42e997b7e743c3}{occur\+Spec}} (\mbox{\hyperlink{namespaceebml_aecc1461ae359fae057c08a98d5926abf}{ebml\+I\+D\+\_\+t}}) const
\begin{DoxyCompactList}\small\item\em Retrieves the occurrence specification for a given E\+B\+ML ID. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{structebml_1_1occurSpec__t}{occur\+Spec\+\_\+t}} \& \mbox{\hyperlink{classebml_1_1childTypeSpec__t_a7b033263ab40bbf17138e5f7d470d6f3}{occur\+Spec}} (const \mbox{\hyperlink{classebml_1_1ebmlElementType}{ebml\+Element\+Type}} $\ast$) const
\begin{DoxyCompactList}\small\item\em Retrieves the occurrence specification for a given child type. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classebml_1_1childTypeSpec__t_a0ec03e04829babf8027412a962137cf3}{is\+Valid}} (const \mbox{\hyperlink{namespaceebml_ad0162e37f2456e68ea8b1ce7e08b398e}{ebml\+Element\+\_\+sp}} \&) const
\begin{DoxyCompactList}\small\item\em Checks whether a given element is valid under this specification. \end{DoxyCompactList}\item 
ebml\+Element\+Class\+\_\+d\+::const\+\_\+iterator \mbox{\hyperlink{classebml_1_1childTypeSpec__t_a23efe64d4b3712df9db1408f6af9491f}{begin}} () const
\begin{DoxyCompactList}\small\item\em Returns an iterator pointing to the beginning of the specifications. \end{DoxyCompactList}\item 
ebml\+Element\+Class\+\_\+d\+::const\+\_\+iterator \mbox{\hyperlink{classebml_1_1childTypeSpec__t_a7e2df5bd0b78756ff19ac5f5207efcbd}{end}} () const
\begin{DoxyCompactList}\small\item\em Returns an iterator pointing past the end of the specifications. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Specifies accepted child element types within a parent element. 

This class is used to look up allowed \mbox{\hyperlink{classebml_1_1ebmlElementType}{ebml\+Element\+Type}} instances by E\+B\+ML ID and to validate occurrences. Instances of this class are stored within an {\ttfamily \mbox{\hyperlink{classebml_1_1ebmlMasterElementType}{ebml\+::ebml\+Master\+Element\+Type}}} instance. 

\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_aa09af7979474b5dec39d91391cb15bd9}\label{classebml_1_1childTypeSpec__t_aa09af7979474b5dec39d91391cb15bd9}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!child\+Type\+Spec\+\_\+t@{child\+Type\+Spec\+\_\+t}}
\index{child\+Type\+Spec\+\_\+t@{child\+Type\+Spec\+\_\+t}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{child\+Type\+Spec\+\_\+t()}{childTypeSpec\_t()}\hspace{0.1cm}{\footnotesize\ttfamily [1/5]}}
{\footnotesize\ttfamily ebml\+::child\+Type\+Spec\+\_\+t\+::child\+Type\+Spec\+\_\+t (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_a4fa7a43b7d48c999ebfd8b9ab34a70d3}\label{classebml_1_1childTypeSpec__t_a4fa7a43b7d48c999ebfd8b9ab34a70d3}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!child\+Type\+Spec\+\_\+t@{child\+Type\+Spec\+\_\+t}}
\index{child\+Type\+Spec\+\_\+t@{child\+Type\+Spec\+\_\+t}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{child\+Type\+Spec\+\_\+t()}{childTypeSpec\_t()}\hspace{0.1cm}{\footnotesize\ttfamily [2/5]}}
{\footnotesize\ttfamily ebml\+::child\+Type\+Spec\+\_\+t\+::child\+Type\+Spec\+\_\+t (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespaceebml_ab649890af169e86ac2c864003f189c75}{child\+Class\+Spec\+Arg\+\_\+init\+\_\+l}}}]{items }\end{DoxyParamCaption})}

\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_a410b8c86b783e79b184d8aac1a988b9b}\label{classebml_1_1childTypeSpec__t_a410b8c86b783e79b184d8aac1a988b9b}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!child\+Type\+Spec\+\_\+t@{child\+Type\+Spec\+\_\+t}}
\index{child\+Type\+Spec\+\_\+t@{child\+Type\+Spec\+\_\+t}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{child\+Type\+Spec\+\_\+t()}{childTypeSpec\_t()}\hspace{0.1cm}{\footnotesize\ttfamily [3/5]}}
{\footnotesize\ttfamily ebml\+::child\+Type\+Spec\+\_\+t\+::child\+Type\+Spec\+\_\+t (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespaceebml_a645f6e04baad2c70d2ab9e7c92a1754d}{child\+Type\+Spec\+Arg\+\_\+l}} \&}]{items }\end{DoxyParamCaption})}

\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_a406fde5669fe1adc6846c71aafc50826}\label{classebml_1_1childTypeSpec__t_a406fde5669fe1adc6846c71aafc50826}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!child\+Type\+Spec\+\_\+t@{child\+Type\+Spec\+\_\+t}}
\index{child\+Type\+Spec\+\_\+t@{child\+Type\+Spec\+\_\+t}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{child\+Type\+Spec\+\_\+t()}{childTypeSpec\_t()}\hspace{0.1cm}{\footnotesize\ttfamily [4/5]}}
{\footnotesize\ttfamily ebml\+::child\+Type\+Spec\+\_\+t\+::child\+Type\+Spec\+\_\+t (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classebml_1_1childTypeSpec__t}{child\+Type\+Spec\+\_\+t}} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}}

\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_ad05358834882e9eebb1adf8b61258449}\label{classebml_1_1childTypeSpec__t_ad05358834882e9eebb1adf8b61258449}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!child\+Type\+Spec\+\_\+t@{child\+Type\+Spec\+\_\+t}}
\index{child\+Type\+Spec\+\_\+t@{child\+Type\+Spec\+\_\+t}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{child\+Type\+Spec\+\_\+t()}{childTypeSpec\_t()}\hspace{0.1cm}{\footnotesize\ttfamily [5/5]}}
{\footnotesize\ttfamily ebml\+::child\+Type\+Spec\+\_\+t\+::child\+Type\+Spec\+\_\+t (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classebml_1_1childTypeSpec__t}{child\+Type\+Spec\+\_\+t}} \&\&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_a5b4bfd82cfcb07595a2ed54fba082522}\label{classebml_1_1childTypeSpec__t_a5b4bfd82cfcb07595a2ed54fba082522}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!add@{add}}
\index{add@{add}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{add()}{add()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void ebml\+::child\+Type\+Spec\+\_\+t\+::add (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structebml_1_1childTypeSpecArg__t}{child\+Type\+Spec\+Arg\+\_\+t}} \&}]{spec }\end{DoxyParamCaption})}



Adds a child type. 


\begin{DoxyParams}{Parameters}
{\em spec} & The specification to add. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_a2bb016a41cab90b4a08eb10765c69fd5}\label{classebml_1_1childTypeSpec__t_a2bb016a41cab90b4a08eb10765c69fd5}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!add@{add}}
\index{add@{add}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{add()}{add()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void ebml\+::child\+Type\+Spec\+\_\+t\+::add (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classebml_1_1ebmlElementType}{ebml\+Element\+Type}} $\ast$}]{,  }\item[{unsigned long}]{min = {\ttfamily 0},  }\item[{long}]{max = {\ttfamily -\/1} }\end{DoxyParamCaption})}



Adds a child type with occurrence limits. 


\begin{DoxyParams}{Parameters}
{\em child} & Pointer to the {\ttfamily \mbox{\hyperlink{classebml_1_1ebmlElementType}{ebml\+::ebml\+Element\+Type}}}. \\
\hline
{\em min} & Minimum required occurrences. \\
\hline
{\em max} & Maximum allowed occurrences. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_a23efe64d4b3712df9db1408f6af9491f}\label{classebml_1_1childTypeSpec__t_a23efe64d4b3712df9db1408f6af9491f}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!begin@{begin}}
\index{begin@{begin}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{begin()}{begin()}}
{\footnotesize\ttfamily ebml\+Element\+Class\+\_\+d\+::const\+\_\+iterator ebml\+::child\+Type\+Spec\+\_\+t\+::begin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Returns an iterator pointing to the beginning of the specifications. 

\begin{DoxyReturn}{Returns}
Constant iterator. 
\end{DoxyReturn}
\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_a1af6bfa08da682f8ed9a36a06cc4393a}\label{classebml_1_1childTypeSpec__t_a1af6bfa08da682f8ed9a36a06cc4393a}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!count@{count}}
\index{count@{count}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{count()}{count()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily size\+\_\+t ebml\+::child\+Type\+Spec\+\_\+t\+::count (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespaceebml_aecc1461ae359fae057c08a98d5926abf}{ebml\+I\+D\+\_\+t}}}]{ebml\+ID }\end{DoxyParamCaption}) const}



Determines if a child type for a given E\+B\+ML ID exists. 


\begin{DoxyParams}{Parameters}
{\em ebml\+ID} & The E\+B\+ML ID. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Count of matching specifications. 
\end{DoxyReturn}
\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_af945efbffbab1450ce0c3df7f5aedcc5}\label{classebml_1_1childTypeSpec__t_af945efbffbab1450ce0c3df7f5aedcc5}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!count@{count}}
\index{count@{count}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{count()}{count()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily size\+\_\+t ebml\+::child\+Type\+Spec\+\_\+t\+::count (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classebml_1_1ebmlElementType}{ebml\+Element\+Type}} $\ast$}]{ }\end{DoxyParamCaption}) const}



Determines if an {\ttfamily \mbox{\hyperlink{classebml_1_1ebmlElementType}{ebml\+::ebml\+Element\+Type}}} instance is a child type. 


\begin{DoxyParams}{Parameters}
{\em cls} & Pointer to the element type. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Occurrence count. 
\end{DoxyReturn}
\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_a7e2df5bd0b78756ff19ac5f5207efcbd}\label{classebml_1_1childTypeSpec__t_a7e2df5bd0b78756ff19ac5f5207efcbd}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!end@{end}}
\index{end@{end}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{end()}{end()}}
{\footnotesize\ttfamily ebml\+Element\+Class\+\_\+d\+::const\+\_\+iterator ebml\+::child\+Type\+Spec\+\_\+t\+::end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Returns an iterator pointing past the end of the specifications. 

\begin{DoxyReturn}{Returns}
Constant iterator. 
\end{DoxyReturn}
\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_a0ec03e04829babf8027412a962137cf3}\label{classebml_1_1childTypeSpec__t_a0ec03e04829babf8027412a962137cf3}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!is\+Valid@{is\+Valid}}
\index{is\+Valid@{is\+Valid}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{is\+Valid()}{isValid()}}
{\footnotesize\ttfamily bool ebml\+::child\+Type\+Spec\+\_\+t\+::is\+Valid (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespaceebml_ad0162e37f2456e68ea8b1ce7e08b398e}{ebml\+Element\+\_\+sp}} \&}]{elem }\end{DoxyParamCaption}) const}



Checks whether a given element is valid under this specification. 


\begin{DoxyParams}{Parameters}
{\em elem} & The E\+B\+ML element smart pointer to validate. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if valid, false otherwise. 
\end{DoxyReturn}
\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_aa8a1cf4587809e83ddc232b01c5cf77e}\label{classebml_1_1childTypeSpec__t_aa8a1cf4587809e83ddc232b01c5cf77e}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!occur\+Spec@{occur\+Spec}}
\index{occur\+Spec@{occur\+Spec}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{occur\+Spec()}{occurSpec()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespaceebml_a1cd7dafb7e8e8975fecc4a11ef03c5be}{occur\+Spec\+\_\+d}} \& ebml\+::child\+Type\+Spec\+\_\+t\+::occur\+Spec (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Retrieves the complete occurrence specifications. 

\begin{DoxyReturn}{Returns}
A constant reference to the occurrence specification map. 
\end{DoxyReturn}
\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_ac2d7a3a055c27fca6f42e997b7e743c3}\label{classebml_1_1childTypeSpec__t_ac2d7a3a055c27fca6f42e997b7e743c3}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!occur\+Spec@{occur\+Spec}}
\index{occur\+Spec@{occur\+Spec}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{occur\+Spec()}{occurSpec()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily const \mbox{\hyperlink{structebml_1_1occurSpec__t}{occur\+Spec\+\_\+t}} \& ebml\+::child\+Type\+Spec\+\_\+t\+::occur\+Spec (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespaceebml_aecc1461ae359fae057c08a98d5926abf}{ebml\+I\+D\+\_\+t}}}]{ebml\+ID }\end{DoxyParamCaption}) const}



Retrieves the occurrence specification for a given E\+B\+ML ID. 


\begin{DoxyParams}{Parameters}
{\em ebml\+ID} & The E\+B\+ML ID. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The occurrence specification. 
\end{DoxyReturn}
\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_a7b033263ab40bbf17138e5f7d470d6f3}\label{classebml_1_1childTypeSpec__t_a7b033263ab40bbf17138e5f7d470d6f3}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!occur\+Spec@{occur\+Spec}}
\index{occur\+Spec@{occur\+Spec}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{occur\+Spec()}{occurSpec()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily const \mbox{\hyperlink{structebml_1_1occurSpec__t}{occur\+Spec\+\_\+t}} \& ebml\+::child\+Type\+Spec\+\_\+t\+::occur\+Spec (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classebml_1_1ebmlElementType}{ebml\+Element\+Type}} $\ast$}]{cls }\end{DoxyParamCaption}) const}



Retrieves the occurrence specification for a given child type. 


\begin{DoxyParams}{Parameters}
{\em cls} & Pointer to the child element type. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The occurrence specification. 
\end{DoxyReturn}
\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_a73438bf07a0e075d43dae3f657d47154}\label{classebml_1_1childTypeSpec__t_a73438bf07a0e075d43dae3f657d47154}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!operator=@{operator=}}
\index{operator=@{operator=}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{classebml_1_1childTypeSpec__t}{child\+Type\+Spec\+\_\+t}} \& ebml\+::child\+Type\+Spec\+\_\+t\+::operator= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespaceebml_ab649890af169e86ac2c864003f189c75}{child\+Class\+Spec\+Arg\+\_\+init\+\_\+l}}}]{items }\end{DoxyParamCaption})}

\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_ace7edd0b93190d45d95b9ce67a36fed7}\label{classebml_1_1childTypeSpec__t_ace7edd0b93190d45d95b9ce67a36fed7}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!operator=@{operator=}}
\index{operator=@{operator=}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{classebml_1_1childTypeSpec__t}{child\+Type\+Spec\+\_\+t}} \& ebml\+::child\+Type\+Spec\+\_\+t\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespaceebml_a645f6e04baad2c70d2ab9e7c92a1754d}{child\+Type\+Spec\+Arg\+\_\+l}} \&}]{items }\end{DoxyParamCaption})}

\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_a905dd2e78ffdabd91b7ea58430e78dde}\label{classebml_1_1childTypeSpec__t_a905dd2e78ffdabd91b7ea58430e78dde}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!operator=@{operator=}}
\index{operator=@{operator=}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{classebml_1_1childTypeSpec__t}{child\+Type\+Spec\+\_\+t}}\& ebml\+::child\+Type\+Spec\+\_\+t\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classebml_1_1childTypeSpec__t}{child\+Type\+Spec\+\_\+t}} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}}

\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_a9e9943c81101b2a9a9f654975dd32ec1}\label{classebml_1_1childTypeSpec__t_a9e9943c81101b2a9a9f654975dd32ec1}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!operator=@{operator=}}
\index{operator=@{operator=}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{classebml_1_1childTypeSpec__t}{child\+Type\+Spec\+\_\+t}}\& ebml\+::child\+Type\+Spec\+\_\+t\+::operator= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classebml_1_1childTypeSpec__t}{child\+Type\+Spec\+\_\+t}} \&\&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}}

\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_a2eca924f3b14083cf6a8c84a4234b2dc}\label{classebml_1_1childTypeSpec__t_a2eca924f3b14083cf6a8c84a4234b2dc}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{operator[]()}{operator[]()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{classebml_1_1ebmlElementType}{ebml\+Element\+Type}} $\ast$ ebml\+::child\+Type\+Spec\+\_\+t\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespaceebml_aecc1461ae359fae057c08a98d5926abf}{ebml\+I\+D\+\_\+t}}}]{ebml\+ID }\end{DoxyParamCaption}) const}



Retrieves the child type for a given E\+B\+ML ID. 


\begin{DoxyParams}{Parameters}
{\em ebml\+ID} & The E\+B\+ML ID. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Pointer to the corresponding \mbox{\hyperlink{classebml_1_1ebmlElementType}{ebml\+Element\+Type}}. 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classebml_1_1ebmlNoChildMatch}{ebml\+No\+Child\+Match}}} & if no matching type is found. \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_a95b6d3423a3454ae49f75f69b8bd5c37}\label{classebml_1_1childTypeSpec__t_a95b6d3423a3454ae49f75f69b8bd5c37}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!remove@{remove}}
\index{remove@{remove}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{remove()}{remove()}}
{\footnotesize\ttfamily void ebml\+::child\+Type\+Spec\+\_\+t\+::remove (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespaceebml_aecc1461ae359fae057c08a98d5926abf}{ebml\+I\+D\+\_\+t}}}]{ }\end{DoxyParamCaption})}



Removes child type for a given E\+B\+ML ID. 


\begin{DoxyParams}{Parameters}
{\em ebml\+ID} & The E\+B\+ML ID to remove. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classebml_1_1childTypeSpec__t_ac60e64925d52307490400658917cd42b}\label{classebml_1_1childTypeSpec__t_ac60e64925d52307490400658917cd42b}} 
\index{ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}!size@{size}}
\index{size@{size}!ebml\+::child\+Type\+Spec\+\_\+t@{ebml\+::child\+Type\+Spec\+\_\+t}}
\subsubsection{\texorpdfstring{size()}{size()}}
{\footnotesize\ttfamily size\+\_\+t ebml\+::child\+Type\+Spec\+\_\+t\+::size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Returns the total number of child type specifications. 

\begin{DoxyReturn}{Returns}
Total count. 
\end{DoxyReturn}


The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
src/libebml\+\_\+ng/masterelement/base/\mbox{\hyperlink{childTypeSpec_8h}{child\+Type\+Spec.\+h}}\item 
src/libebml\+\_\+ng/masterelement/base/\mbox{\hyperlink{childTypeSpec_8cpp}{child\+Type\+Spec.\+cpp}}\end{DoxyCompactItemize}
