\hypertarget{classebml_1_1ebmlElementCRTP}{}\section{ebml\+:\+:ebml\+Element\+C\+R\+TP$<$ ebmltype\+\_\+t, ebmlinst\+\_\+t, instbase\+\_\+t $>$ Class Template Reference}
\label{classebml_1_1ebmlElementCRTP}\index{ebml\+::ebml\+Element\+C\+R\+T\+P$<$ ebmltype\+\_\+t, ebmlinst\+\_\+t, instbase\+\_\+t $>$@{ebml\+::ebml\+Element\+C\+R\+T\+P$<$ ebmltype\+\_\+t, ebmlinst\+\_\+t, instbase\+\_\+t $>$}}


C\+R\+TP template for E\+B\+ML Element instances.  




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

Inheritance diagram for ebml\+:\+:ebml\+Element\+C\+R\+TP$<$ ebmltype\+\_\+t, ebmlinst\+\_\+t, instbase\+\_\+t $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.288828cm]{classebml_1_1ebmlElementCRTP}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
using \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a57407d6e049d5a45bdb799b5ab1df019}{ebmltype}} = ebmltype\+\_\+t
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename... Args$>$ }\\\mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a98d5a1a99c878799cd8a1ee7710ed4fa}{ebml\+Element\+C\+R\+TP}} (const ebmltype\+\_\+t $\ast$\mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a3e71f3ffa02c8ed444ae75b25a29483e}{cls}}, Args \&\&... args)
\item 
const ebmltype\+\_\+t \& \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a3e71f3ffa02c8ed444ae75b25a29483e}{cls}} () const
\item 
\mbox{\hyperlink{namespaceebml_a390a3cc4808943a10d4a6f1f912afaba}{ebml\+::ptr}}$<$ ebmlinst\+\_\+t $>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a33529a93aca4dde54f1ea1e8bb808b10}{sp}} ()
\item 
\mbox{\hyperlink{namespaceebml_a390a3cc4808943a10d4a6f1f912afaba}{ebml\+::ptr}}$<$ const ebmlinst\+\_\+t $>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a0e185c8c5d0092462bb65c466a530e76}{sp}} () const
\item 
\mbox{\hyperlink{namespaceebml_af80cda43d725bed0c288d51fac3dafa9}{ebml\+::wptr}}$<$ ebmlinst\+\_\+t $>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_ab798fe8e0667376dcbbf18f3b68319fd}{wp}} ()
\item 
\mbox{\hyperlink{namespaceebml_af80cda43d725bed0c288d51fac3dafa9}{ebml\+::wptr}}$<$ const ebmlinst\+\_\+t $>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_ad7e4f772d3dc6e093d210555b1b73c58}{wp}} () const
\item 
\mbox{\hyperlink{namespaceebml_a390a3cc4808943a10d4a6f1f912afaba}{ebml\+::ptr}}$<$ ebmlinst\+\_\+t $>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a868142f536ffb20356477290c8607ec3}{clone}} () const
\item 
\mbox{\hyperlink{namespaceebml_a390a3cc4808943a10d4a6f1f912afaba}{ebml\+::ptr}}$<$ \mbox{\hyperlink{classebml_1_1ebmlElement}{ebml\+Element}} $>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a0953f9101e26bce0328bec72cc196627}{sp}} ()
\begin{DoxyCompactList}\small\item\em Returns a shared pointer to the element instance. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespaceebml_a390a3cc4808943a10d4a6f1f912afaba}{ebml\+::ptr}}$<$ const \mbox{\hyperlink{classebml_1_1ebmlElement}{ebml\+Element}} $>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_aaf9e45f2bebf8c28c62e01219d99c4e4}{sp}} () const
\begin{DoxyCompactList}\small\item\em Returns a shared pointer to a const element. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename T $>$ }\\\mbox{\hyperlink{namespaceebml_a390a3cc4808943a10d4a6f1f912afaba}{ebml\+::ptr}}$<$ T $>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_ae587a8f808938f995e64aa6a63efc32c}{sp}} ()
\item 
{\footnotesize template$<$typename T $>$ }\\\mbox{\hyperlink{namespaceebml_a390a3cc4808943a10d4a6f1f912afaba}{ebml\+::ptr}}$<$ T $>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_aec7dda8499dceb3948df2ad6aabee8a0}{sp}} () const
\item 
\mbox{\hyperlink{namespaceebml_af80cda43d725bed0c288d51fac3dafa9}{ebml\+::wptr}}$<$ \mbox{\hyperlink{classebml_1_1ebmlElement}{ebml\+Element}} $>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a7d0b09bc00f0016fcdde3e96d8016600}{wp}} ()
\item 
\mbox{\hyperlink{namespaceebml_af80cda43d725bed0c288d51fac3dafa9}{ebml\+::wptr}}$<$ const \mbox{\hyperlink{classebml_1_1ebmlElement}{ebml\+Element}} $>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a5bd9e07db6f95032b8f77fd4208245b6}{wp}} () const
\item 
{\footnotesize template$<$typename T $>$ }\\\mbox{\hyperlink{namespaceebml_af80cda43d725bed0c288d51fac3dafa9}{ebml\+::wptr}}$<$ T $>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_adc299b8d6483c100879cbc6e6b1b4154}{wp}} ()
\item 
{\footnotesize template$<$typename T $>$ }\\\mbox{\hyperlink{namespaceebml_af80cda43d725bed0c288d51fac3dafa9}{ebml\+::wptr}}$<$ T $>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a89a806dc24244e6e16502c6d09f9634f}{wp}} () const
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classebml_1_1ebmlElement}{ebml\+Element}} $\ast$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a17541a6383613b4297bff061b7261b81}{\+\_\+clone}} () const
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$\newline
class ebml\+::ebml\+Element\+C\+R\+T\+P$<$ ebmltype\+\_\+t, ebmlinst\+\_\+t, instbase\+\_\+t $>$}

