\hypertarget{class_d_d4hep_1_1_grammar}{\section{D\-D4hep\-:\-:Grammar$<$ T\-Y\-P\-E $>$ Class Template Reference}
\label{class_d_d4hep_1_1_grammar}\index{D\-D4hep\-::\-Grammar$<$ T\-Y\-P\-E $>$@{D\-D4hep\-::\-Grammar$<$ T\-Y\-P\-E $>$}}
}


Concrete type dependent grammar definition.  




{\ttfamily \#include $<$Basic\-Grammar\-\_\-inl.\-h$>$}

Inheritance diagram for D\-D4hep\-:\-:Grammar$<$ T\-Y\-P\-E $>$\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{class_d_d4hep_1_1_grammar}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_d_d4hep_1_1_grammar_a38672ae640c8b5a7e36af4084878f74a}{Grammar} ()
\begin{DoxyCompactList}\small\item\em Standarsd constructor. \end{DoxyCompactList}\item 
virtual \hyperlink{class_d_d4hep_1_1_grammar_a53982c366a911db255f51de19d9ce9ef}{$\sim$\-Grammar} ()
\begin{DoxyCompactList}\small\item\em Default destructor. \end{DoxyCompactList}\item 
virtual const std\-::type\-\_\-info \& \hyperlink{class_d_d4hep_1_1_grammar_a5fcd84c1a1f9b641083264f6127cf431}{type} () const 
\begin{DoxyCompactList}\small\item\em \hyperlink{class_d_d4hep_1_1_property_grammar}{Property\-Grammar} overload\-: Access to the type information. \end{DoxyCompactList}\item 
virtual const std\-::string \& \hyperlink{class_d_d4hep_1_1_grammar_aeeaf492d2fab90c5d5fb032f7efaa42e}{type\-\_\-name} () const 
\begin{DoxyCompactList}\small\item\em Access to the type information name. \end{DoxyCompactList}\item 
virtual size\-\_\-t \hyperlink{class_d_d4hep_1_1_grammar_ab6c57bd9efbcd2964fa78864ebcf26c5}{size\-Of} () const 
\begin{DoxyCompactList}\small\item\em Access the object size (sizeof operator) \end{DoxyCompactList}\item 
virtual std\-::string \hyperlink{class_d_d4hep_1_1_grammar_a314d7a19d5f14066677c5fe3f2338291}{str} (const void $\ast$ptr) const 
\begin{DoxyCompactList}\small\item\em \hyperlink{class_d_d4hep_1_1_property_grammar}{Property\-Grammar} overload\-: Serialize a property to a string. \end{DoxyCompactList}\item 
virtual bool \hyperlink{class_d_d4hep_1_1_grammar_a275a87cbf97f851be158441d373ae2b2}{from\-String} (void $\ast$ptr, const std\-::string \&value) const 
\begin{DoxyCompactList}\small\item\em \hyperlink{class_d_d4hep_1_1_property_grammar}{Property\-Grammar} overload\-: Retrieve value from string. \end{DoxyCompactList}\item 
virtual int \hyperlink{class_d_d4hep_1_1_grammar_a794aaf9d5b05a13ad4d62870cba5865e}{evaluate} (void $\ast$ptr, const std\-::string \&value) const 
\begin{DoxyCompactList}\small\item\em Evaluate string value if possible before calling boost\-::spirit. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
std\-::string \hyperlink{class_d_d4hep_1_1_grammar_a10842e3b2f4549f2f8f2b0306e17a43d}{m\-\_\-type\-Name}
\begin{DoxyCompactList}\small\item\em Cached type information name. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
\subsubsection*{template$<$typename T\-Y\-P\-E$>$class D\-D4hep\-::\-Grammar$<$ T\-Y\-P\-E $>$}

Concrete type dependent grammar definition. 

\begin{DoxyAuthor}{Author}
M.\-Frank 
\end{DoxyAuthor}
\begin{DoxyDate}{Date}
13.\-08.\-2013 
\end{DoxyDate}


