\hypertarget{dataelement_8h}{}\section{include/libebml\+\_\+ng/dataelement.h File Reference}
\label{dataelement_8h}\index{include/libebml\+\_\+ng/dataelement.\+h@{include/libebml\+\_\+ng/dataelement.\+h}}
{\ttfamily \#include \char`\"{}libebml\+\_\+ng/elementcls.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}libebml\+\_\+ng/element.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}libebml\+\_\+ng/struct/ull.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}libebml\+\_\+ng/struct/ll.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}libebml\+\_\+ng/struct/double.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}libebml\+\_\+ng/struct/binary.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}libebml\+\_\+ng/struct/unicode.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}libebml\+\_\+ng/struct/datetime.\+h\char`\"{}}\newline
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{classebml_1_1ebmlDataElement}{ebml\+::ebml\+Data\+Element$<$ T $>$}}
\item 
class \mbox{\hyperlink{classebml_1_1ebmlDataElementClass}{ebml\+::ebml\+Data\+Element\+Class$<$ T $>$}}
\item 
class \mbox{\hyperlink{classebml_1_1ebmlDataElement}{ebml\+::ebml\+Data\+Element$<$ T $>$}}
\item 
class \mbox{\hyperlink{classebml_1_1ebmlDataElementClass_3_01const_01T_01_4}{ebml\+::ebml\+Data\+Element\+Class$<$ const T $>$}}
\item 
class \mbox{\hyperlink{classebml_1_1ebmlDataElement_3_01const_01T_01_4}{ebml\+::ebml\+Data\+Element$<$ const T $>$}}
\end{DoxyCompactItemize}
\subsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
 \mbox{\hyperlink{namespaceebml}{ebml}}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{dataelement_8h_a1a86980ed59e146fae938434625cd079}{D\+E\+C\+L\+\_\+\+D\+A\+T\+A\+\_\+\+C\+LS}}(T)
\item 
\#define \mbox{\hyperlink{dataelement_8h_a5ed837e62ab25ec444f4a263a8a84d3a}{D\+E\+C\+L\+\_\+\+E\+B\+M\+L\+\_\+\+A\+L\+I\+AS}}(T,  alias)
\item 
\#define \mbox{\hyperlink{dataelement_8h_aa053f14e6e61bc53a55fc966a76a8909}{I\+N\+S\+T\+\_\+\+E\+B\+M\+L\+\_\+\+C\+LS}}(T,  defaultval)
\item 
\#define \mbox{\hyperlink{dataelement_8h_a4972e9c18797f1f7f984b371f1a06f09}{I\+N\+S\+T\+\_\+\+C\+O\+N\+S\+T\+\_\+\+E\+B\+M\+L\+\_\+\+C\+LS}}(T,  defaultval)
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespaceebml_a738c4f024d5a5af45f80985d0456ca6f}{ebml\+::ebml\+Data\+Element\+\_\+sp}} = std\+::shared\+\_\+ptr$<$ ebml\+Data\+Element$<$ T $>$ $>$
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename T $>$ }\\T \& \mbox{\hyperlink{namespaceebml_a4edfd02f8910c0abfd4bbbf928f92d9e}{ebml\+::data}} (const ebml\+Element\+\_\+sp \&elem)
\item 
{\footnotesize template$<$typename T $>$ }\\const T \& \mbox{\hyperlink{namespaceebml_ac78bf9d3ced3b11fedcb6172849b2cfc}{ebml\+::data}} (const c\+\_\+ebml\+Element\+\_\+sp \&elem)
\item 
template std\+::string \& \mbox{\hyperlink{dataelement_8h_a788046c0c8a46dc9a4a09058207a0c7d}{ebml\+::data$<$ std\+::string $>$}} (const ebml\+Element\+\_\+sp \&)
\item 
template const std\+::string \& \mbox{\hyperlink{dataelement_8h_af6a36b3fcf97793a79307054680f8f99}{ebml\+::data$<$ std\+::string $>$}} (const c\+\_\+ebml\+Element\+\_\+sp \&)
\item 
template std\+::wstring \& \mbox{\hyperlink{dataelement_8h_a73482a0a9b59a94c3609ba1088763841}{ebml\+::data$<$ std\+::wstring $>$}} (const ebml\+Element\+\_\+sp \&)
\item 
template const std\+::wstring \& \mbox{\hyperlink{dataelement_8h_abfb55840338be40beeaa3955bc138c5f}{ebml\+::data$<$ std\+::wstring $>$}} (const c\+\_\+ebml\+Element\+\_\+sp \&)
\item 
template \mbox{\hyperlink{namespaceebml_a7e667ec3fe8b51fb5b8f9690734d8638}{ebml\+::timepoint\+\_\+t}} \& \mbox{\hyperlink{dataelement_8h_aa49e89a4a0b27b990b15e79b0f11f88b}{ebml\+::data$<$ ebml\+::timepoint\+\_\+t $>$}} (const ebml\+Element\+\_\+sp \&)
\item 
template const \mbox{\hyperlink{namespaceebml_a7e667ec3fe8b51fb5b8f9690734d8638}{ebml\+::timepoint\+\_\+t}} \& \mbox{\hyperlink{dataelement_8h_aa8f72fbfba4027da262a9912c73a301a}{ebml\+::data$<$ ebml\+::timepoint\+\_\+t $>$}} (const c\+\_\+ebml\+Element\+\_\+sp \&)
\end{DoxyCompactItemize}