C\+R\+TP template for E\+B\+ML Element instances. 

This template implements the Curiously Recurring Template Pattern (C\+R\+TP) to provide type-\/safe behavior for E\+B\+ML element instances. By inheriting from this template, concrete element instance classes gain automated, type-\/safe casting and cloning functionalities, which simplifies memory management and promotes a robust A\+PI.


\begin{DoxyTemplParams}{Template Parameters}
{\em ebmltype\+\_\+t} & The concrete element type class associated with this instance. \\
\hline
{\em ebmlinst\+\_\+t} & The concrete element instance class using this C\+R\+TP mixin. \\
\hline
{\em instbase\+\_\+t} & The base element instance class (default is {\ttfamily \mbox{\hyperlink{classebml_1_1ebmlElement}{ebml\+::ebml\+Element}}}).\\
\hline
\end{DoxyTemplParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{crtp_usage}{Using the C\+R\+TP Mixins}} for detailed usage instructions. 

{\ttfamily \mbox{\hyperlink{classebml_1_1ebmlTypeCRTP}{ebml\+::ebml\+Type\+C\+R\+TP}}$<$ebmltype\+\_\+t, ebmlinst\+\_\+t, typebase\+\_\+t$>$} 

\mbox{\hyperlink{classebml_1_1ebmlElement}{ebml\+::ebml\+Element}} 
\end{DoxySeeAlso}


