\hypertarget{ebmlElement_8h}{}\section{src/libebml\+\_\+ng/ebml\+Element.h File Reference}
\label{ebmlElement_8h}\index{src/libebml\+\_\+ng/ebml\+Element.\+h@{src/libebml\+\_\+ng/ebml\+Element.\+h}}


Declaration of the E\+B\+ML element instance base class and C\+R\+TP templates.  


{\ttfamily \#include \char`\"{}ptrs.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}parsing/string.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}parsing/io.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}flexptr.\+h\char`\"{}}\newline
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{classebml_1_1ebmlElement}{ebml\+::ebml\+Element}}
\begin{DoxyCompactList}\small\item\em Abstract base class for E\+B\+ML Element instances. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classebml_1_1ebmlElementCRTP}{ebml\+::ebml\+Element\+C\+R\+T\+P$<$ ebmltype\+\_\+t, ebmlinst\+\_\+t, instbase\+\_\+t $>$}}
\begin{DoxyCompactList}\small\item\em C\+R\+TP template for E\+B\+ML Element instances. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
 \mbox{\hyperlink{namespaceebml}{ebml}}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef flexible\+\_\+ptr$<$ ebml\+Element $>$ \mbox{\hyperlink{namespaceebml_ad019b2a4caf0fe3469e336e69ffcf77c}{ebml\+::ebml\+Element\+\_\+fp}}
\item 
typedef flexible\+\_\+ptr$<$ ebml\+Master\+Element $>$ \mbox{\hyperlink{namespaceebml_ada745ba60df6174bbf0926aa1342619d}{ebml\+::ebml\+Master\+Element\+\_\+fp}}
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename ebmlinst\+\_\+t , typename parse\+\_\+t $>$ }\\concept \mbox{\hyperlink{namespaceebml_aa7ebcef2745a7c4aa4c681630b7a0490}{ebml\+::has\+\_\+init}}
\item 
{\footnotesize template$<$typename ebmlinst\+\_\+t , typename parse\+\_\+t $>$ }\\concept \mbox{\hyperlink{namespaceebml_a5ec386bb5502d39e617421976580fd59}{ebml\+::has\+\_\+cinit}}
\item 
{\footnotesize template$<$typename ebmlinst\+\_\+t , typename... Args$>$ }\\concept \mbox{\hyperlink{namespaceebml_a72b81f41f33d7f6eb38ff6f0a39a46cb}{ebml\+::has\+\_\+constructor}}
\item 
{\footnotesize template$<$typename ebmlinst\+\_\+t $>$ }\\concept \mbox{\hyperlink{namespaceebml_a2098509b43e41dad02b6b6628347ba26}{ebml\+::has\+\_\+clone\+\_\+method}}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Declaration of the E\+B\+ML element instance base class and C\+R\+TP templates. 

This header defines the abstract base class used to describe E\+B\+ML element instances.

\begin{DoxyAuthor}{Author}
Brian Sherson 
\end{DoxyAuthor}
\begin{DoxyDate}{Date}
September 11, 2025 
\end{DoxyDate}