\subsection{Macro Definition Documentation}
\mbox{\Hypertarget{dataelement_8h_a1a86980ed59e146fae938434625cd079}\label{dataelement_8h_a1a86980ed59e146fae938434625cd079}} 
\index{dataelement.\+h@{dataelement.\+h}!D\+E\+C\+L\+\_\+\+D\+A\+T\+A\+\_\+\+C\+LS@{D\+E\+C\+L\+\_\+\+D\+A\+T\+A\+\_\+\+C\+LS}}
\index{D\+E\+C\+L\+\_\+\+D\+A\+T\+A\+\_\+\+C\+LS@{D\+E\+C\+L\+\_\+\+D\+A\+T\+A\+\_\+\+C\+LS}!dataelement.\+h@{dataelement.\+h}}
\subsubsection{\texorpdfstring{D\+E\+C\+L\+\_\+\+D\+A\+T\+A\+\_\+\+C\+LS}{DECL\_DATA\_CLS}}
{\footnotesize\ttfamily \#define D\+E\+C\+L\+\_\+\+D\+A\+T\+A\+\_\+\+C\+LS(\begin{DoxyParamCaption}\item[{}]{T }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keyword}{extern} \textcolor{keyword}{template} \textcolor{keyword}{class }\mbox{\hyperlink{classebml_1_1ebmlDataElementClass}{ebml::ebmlDataElementClass<T>}}; \(\backslash\)
    extern \textcolor{keyword}{template} \textcolor{keyword}{class }\mbox{\hyperlink{classebml_1_1ebmlDataElement}{ebml::ebmlDataElement<T>}}; \(\backslash\)
    extern \textcolor{keyword}{template} T& ebml::data<T>(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceebml_adad533b7705a16bb360fe56380c5e7be}{ebmlElement\_sp}}&); \(\backslash\)
    extern \textcolor{keyword}{template} \textcolor{keyword}{const} T& ebml::data<T>(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceebml_a2deef4e8071531b32e3533f1bf978917}{c\_ebmlElement\_sp}}&); \(\backslash\)
    EXTERN\_AS\_MEMBERS(\mbox{\hyperlink{classebml_1_1ebmlDataElementClass}{ebml::ebmlDataElementClass<T>}}, 
      \mbox{\hyperlink{classebml_1_1ebmlDataElement}{ebml::ebmlDataElement<T>}})