\subsection{Member Typedef Documentation}
\mbox{\Hypertarget{classebml_1_1ebmlElementCRTP_a57407d6e049d5a45bdb799b5ab1df019}\label{classebml_1_1ebmlElementCRTP_a57407d6e049d5a45bdb799b5ab1df019}} 
\index{ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}!ebmltype@{ebmltype}}
\index{ebmltype@{ebmltype}!ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}}
\subsubsection{\texorpdfstring{ebmltype}{ebmltype}}
{\footnotesize\ttfamily template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$ \\
using \mbox{\hyperlink{classebml_1_1ebmlElementCRTP}{ebml\+::ebml\+Element\+C\+R\+TP}}$<$ ebmltype\+\_\+t, ebmlinst\+\_\+t, instbase\+\_\+t $>$\+::\mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a57407d6e049d5a45bdb799b5ab1df019}{ebmltype}} =  ebmltype\+\_\+t}



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classebml_1_1ebmlElementCRTP_a98d5a1a99c878799cd8a1ee7710ed4fa}\label{classebml_1_1ebmlElementCRTP_a98d5a1a99c878799cd8a1ee7710ed4fa}} 
\index{ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}!ebml\+Element\+C\+R\+TP@{ebml\+Element\+C\+R\+TP}}
\index{ebml\+Element\+C\+R\+TP@{ebml\+Element\+C\+R\+TP}!ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}}
\subsubsection{\texorpdfstring{ebml\+Element\+C\+R\+T\+P()}{ebmlElementCRTP()}}
{\footnotesize\ttfamily template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$ \\
template$<$typename... Args$>$ \\
\mbox{\hyperlink{classebml_1_1ebmlElementCRTP}{ebml\+::ebml\+Element\+C\+R\+TP}}$<$ ebmltype\+\_\+t, ebmlinst\+\_\+t, instbase\+\_\+t $>$\+::\mbox{\hyperlink{classebml_1_1ebmlElementCRTP}{ebml\+Element\+C\+R\+TP}} (\begin{DoxyParamCaption}\item[{const ebmltype\+\_\+t $\ast$}]{cls,  }\item[{Args \&\&...}]{args }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classebml_1_1ebmlElementCRTP_a17541a6383613b4297bff061b7261b81}\label{classebml_1_1ebmlElementCRTP_a17541a6383613b4297bff061b7261b81}} 
\index{ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}!\+\_\+clone@{\+\_\+clone}}
\index{\+\_\+clone@{\+\_\+clone}!ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}}
\subsubsection{\texorpdfstring{\+\_\+clone()}{\_clone()}}
{\footnotesize\ttfamily template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$ \\
\mbox{\hyperlink{classebml_1_1ebmlElement}{ebml\+Element}}$\ast$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP}{ebml\+::ebml\+Element\+C\+R\+TP}}$<$ ebmltype\+\_\+t, ebmlinst\+\_\+t, instbase\+\_\+t $>$\+::\+\_\+clone (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [protected]}}



Reimplemented in \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a17541a6383613b4297bff061b7261b81}{ebml\+::ebml\+Element\+C\+R\+T\+P$<$ ebml\+Lazy\+Load\+Type, ebml\+Lazy\+Load, ebml\+Master\+Element $>$}}, \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a17541a6383613b4297bff061b7261b81}{ebml\+::ebml\+Element\+C\+R\+T\+P$<$ ebml\+Pair\+Type$<$ K, V $>$, ebml\+Pair$<$ K, V $>$, ebml\+Master\+Element $>$}}, \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a17541a6383613b4297bff061b7261b81}{ebml\+::ebml\+Element\+C\+R\+T\+P$<$ ebml\+Map\+Type$<$ K, V, H, E, A, B $>$, ebml\+Map$<$ K, V, H, E, A, B $>$, ebml\+Master\+Element $>$}}, \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a17541a6383613b4297bff061b7261b81}{ebml\+::ebml\+Element\+C\+R\+T\+P$<$ ebml\+Struct\+Type, ebml\+Struct, ebml\+Master\+Element $>$}}, and \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a17541a6383613b4297bff061b7261b81}{ebml\+::ebml\+Element\+C\+R\+T\+P$<$ ebml\+List\+Type, ebml\+List, ebml\+Master\+Element $>$}}.