Definition at line 63 of file Basic\-Grammar\-\_\-inl.\-h.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_d_d4hep_1_1_grammar_a38672ae640c8b5a7e36af4084878f74a}{\index{D\-D4hep\-::\-Grammar@{D\-D4hep\-::\-Grammar}!Grammar@{Grammar}}
\index{Grammar@{Grammar}!DD4hep::Grammar@{D\-D4hep\-::\-Grammar}}
\subsubsection[{Grammar}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T\-Y\-P\-E $>$ {\bf D\-D4hep\-::\-Grammar}$<$ T\-Y\-P\-E $>$\-::{\bf Grammar} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{class_d_d4hep_1_1_grammar_a38672ae640c8b5a7e36af4084878f74a}


Standarsd constructor. 



Definition at line 86 of file Basic\-Grammar\-\_\-inl.\-h.



References D\-D4hep\-::type\-Name().

\hypertarget{class_d_d4hep_1_1_grammar_a53982c366a911db255f51de19d9ce9ef}{\index{D\-D4hep\-::\-Grammar@{D\-D4hep\-::\-Grammar}!$\sim$\-Grammar@{$\sim$\-Grammar}}
\index{$\sim$\-Grammar@{$\sim$\-Grammar}!DD4hep::Grammar@{D\-D4hep\-::\-Grammar}}
\subsubsection[{$\sim$\-Grammar}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T\-Y\-P\-E $>$ {\bf D\-D4hep\-::\-Grammar}$<$ T\-Y\-P\-E $>$\-::$\sim${\bf Grammar} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_d_d4hep_1_1_grammar_a53982c366a911db255f51de19d9ce9ef}


Default destructor. 



Definition at line 91 of file Basic\-Grammar\-\_\-inl.\-h.



\subsection{Member Function Documentation}
\hypertarget{class_d_d4hep_1_1_grammar_a794aaf9d5b05a13ad4d62870cba5865e}{\index{D\-D4hep\-::\-Grammar@{D\-D4hep\-::\-Grammar}!evaluate@{evaluate}}
\index{evaluate@{evaluate}!DD4hep::Grammar@{D\-D4hep\-::\-Grammar}}
\subsubsection[{evaluate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T\-Y\-P\-E $>$ int {\bf D\-D4hep\-::\-Grammar}$<$ T\-Y\-P\-E $>$\-::evaluate (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{ptr, }
\item[{const std\-::string \&}]{value}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_d_d4hep_1_1_grammar_a794aaf9d5b05a13ad4d62870cba5865e}


Evaluate string value if possible before calling boost\-::spirit. 



Definition at line 110 of file Basic\-Grammar\-\_\-inl.\-h.

\hypertarget{class_d_d4hep_1_1_grammar_a275a87cbf97f851be158441d373ae2b2}{\index{D\-D4hep\-::\-Grammar@{D\-D4hep\-::\-Grammar}!from\-String@{from\-String}}
\index{from\-String@{from\-String}!DD4hep::Grammar@{D\-D4hep\-::\-Grammar}}
\subsubsection[{from\-String}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T\-Y\-P\-E $>$ bool {\bf D\-D4hep\-::\-Grammar}$<$ T\-Y\-P\-E $>$\-::from\-String (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{ptr, }
\item[{const std\-::string \&}]{value}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_d_d4hep_1_1_grammar_a275a87cbf97f851be158441d373ae2b2}


\hyperlink{class_d_d4hep_1_1_property_grammar}{Property\-Grammar} overload\-: Retrieve value from string. 



Implements \hyperlink{class_d_d4hep_1_1_basic_grammar_adf08fd5e01cf623c8b0e239bbe0b1868}{D\-D4hep\-::\-Basic\-Grammar}.



Definition at line 115 of file Basic\-Grammar\-\_\-inl.\-h.



References D\-D4hep\-::\-Basic\-Grammar\-::invalid\-Conversion(), and D\-D4hep\-::\-Parsers\-::parse().

\hypertarget{class_d_d4hep_1_1_grammar_ab6c57bd9efbcd2964fa78864ebcf26c5}{\index{D\-D4hep\-::\-Grammar@{D\-D4hep\-::\-Grammar}!size\-Of@{size\-Of}}
\index{size\-Of@{size\-Of}!DD4hep::Grammar@{D\-D4hep\-::\-Grammar}}
\subsubsection[{size\-Of}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T\-Y\-P\-E $>$ size\-\_\-t {\bf D\-D4hep\-::\-Grammar}$<$ T\-Y\-P\-E $>$\-::size\-Of (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_d_d4hep_1_1_grammar_ab6c57bd9efbcd2964fa78864ebcf26c5}


Access the object size (sizeof operator) 



Implements \hyperlink{class_d_d4hep_1_1_basic_grammar_a5e2ae03f6371357d3da7e082bbeabb0d}{D\-D4hep\-::\-Basic\-Grammar}.



Definition at line 105 of file Basic\-Grammar\-\_\-inl.\-h.

\hypertarget{class_d_d4hep_1_1_grammar_a314d7a19d5f14066677c5fe3f2338291}{\index{D\-D4hep\-::\-Grammar@{D\-D4hep\-::\-Grammar}!str@{str}}
\index{str@{str}!DD4hep::Grammar@{D\-D4hep\-::\-Grammar}}
\subsubsection[{str}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T\-Y\-P\-E $>$ std\-::string {\bf D\-D4hep\-::\-Grammar}$<$ T\-Y\-P\-E $>$\-::str (
\begin{DoxyParamCaption}
\item[{const void $\ast$}]{ptr}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_d_d4hep_1_1_grammar_a314d7a19d5f14066677c5fe3f2338291}


\hyperlink{class_d_d4hep_1_1_property_grammar}{Property\-Grammar} overload\-: Serialize a property to a string. 

Serialize a property to a string. 

Implements \hyperlink{class_d_d4hep_1_1_basic_grammar_a92fb01e1333540f417ef8151e774fd72}{D\-D4hep\-::\-Basic\-Grammar}.



Definition at line 142 of file Basic\-Grammar\-\_\-inl.\-h.



References D\-D4hep\-::\-Utils\-::to\-Stream().

\hypertarget{class_d_d4hep_1_1_grammar_a5fcd84c1a1f9b641083264f6127cf431}{\index{D\-D4hep\-::\-Grammar@{D\-D4hep\-::\-Grammar}!type@{type}}
\index{type@{type}!DD4hep::Grammar@{D\-D4hep\-::\-Grammar}}
\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T\-Y\-P\-E $>$ const std\-::type\-\_\-info \& {\bf D\-D4hep\-::\-Grammar}$<$ T\-Y\-P\-E $>$\-::type (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_d_d4hep_1_1_grammar_a5fcd84c1a1f9b641083264f6127cf431}


\hyperlink{class_d_d4hep_1_1_property_grammar}{Property\-Grammar} overload\-: Access to the type information. 



Implements \hyperlink{class_d_d4hep_1_1_basic_grammar_a697d38c53f67a86bb182350dad284402}{D\-D4hep\-::\-Basic\-Grammar}.



Definition at line 95 of file Basic\-Grammar\-\_\-inl.\-h.

\hypertarget{class_d_d4hep_1_1_grammar_aeeaf492d2fab90c5d5fb032f7efaa42e}{\index{D\-D4hep\-::\-Grammar@{D\-D4hep\-::\-Grammar}!type\-\_\-name@{type\-\_\-name}}
\index{type\-\_\-name@{type\-\_\-name}!DD4hep::Grammar@{D\-D4hep\-::\-Grammar}}
\subsubsection[{type\-\_\-name}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T\-Y\-P\-E $>$ const std\-::string \& {\bf D\-D4hep\-::\-Grammar}$<$ T\-Y\-P\-E $>$\-::type\-\_\-name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_d_d4hep_1_1_grammar_aeeaf492d2fab90c5d5fb032f7efaa42e}


Access to the type information name. 

\hyperlink{class_d_d4hep_1_1_property_grammar}{Property\-Grammar} overload\-: Access to the type information. 

Implements \hyperlink{class_d_d4hep_1_1_basic_grammar_acae3770beb2e60eaf76c7d85722c8bc2}{D\-D4hep\-::\-Basic\-Grammar}.



Definition at line 100 of file Basic\-Grammar\-\_\-inl.\-h.



\subsection{Member Data Documentation}
\hypertarget{class_d_d4hep_1_1_grammar_a10842e3b2f4549f2f8f2b0306e17a43d}{\index{D\-D4hep\-::\-Grammar@{D\-D4hep\-::\-Grammar}!m\-\_\-type\-Name@{m\-\_\-type\-Name}}
\index{m\-\_\-type\-Name@{m\-\_\-type\-Name}!DD4hep::Grammar@{D\-D4hep\-::\-Grammar}}
\subsubsection[{m\-\_\-type\-Name}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T\-Y\-P\-E $>$ std\-::string {\bf D\-D4hep\-::\-Grammar}$<$ T\-Y\-P\-E $>$\-::m\-\_\-type\-Name\hspace{0.3cm}{\ttfamily [private]}}}\label{class_d_d4hep_1_1_grammar_a10842e3b2f4549f2f8f2b0306e17a43d}


Cached type information name. 



Definition at line 65 of file Basic\-Grammar\-\_\-inl.\-h.



The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
/opt/ilcsoft/\-H\-E\-A\-D-\/2016-\/12-\/02/\-D\-D4hep/\-H\-E\-A\-D/\-D\-D\-Core/include/\-D\-D4hep/\hyperlink{_basic_grammar__inl_8h}{Basic\-Grammar\-\_\-inl.\-h}\end{DoxyCompactItemize}