\end{DoxyCode}
\mbox{\Hypertarget{dataelement_8h_a5ed837e62ab25ec444f4a263a8a84d3a}\label{dataelement_8h_a5ed837e62ab25ec444f4a263a8a84d3a}} 
\index{dataelement.\+h@{dataelement.\+h}!D\+E\+C\+L\+\_\+\+E\+B\+M\+L\+\_\+\+A\+L\+I\+AS@{D\+E\+C\+L\+\_\+\+E\+B\+M\+L\+\_\+\+A\+L\+I\+AS}}
\index{D\+E\+C\+L\+\_\+\+E\+B\+M\+L\+\_\+\+A\+L\+I\+AS@{D\+E\+C\+L\+\_\+\+E\+B\+M\+L\+\_\+\+A\+L\+I\+AS}!dataelement.\+h@{dataelement.\+h}}
\subsubsection{\texorpdfstring{D\+E\+C\+L\+\_\+\+E\+B\+M\+L\+\_\+\+A\+L\+I\+AS}{DECL\_EBML\_ALIAS}}
{\footnotesize\ttfamily \#define D\+E\+C\+L\+\_\+\+E\+B\+M\+L\+\_\+\+A\+L\+I\+AS(\begin{DoxyParamCaption}\item[{}]{T,  }\item[{}]{alias }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
typedef ::ebml::ebmlDataElementClass<T> alias##Class; \(\backslash\)
    typedef ::ebml::ebmlDataElement<T> alias;
\end{DoxyCode}
\mbox{\Hypertarget{dataelement_8h_a4972e9c18797f1f7f984b371f1a06f09}\label{dataelement_8h_a4972e9c18797f1f7f984b371f1a06f09}} 
\index{dataelement.\+h@{dataelement.\+h}!I\+N\+S\+T\+\_\+\+C\+O\+N\+S\+T\+\_\+\+E\+B\+M\+L\+\_\+\+C\+LS@{I\+N\+S\+T\+\_\+\+C\+O\+N\+S\+T\+\_\+\+E\+B\+M\+L\+\_\+\+C\+LS}}
\index{I\+N\+S\+T\+\_\+\+C\+O\+N\+S\+T\+\_\+\+E\+B\+M\+L\+\_\+\+C\+LS@{I\+N\+S\+T\+\_\+\+C\+O\+N\+S\+T\+\_\+\+E\+B\+M\+L\+\_\+\+C\+LS}!dataelement.\+h@{dataelement.\+h}}
\subsubsection{\texorpdfstring{I\+N\+S\+T\+\_\+\+C\+O\+N\+S\+T\+\_\+\+E\+B\+M\+L\+\_\+\+C\+LS}{INST\_CONST\_EBML\_CLS}}
{\footnotesize\ttfamily \#define I\+N\+S\+T\+\_\+\+C\+O\+N\+S\+T\+\_\+\+E\+B\+M\+L\+\_\+\+C\+LS(\begin{DoxyParamCaption}\item[{}]{T,  }\item[{}]{defaultval }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keyword}{template}<> \(\backslash\)
    const T \mbox{\hyperlink{classebml_1_1ebmlDataElementClass}{ebml::ebmlDataElementClass<const T>::defaultdefault}}
       = defaultval; \(\backslash\)
    template \textcolor{keyword}{class }\mbox{\hyperlink{classebml_1_1ebmlDataElementClass}{ebml::ebmlDataElementClass}}<const T>; \(\backslash\)
    template \textcolor{keyword}{class }\mbox{\hyperlink{classebml_1_1ebmlDataElement}{ebml::ebmlDataElement}}<const T>; \(\backslash\)
    template \textcolor{keyword}{const} T& ebml::data<const T>(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceebml_a2deef4e8071531b32e3533f1bf978917}{ebml::c\_ebmlElement\_sp}}&);