\mbox{\Hypertarget{classebml_1_1ebmlElementCRTP_a868142f536ffb20356477290c8607ec3}\label{classebml_1_1ebmlElementCRTP_a868142f536ffb20356477290c8607ec3}} 
\index{ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}!clone@{clone}}
\index{clone@{clone}!ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}}
\subsubsection{\texorpdfstring{clone()}{clone()}}
{\footnotesize\ttfamily template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$ \\
\mbox{\hyperlink{namespaceebml_a390a3cc4808943a10d4a6f1f912afaba}{ebml\+::ptr}}$<$ebmlinst\+\_\+t$>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP}{ebml\+::ebml\+Element\+C\+R\+TP}}$<$ ebmltype\+\_\+t, ebmlinst\+\_\+t, instbase\+\_\+t $>$\+::clone (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

\mbox{\Hypertarget{classebml_1_1ebmlElementCRTP_a3e71f3ffa02c8ed444ae75b25a29483e}\label{classebml_1_1ebmlElementCRTP_a3e71f3ffa02c8ed444ae75b25a29483e}} 
\index{ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}!cls@{cls}}
\index{cls@{cls}!ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}}
\subsubsection{\texorpdfstring{cls()}{cls()}}
{\footnotesize\ttfamily template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$ \\
const ebmltype\+\_\+t\& \mbox{\hyperlink{classebml_1_1ebmlElementCRTP}{ebml\+::ebml\+Element\+C\+R\+TP}}$<$ ebmltype\+\_\+t, ebmlinst\+\_\+t, instbase\+\_\+t $>$\+::cls (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Reimplemented in \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a3e71f3ffa02c8ed444ae75b25a29483e}{ebml\+::ebml\+Element\+C\+R\+T\+P$<$ ebml\+Lazy\+Load\+Type, ebml\+Lazy\+Load, ebml\+Master\+Element $>$}}, \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a3e71f3ffa02c8ed444ae75b25a29483e}{ebml\+::ebml\+Element\+C\+R\+T\+P$<$ ebml\+Pair\+Type$<$ K, V $>$, ebml\+Pair$<$ K, V $>$, ebml\+Master\+Element $>$}}, \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a3e71f3ffa02c8ed444ae75b25a29483e}{ebml\+::ebml\+Element\+C\+R\+T\+P$<$ ebml\+Map\+Type$<$ K, V, H, E, A, B $>$, ebml\+Map$<$ K, V, H, E, A, B $>$, ebml\+Master\+Element $>$}}, \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a3e71f3ffa02c8ed444ae75b25a29483e}{ebml\+::ebml\+Element\+C\+R\+T\+P$<$ ebml\+Struct\+Type, ebml\+Struct, ebml\+Master\+Element $>$}}, and \mbox{\hyperlink{classebml_1_1ebmlElementCRTP_a3e71f3ffa02c8ed444ae75b25a29483e}{ebml\+::ebml\+Element\+C\+R\+T\+P$<$ ebml\+List\+Type, ebml\+List, ebml\+Master\+Element $>$}}.

\mbox{\Hypertarget{classebml_1_1ebmlElementCRTP_a0953f9101e26bce0328bec72cc196627}\label{classebml_1_1ebmlElementCRTP_a0953f9101e26bce0328bec72cc196627}} 
\index{ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}!sp@{sp}}
\index{sp@{sp}!ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}}
\subsubsection{\texorpdfstring{sp()}{sp()}\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}}
{\footnotesize\ttfamily template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$ \\
\mbox{\hyperlink{namespaceebml_a390a3cc4808943a10d4a6f1f912afaba}{ebml\+::ptr}}$<$ \mbox{\hyperlink{classebml_1_1ebmlElement}{ebml\+Element}} $>$ ebml\+::ebml\+Element\+::sp}



Returns a shared pointer to the element instance. 

\begin{DoxyReturn}{Returns}
The shared pointer version of this element. 
\end{DoxyReturn}
\mbox{\Hypertarget{classebml_1_1ebmlElementCRTP_aaf9e45f2bebf8c28c62e01219d99c4e4}\label{classebml_1_1ebmlElementCRTP_aaf9e45f2bebf8c28c62e01219d99c4e4}} 
\index{ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}!sp@{sp}}
\index{sp@{sp}!ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}}
\subsubsection{\texorpdfstring{sp()}{sp()}\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}}
{\footnotesize\ttfamily template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$ \\
\mbox{\hyperlink{namespaceebml_a390a3cc4808943a10d4a6f1f912afaba}{ebml\+::ptr}}$<$ const \mbox{\hyperlink{classebml_1_1ebmlElement}{ebml\+Element}} $>$ ebml\+::ebml\+Element\+::sp}



Returns a shared pointer to a const element. 

