\hypertarget{classeo_op_sel_mason}{}\doxysection{eo\+Op\+Sel\+Mason$<$ eo\+Class $>$ Class Template Reference}
\label{classeo_op_sel_mason}\index{eoOpSelMason$<$ eoClass $>$@{eoOpSelMason$<$ eoClass $>$}}


{\ttfamily \#include $<$eo\+Op\+Sel\+Mason.\+h$>$}



Inheritance diagram for eo\+Op\+Sel\+Mason$<$ eo\+Class $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=230pt]{classeo_op_sel_mason__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for eo\+Op\+Sel\+Mason$<$ eo\+Class $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=230pt]{classeo_op_sel_mason__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classeo_op_sel_mason_ad7357b9e826358d8dbb4db2ef91c6322}\label{classeo_op_sel_mason_ad7357b9e826358d8dbb4db2ef91c6322}} 
typedef std\+::vector$<$ \mbox{\hyperlink{classeo_op}{eo\+Op}}$<$ eo\+Class $>$ $\ast$ $>$ {\bfseries v\+OpP}
\item 
\mbox{\Hypertarget{classeo_op_sel_mason_a59ba1f555c3c7abffaf6b8bbe3e585a7}\label{classeo_op_sel_mason_a59ba1f555c3c7abffaf6b8bbe3e585a7}} 
typedef map$<$ eo\+Op\+Selector$<$ eo\+Class $>$ $\ast$, v\+OpP $>$ {\bfseries M\+EV}
\item 
\mbox{\Hypertarget{classeo_op_sel_mason_ad7357b9e826358d8dbb4db2ef91c6322}\label{classeo_op_sel_mason_ad7357b9e826358d8dbb4db2ef91c6322}} 
typedef std\+::vector$<$ \mbox{\hyperlink{classeo_op}{eo\+Op}}$<$ eo\+Class $>$ $\ast$ $>$ {\bfseries v\+OpP}
\item 
\mbox{\Hypertarget{classeo_op_sel_mason_a59ba1f555c3c7abffaf6b8bbe3e585a7}\label{classeo_op_sel_mason_a59ba1f555c3c7abffaf6b8bbe3e585a7}} 
typedef map$<$ eo\+Op\+Selector$<$ eo\+Class $>$ $\ast$, v\+OpP $>$ {\bfseries M\+EV}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{Indent}\textbf{ ctors and dtors}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classeo_op_sel_mason_a971d777fe05745383711a8a78372eea8}\label{classeo_op_sel_mason_a971d777fe05745383711a8a78372eea8}} 
\mbox{\hyperlink{classeo_op_sel_mason_a971d777fe05745383711a8a78372eea8}{eo\+Op\+Sel\+Mason}} (eo\+Op\+Factory$<$ eo\+Class $>$ \&\+\_\+op\+Fact)
\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classeo_op_sel_mason_ae6eeea23c88347806e49ec56f00dbf58}\label{classeo_op_sel_mason_ae6eeea23c88347806e49ec56f00dbf58}} 
virtual \mbox{\hyperlink{classeo_op_sel_mason_ae6eeea23c88347806e49ec56f00dbf58}{$\sim$eo\+Op\+Sel\+Mason}} ()
\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item 
virtual eo\+Op\+Selector$<$ eo\+Class $>$ $\ast$ \mbox{\hyperlink{classeo_op_sel_mason_a7f77ed5366f118e9478464e3fc403761}{make}} (std\+::istream \&\+\_\+is)
\item 
\mbox{\Hypertarget{classeo_op_sel_mason_a971d777fe05745383711a8a78372eea8}\label{classeo_op_sel_mason_a971d777fe05745383711a8a78372eea8}} 
\mbox{\hyperlink{classeo_op_sel_mason_a971d777fe05745383711a8a78372eea8}{eo\+Op\+Sel\+Mason}} (eo\+Op\+Factory$<$ eo\+Class $>$ \&\+\_\+op\+Fact)
\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classeo_op_sel_mason_ae6eeea23c88347806e49ec56f00dbf58}\label{classeo_op_sel_mason_ae6eeea23c88347806e49ec56f00dbf58}} 
virtual \mbox{\hyperlink{classeo_op_sel_mason_ae6eeea23c88347806e49ec56f00dbf58}{$\sim$eo\+Op\+Sel\+Mason}} ()
\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item 
virtual eo\+Op\+Selector$<$ eo\+Class $>$ $\ast$ \mbox{\hyperlink{classeo_op_sel_mason_a7f77ed5366f118e9478464e3fc403761}{make}} (std\+::istream \&\+\_\+is)
\end{DoxyCompactItemize}
\end{Indent}
\doxysubsection*{eo\+Object methods}
\begin{DoxyCompactItemize}
\item 
virtual std\+::string \mbox{\hyperlink{classeo_op_sel_mason_a2100127b9ef128ea03b8c3f0043689fe}{class\+Name}} () const
\item 
virtual std\+::string \mbox{\hyperlink{classeo_op_sel_mason_a2100127b9ef128ea03b8c3f0043689fe}{class\+Name}} () const
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$class eo\+Class$>$\newline
class eo\+Op\+Sel\+Mason$<$ eo\+Class $>$}