\end{DoxyCode}
\mbox{\Hypertarget{dataelement_8h_aa053f14e6e61bc53a55fc966a76a8909}\label{dataelement_8h_aa053f14e6e61bc53a55fc966a76a8909}} 
\index{dataelement.\+h@{dataelement.\+h}!I\+N\+S\+T\+\_\+\+E\+B\+M\+L\+\_\+\+C\+LS@{I\+N\+S\+T\+\_\+\+E\+B\+M\+L\+\_\+\+C\+LS}}
\index{I\+N\+S\+T\+\_\+\+E\+B\+M\+L\+\_\+\+C\+LS@{I\+N\+S\+T\+\_\+\+E\+B\+M\+L\+\_\+\+C\+LS}!dataelement.\+h@{dataelement.\+h}}
\subsubsection{\texorpdfstring{I\+N\+S\+T\+\_\+\+E\+B\+M\+L\+\_\+\+C\+LS}{INST\_EBML\_CLS}}
{\footnotesize\ttfamily \#define I\+N\+S\+T\+\_\+\+E\+B\+M\+L\+\_\+\+C\+LS(\begin{DoxyParamCaption}\item[{}]{T,  }\item[{}]{defaultval }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keyword}{template}<> \(\backslash\)
    T \mbox{\hyperlink{classebml_1_1ebmlDataElementClass}{ebml::ebmlDataElementClass<T>::defaultdefault}} = 
      defaultval; \(\backslash\)
    template \textcolor{keyword}{class }\mbox{\hyperlink{classebml_1_1ebmlDataElementClass}{ebml::ebmlDataElementClass}}<T>; \(\backslash\)
    template \textcolor{keyword}{class }\mbox{\hyperlink{classebml_1_1ebmlDataElement}{ebml::ebmlDataElement}}<T>; \(\backslash\)
    template T& ebml::data<T>(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceebml_adad533b7705a16bb360fe56380c5e7be}{ebml::ebmlElement\_sp}}&); \(\backslash\)
    template \textcolor{keyword}{const} T& ebml::data<T>(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceebml_a2deef4e8071531b32e3533f1bf978917}{ebml::c\_ebmlElement\_sp}}&); \(\backslash\)
    INST\_AS\_MEMBERS(\mbox{\hyperlink{classebml_1_1ebmlDataElementClass}{ebml::ebmlDataElementClass<T>}}, 
      \mbox{\hyperlink{classebml_1_1ebmlDataElement}{ebml::ebmlDataElement<T>}})
\end{DoxyCode}