\begin{DoxyReturn}{Returns}
The shared pointer (const) version of this element. 
\end{DoxyReturn}
\mbox{\Hypertarget{classebml_1_1ebmlElementCRTP_ae587a8f808938f995e64aa6a63efc32c}\label{classebml_1_1ebmlElementCRTP_ae587a8f808938f995e64aa6a63efc32c}} 
\index{ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}!sp@{sp}}
\index{sp@{sp}!ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}}
\subsubsection{\texorpdfstring{sp()}{sp()}\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}}
{\footnotesize\ttfamily template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$ \\
template$<$typename T $>$ \\
\mbox{\hyperlink{namespaceebml_a390a3cc4808943a10d4a6f1f912afaba}{ebml\+::ptr}}$<$T$>$ ebml\+::ebml\+Element\+::sp (\begin{DoxyParamCaption}\item[{typename T}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{classebml_1_1ebmlElementCRTP_aec7dda8499dceb3948df2ad6aabee8a0}\label{classebml_1_1ebmlElementCRTP_aec7dda8499dceb3948df2ad6aabee8a0}} 
\index{ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}!sp@{sp}}
\index{sp@{sp}!ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}}
\subsubsection{\texorpdfstring{sp()}{sp()}\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}}
{\footnotesize\ttfamily template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$ \\
template$<$typename T $>$ \\
\mbox{\hyperlink{namespaceebml_a390a3cc4808943a10d4a6f1f912afaba}{ebml\+::ptr}}$<$T$>$ ebml\+::ebml\+Element\+::sp (\begin{DoxyParamCaption}\item[{typename T}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{classebml_1_1ebmlElementCRTP_a33529a93aca4dde54f1ea1e8bb808b10}\label{classebml_1_1ebmlElementCRTP_a33529a93aca4dde54f1ea1e8bb808b10}} 
\index{ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}!sp@{sp}}
\index{sp@{sp}!ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}}
\subsubsection{\texorpdfstring{sp()}{sp()}\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}}
{\footnotesize\ttfamily template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$ \\
\mbox{\hyperlink{namespaceebml_a390a3cc4808943a10d4a6f1f912afaba}{ebml\+::ptr}}$<$ebmlinst\+\_\+t$>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP}{ebml\+::ebml\+Element\+C\+R\+TP}}$<$ ebmltype\+\_\+t, ebmlinst\+\_\+t, instbase\+\_\+t $>$\+::sp (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{classebml_1_1ebmlElementCRTP_a0e185c8c5d0092462bb65c466a530e76}\label{classebml_1_1ebmlElementCRTP_a0e185c8c5d0092462bb65c466a530e76}} 
\index{ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}!sp@{sp}}
\index{sp@{sp}!ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}}
\subsubsection{\texorpdfstring{sp()}{sp()}\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}}
{\footnotesize\ttfamily template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$ \\
\mbox{\hyperlink{namespaceebml_a390a3cc4808943a10d4a6f1f912afaba}{ebml\+::ptr}}$<$const ebmlinst\+\_\+t$>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP}{ebml\+::ebml\+Element\+C\+R\+TP}}$<$ ebmltype\+\_\+t, ebmlinst\+\_\+t, instbase\+\_\+t $>$\+::sp (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

\mbox{\Hypertarget{classebml_1_1ebmlElementCRTP_a89a806dc24244e6e16502c6d09f9634f}\label{classebml_1_1ebmlElementCRTP_a89a806dc24244e6e16502c6d09f9634f}} 
\index{ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}!wp@{wp}}
\index{wp@{wp}!ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}}
\subsubsection{\texorpdfstring{wp()}{wp()}\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}}
{\footnotesize\ttfamily template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$ \\
template$<$typename T $>$ \\
\mbox{\hyperlink{namespaceebml_af80cda43d725bed0c288d51fac3dafa9}{ebml\+::wptr}}$<$ T $>$ ebml\+::ebml\+Element\+::wp (\begin{DoxyParamCaption}\item[{typename T}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{classebml_1_1ebmlElementCRTP_a7d0b09bc00f0016fcdde3e96d8016600}\label{classebml_1_1ebmlElementCRTP_a7d0b09bc00f0016fcdde3e96d8016600}} 
\index{ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}!wp@{wp}}
\index{wp@{wp}!ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}}
\subsubsection{\texorpdfstring{wp()}{wp()}\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}}
{\footnotesize\ttfamily template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$ \\
\mbox{\hyperlink{namespaceebml_af80cda43d725bed0c288d51fac3dafa9}{ebml\+::wptr}}$<$ \mbox{\hyperlink{classebml_1_1ebmlElement}{ebml\+Element}} $>$ ebml\+::ebml\+Element\+::wp}