\mbox{\hyperlink{class_e_o}{EO}} Mason, or builder, for operator selectors. A builder must allocate memory to the objects it builds, and then deallocate it when it gets out of scope 

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classeo_op_sel_mason_a2100127b9ef128ea03b8c3f0043689fe}\label{classeo_op_sel_mason_a2100127b9ef128ea03b8c3f0043689fe}} 
\index{eoOpSelMason$<$ eoClass $>$@{eoOpSelMason$<$ eoClass $>$}!className@{className}}
\index{className@{className}!eoOpSelMason$<$ eoClass $>$@{eoOpSelMason$<$ eoClass $>$}}
\doxysubsubsection{\texorpdfstring{className()}{className()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class eo\+Class $>$ \\
virtual std\+::string \mbox{\hyperlink{classeo_op_sel_mason}{eo\+Op\+Sel\+Mason}}$<$ eo\+Class $>$\+::class\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Return the class id 

Implements \mbox{\hyperlink{classeo_object_a1c02745db786e7bb46dea93b560fe685}{eo\+Object}}.

\mbox{\Hypertarget{classeo_op_sel_mason_a2100127b9ef128ea03b8c3f0043689fe}\label{classeo_op_sel_mason_a2100127b9ef128ea03b8c3f0043689fe}} 
\index{eoOpSelMason$<$ eoClass $>$@{eoOpSelMason$<$ eoClass $>$}!className@{className}}
\index{className@{className}!eoOpSelMason$<$ eoClass $>$@{eoOpSelMason$<$ eoClass $>$}}
\doxysubsubsection{\texorpdfstring{className()}{className()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class eo\+Class $>$ \\
virtual std\+::string \mbox{\hyperlink{classeo_op_sel_mason}{eo\+Op\+Sel\+Mason}}$<$ eo\+Class $>$\+::class\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Return the class id 

Implements \mbox{\hyperlink{classeo_object_a1c02745db786e7bb46dea93b560fe685}{eo\+Object}}.

\mbox{\Hypertarget{classeo_op_sel_mason_a7f77ed5366f118e9478464e3fc403761}\label{classeo_op_sel_mason_a7f77ed5366f118e9478464e3fc403761}} 
\index{eoOpSelMason$<$ eoClass $>$@{eoOpSelMason$<$ eoClass $>$}!make@{make}}
\index{make@{make}!eoOpSelMason$<$ eoClass $>$@{eoOpSelMason$<$ eoClass $>$}}
\doxysubsubsection{\texorpdfstring{make()}{make()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class eo\+Class $>$ \\
virtual eo\+Op\+Selector$<$eo\+Class$>$$\ast$ \mbox{\hyperlink{classeo_op_sel_mason}{eo\+Op\+Sel\+Mason}}$<$ eo\+Class $>$\+::make (\begin{DoxyParamCaption}\item[{std\+::istream \&}]{\+\_\+is }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Factory methods\+: creates an object from an std\+::istream, reading from it whatever is needed to create the object. The format is op\+Sel\+Class\+Name\textbackslash{} rate 1 operator1\textbackslash{} rate 2 operator2\textbackslash{} ...\textbackslash{} Stores all operators built in a database (\#alloc\+Map\#), so that somebody can destroy them later. The Mason is in charge or destroying the operators, since the built object can{\ucr}t do it itself. The objects built must be destroyed from outside, using the \char`\"{}destroy\char`\"{} method 

Implements \mbox{\hyperlink{classeo_factory_ad72a5ae6dad84da6150ec9cf46800fba}{eo\+Factory$<$ eo\+Op\+Selector$<$ eo\+Class $>$ $>$}}.

\mbox{\Hypertarget{classeo_op_sel_mason_a7f77ed5366f118e9478464e3fc403761}\label{classeo_op_sel_mason_a7f77ed5366f118e9478464e3fc403761}} 
\index{eoOpSelMason$<$ eoClass $>$@{eoOpSelMason$<$ eoClass $>$}!make@{make}}
\index{make@{make}!eoOpSelMason$<$ eoClass $>$@{eoOpSelMason$<$ eoClass $>$}}
\doxysubsubsection{\texorpdfstring{make()}{make()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class eo\+Class $>$ \\
virtual eo\+Op\+Selector$<$eo\+Class$>$$\ast$ \mbox{\hyperlink{classeo_op_sel_mason}{eo\+Op\+Sel\+Mason}}$<$ eo\+Class $>$\+::make (\begin{DoxyParamCaption}\item[{std\+::istream \&}]{\+\_\+is }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Factory methods\+: creates an object from an std\+::istream, reading from it whatever is needed to create the object. The format is op\+Sel\+Class\+Name\textbackslash{} rate 1 operator1\textbackslash{} rate 2 operator2\textbackslash{} ...\textbackslash{} Stores all operators built in a database (\#alloc\+Map\#), so that somebody can destroy them later. The Mason is in charge or destroying the operators, since the built object can�t do it itself. The objects built must be destroyed from outside, using the \char`\"{}destroy\char`\"{} method 

Implements \mbox{\hyperlink{classeo_factory_ad72a5ae6dad84da6150ec9cf46800fba}{eo\+Factory$<$ eo\+Op\+Selector$<$ eo\+Class $>$ $>$}}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
deprecated/eo/src/eo\+Op\+Sel\+Mason.\+h\end{DoxyCompactItemize}