\subsection{Function Documentation}
\mbox{\Hypertarget{dataelement_8h_aa8f72fbfba4027da262a9912c73a301a}\label{dataelement_8h_aa8f72fbfba4027da262a9912c73a301a}} 
\index{dataelement.\+h@{dataelement.\+h}!ebml\+::data$<$ ebml\+::timepoint\+\_\+t $>$@{ebml\+::data$<$ ebml\+::timepoint\+\_\+t $>$}}
\index{ebml\+::data$<$ ebml\+::timepoint\+\_\+t $>$@{ebml\+::data$<$ ebml\+::timepoint\+\_\+t $>$}!dataelement.\+h@{dataelement.\+h}}
\subsubsection{\texorpdfstring{ebml\+::data$<$ ebml\+::timepoint\+\_\+t $>$()}{ebml::data< ebml::timepoint\_t >()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template const \mbox{\hyperlink{namespaceebml_a7e667ec3fe8b51fb5b8f9690734d8638}{ebml\+::timepoint\+\_\+t}}\& \mbox{\hyperlink{namespaceebml_a4edfd02f8910c0abfd4bbbf928f92d9e}{ebml\+::data}}$<$ \mbox{\hyperlink{namespaceebml_a7e667ec3fe8b51fb5b8f9690734d8638}{ebml\+::timepoint\+\_\+t}} $>$ (\begin{DoxyParamCaption}\item[{const c\+\_\+ebml\+Element\+\_\+sp \&}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{dataelement_8h_aa49e89a4a0b27b990b15e79b0f11f88b}\label{dataelement_8h_aa49e89a4a0b27b990b15e79b0f11f88b}} 
\index{dataelement.\+h@{dataelement.\+h}!ebml\+::data$<$ ebml\+::timepoint\+\_\+t $>$@{ebml\+::data$<$ ebml\+::timepoint\+\_\+t $>$}}
\index{ebml\+::data$<$ ebml\+::timepoint\+\_\+t $>$@{ebml\+::data$<$ ebml\+::timepoint\+\_\+t $>$}!dataelement.\+h@{dataelement.\+h}}
\subsubsection{\texorpdfstring{ebml\+::data$<$ ebml\+::timepoint\+\_\+t $>$()}{ebml::data< ebml::timepoint\_t >()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template \mbox{\hyperlink{namespaceebml_a7e667ec3fe8b51fb5b8f9690734d8638}{ebml\+::timepoint\+\_\+t}}\& \mbox{\hyperlink{namespaceebml_a4edfd02f8910c0abfd4bbbf928f92d9e}{ebml\+::data}}$<$ \mbox{\hyperlink{namespaceebml_a7e667ec3fe8b51fb5b8f9690734d8638}{ebml\+::timepoint\+\_\+t}} $>$ (\begin{DoxyParamCaption}\item[{const ebml\+Element\+\_\+sp \&}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{dataelement_8h_a788046c0c8a46dc9a4a09058207a0c7d}\label{dataelement_8h_a788046c0c8a46dc9a4a09058207a0c7d}} 
\index{dataelement.\+h@{dataelement.\+h}!ebml\+::data$<$ std\+::string $>$@{ebml\+::data$<$ std\+::string $>$}}
\index{ebml\+::data$<$ std\+::string $>$@{ebml\+::data$<$ std\+::string $>$}!dataelement.\+h@{dataelement.\+h}}
\subsubsection{\texorpdfstring{ebml\+::data$<$ std\+::string $>$()}{ebml::data< std::string >()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template std\+::string\& \mbox{\hyperlink{namespaceebml_a4edfd02f8910c0abfd4bbbf928f92d9e}{ebml\+::data}}$<$ std\+::string $>$ (\begin{DoxyParamCaption}\item[{const ebml\+Element\+\_\+sp \&}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{dataelement_8h_af6a36b3fcf97793a79307054680f8f99}\label{dataelement_8h_af6a36b3fcf97793a79307054680f8f99}} 
\index{dataelement.\+h@{dataelement.\+h}!ebml\+::data$<$ std\+::string $>$@{ebml\+::data$<$ std\+::string $>$}}
\index{ebml\+::data$<$ std\+::string $>$@{ebml\+::data$<$ std\+::string $>$}!dataelement.\+h@{dataelement.\+h}}
\subsubsection{\texorpdfstring{ebml\+::data$<$ std\+::string $>$()}{ebml::data< std::string >()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template const std\+::string\& \mbox{\hyperlink{namespaceebml_a4edfd02f8910c0abfd4bbbf928f92d9e}{ebml\+::data}}$<$ std\+::string $>$ (\begin{DoxyParamCaption}\item[{const c\+\_\+ebml\+Element\+\_\+sp \&}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{dataelement_8h_abfb55840338be40beeaa3955bc138c5f}\label{dataelement_8h_abfb55840338be40beeaa3955bc138c5f}} 
\index{dataelement.\+h@{dataelement.\+h}!ebml\+::data$<$ std\+::wstring $>$@{ebml\+::data$<$ std\+::wstring $>$}}
\index{ebml\+::data$<$ std\+::wstring $>$@{ebml\+::data$<$ std\+::wstring $>$}!dataelement.\+h@{dataelement.\+h}}
\subsubsection{\texorpdfstring{ebml\+::data$<$ std\+::wstring $>$()}{ebml::data< std::wstring >()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template const std\+::wstring\& \mbox{\hyperlink{namespaceebml_a4edfd02f8910c0abfd4bbbf928f92d9e}{ebml\+::data}}$<$ std\+::wstring $>$ (\begin{DoxyParamCaption}\item[{const c\+\_\+ebml\+Element\+\_\+sp \&}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{dataelement_8h_a73482a0a9b59a94c3609ba1088763841}\label{dataelement_8h_a73482a0a9b59a94c3609ba1088763841}} 
\index{dataelement.\+h@{dataelement.\+h}!ebml\+::data$<$ std\+::wstring $>$@{ebml\+::data$<$ std\+::wstring $>$}}
\index{ebml\+::data$<$ std\+::wstring $>$@{ebml\+::data$<$ std\+::wstring $>$}!dataelement.\+h@{dataelement.\+h}}
\subsubsection{\texorpdfstring{ebml\+::data$<$ std\+::wstring $>$()}{ebml::data< std::wstring >()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template std\+::wstring\& \mbox{\hyperlink{namespaceebml_a4edfd02f8910c0abfd4bbbf928f92d9e}{ebml\+::data}}$<$ std\+::wstring $>$ (\begin{DoxyParamCaption}\item[{const ebml\+Element\+\_\+sp \&}]{ }\end{DoxyParamCaption})}