\mbox{\Hypertarget{classebml_1_1ebmlElementCRTP_a5bd9e07db6f95032b8f77fd4208245b6}\label{classebml_1_1ebmlElementCRTP_a5bd9e07db6f95032b8f77fd4208245b6}} 
\index{ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}!wp@{wp}}
\index{wp@{wp}!ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}}
\subsubsection{\texorpdfstring{wp()}{wp()}\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}}
{\footnotesize\ttfamily template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$ \\
\mbox{\hyperlink{namespaceebml_af80cda43d725bed0c288d51fac3dafa9}{ebml\+::wptr}}$<$ const \mbox{\hyperlink{classebml_1_1ebmlElement}{ebml\+Element}} $>$ ebml\+::ebml\+Element\+::wp}

\mbox{\Hypertarget{classebml_1_1ebmlElementCRTP_adc299b8d6483c100879cbc6e6b1b4154}\label{classebml_1_1ebmlElementCRTP_adc299b8d6483c100879cbc6e6b1b4154}} 
\index{ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}!wp@{wp}}
\index{wp@{wp}!ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}}
\subsubsection{\texorpdfstring{wp()}{wp()}\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}}
{\footnotesize\ttfamily template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$ \\
template$<$typename T $>$ \\
\mbox{\hyperlink{namespaceebml_af80cda43d725bed0c288d51fac3dafa9}{ebml\+::wptr}}$<$ T $>$ ebml\+::ebml\+Element\+::wp (\begin{DoxyParamCaption}\item[{typename T}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{classebml_1_1ebmlElementCRTP_ab798fe8e0667376dcbbf18f3b68319fd}\label{classebml_1_1ebmlElementCRTP_ab798fe8e0667376dcbbf18f3b68319fd}} 
\index{ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}!wp@{wp}}
\index{wp@{wp}!ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}}
\subsubsection{\texorpdfstring{wp()}{wp()}\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}}
{\footnotesize\ttfamily template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$ \\
\mbox{\hyperlink{namespaceebml_af80cda43d725bed0c288d51fac3dafa9}{ebml\+::wptr}}$<$ebmlinst\+\_\+t$>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP}{ebml\+::ebml\+Element\+C\+R\+TP}}$<$ ebmltype\+\_\+t, ebmlinst\+\_\+t, instbase\+\_\+t $>$\+::wp (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{classebml_1_1ebmlElementCRTP_ad7e4f772d3dc6e093d210555b1b73c58}\label{classebml_1_1ebmlElementCRTP_ad7e4f772d3dc6e093d210555b1b73c58}} 
\index{ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}!wp@{wp}}
\index{wp@{wp}!ebml\+::ebml\+Element\+C\+R\+TP@{ebml\+::ebml\+Element\+C\+R\+TP}}
\subsubsection{\texorpdfstring{wp()}{wp()}\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}}
{\footnotesize\ttfamily template$<$typename ebmltype\+\_\+t, typename ebmlinst\+\_\+t, typename instbase\+\_\+t = ebml\+Element$>$ \\
\mbox{\hyperlink{namespaceebml_af80cda43d725bed0c288d51fac3dafa9}{ebml\+::wptr}}$<$const ebmlinst\+\_\+t$>$ \mbox{\hyperlink{classebml_1_1ebmlElementCRTP}{ebml\+::ebml\+Element\+C\+R\+TP}}$<$ ebmltype\+\_\+t, ebmlinst\+\_\+t, instbase\+\_\+t $>$\+::wp (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



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