\hypertarget{classeo_op_container}{}\doxysection{eo\+Op\+Container$<$ E\+OT $>$ Class Template Reference}
\label{classeo_op_container}\index{eoOpContainer$<$ EOT $>$@{eoOpContainer$<$ EOT $>$}}


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



Inheritance diagram for eo\+Op\+Container$<$ E\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classeo_op_container__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for eo\+Op\+Container$<$ E\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classeo_op_container__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classeo_op_container_ab24a049b700070cd07abb3fc1f7134e6}{eo\+Op\+Container}} ()
\item 
virtual \mbox{\hyperlink{classeo_op_container_ac73f76c45f8152a3315ba08a04c3bd0f}{$\sim$eo\+Op\+Container}} (void)
\item 
virtual unsigned \mbox{\hyperlink{classeo_op_container_ab64d3eccdd3f30fcbfff32eb21c88160}{max\+\_\+production}} (void)
\item 
void \mbox{\hyperlink{classeo_op_container_ac1c9829f902f4e8b6e6e670eda807581}{add}} (\mbox{\hyperlink{classeo_op}{eo\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+op, double \+\_\+rate)
\item 
\mbox{\Hypertarget{classeo_op_container_a3ae943dea97408508d90f7eaab168009}\label{classeo_op_container_a3ae943dea97408508d90f7eaab168009}} 
virtual std\+::string {\bfseries class\+Name} () const =0
\item 
\mbox{\hyperlink{classeo_op_container_ab24a049b700070cd07abb3fc1f7134e6}{eo\+Op\+Container}} ()
\item 
virtual \mbox{\hyperlink{classeo_op_container_ac73f76c45f8152a3315ba08a04c3bd0f}{$\sim$eo\+Op\+Container}} (void)
\item 
virtual unsigned \mbox{\hyperlink{classeo_op_container_ab64d3eccdd3f30fcbfff32eb21c88160}{max\+\_\+production}} (void)
\item 
void \mbox{\hyperlink{classeo_op_container_ac1c9829f902f4e8b6e6e670eda807581}{add}} (\mbox{\hyperlink{classeo_op}{eo\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+op, double \+\_\+rate)
\item 
\mbox{\Hypertarget{classeo_op_container_a3ae943dea97408508d90f7eaab168009}\label{classeo_op_container_a3ae943dea97408508d90f7eaab168009}} 
virtual std\+::string {\bfseries class\+Name} () const =0
\end{DoxyCompactItemize}
\doxysubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classeo_op_container_a0bd3ffd4e3414efbd22ef4a9ddfc01b0}\label{classeo_op_container_a0bd3ffd4e3414efbd22ef4a9ddfc01b0}} 
std\+::vector$<$ double $>$ {\bfseries rates}
\item 
\mbox{\Hypertarget{classeo_op_container_a7eefb0c38de7b640cfe1415160b1d02f}\label{classeo_op_container_a7eefb0c38de7b640cfe1415160b1d02f}} 
std\+::vector$<$ \mbox{\hyperlink{classeo_gen_op}{eo\+Gen\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ $\ast$ $>$ {\bfseries ops}
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$class E\+OT$>$\newline
class eo\+Op\+Container$<$ E\+O\+T $>$}

\mbox{\hyperlink{classeo_op_container}{eo\+Op\+Container}} is a base class for the sequential and proportional selectors It takes care of wrapping the other operators, and deleting stuff that it has allocated

Warning\+: all operators are added together with a rate (double) However, the meaning of this rate will be different in the differnet instances of \mbox{\hyperlink{classeo_op_container}{eo\+Op\+Container}}\+: an {\itshape {\bfseries{absolute}}} probability in the sequential version, and a {\itshape {\bfseries{relative}}} weight in the proportional version 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classeo_op_container_ab24a049b700070cd07abb3fc1f7134e6}\label{classeo_op_container_ab24a049b700070cd07abb3fc1f7134e6}} 
\index{eoOpContainer$<$ EOT $>$@{eoOpContainer$<$ EOT $>$}!eoOpContainer@{eoOpContainer}}
\index{eoOpContainer@{eoOpContainer}!eoOpContainer$<$ EOT $>$@{eoOpContainer$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoOpContainer()}{eoOpContainer()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_op_container}{eo\+Op\+Container}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_op_container}{eo\+Op\+Container}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor\+: nothing much to do \mbox{\Hypertarget{classeo_op_container_ac73f76c45f8152a3315ba08a04c3bd0f}\label{classeo_op_container_ac73f76c45f8152a3315ba08a04c3bd0f}} 
\index{eoOpContainer$<$ EOT $>$@{eoOpContainer$<$ EOT $>$}!````~eoOpContainer@{$\sim$eoOpContainer}}
\index{````~eoOpContainer@{$\sim$eoOpContainer}!eoOpContainer$<$ EOT $>$@{eoOpContainer$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{$\sim$eoOpContainer()}{~eoOpContainer()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual \mbox{\hyperlink{classeo_op_container}{eo\+Op\+Container}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::$\sim$\mbox{\hyperlink{classeo_op_container}{eo\+Op\+Container}} (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Dtor\+: delete all the Gen\+Ops created when wrapping simple ops \mbox{\Hypertarget{classeo_op_container_ab24a049b700070cd07abb3fc1f7134e6}\label{classeo_op_container_ab24a049b700070cd07abb3fc1f7134e6}} 
\index{eoOpContainer$<$ EOT $>$@{eoOpContainer$<$ EOT $>$}!eoOpContainer@{eoOpContainer}}
\index{eoOpContainer@{eoOpContainer}!eoOpContainer$<$ EOT $>$@{eoOpContainer$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoOpContainer()}{eoOpContainer()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_op_container}{eo\+Op\+Container}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_op_container}{eo\+Op\+Container}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor\+: nothing much to do \mbox{\Hypertarget{classeo_op_container_ac73f76c45f8152a3315ba08a04c3bd0f}\label{classeo_op_container_ac73f76c45f8152a3315ba08a04c3bd0f}} 
\index{eoOpContainer$<$ EOT $>$@{eoOpContainer$<$ EOT $>$}!````~eoOpContainer@{$\sim$eoOpContainer}}
\index{````~eoOpContainer@{$\sim$eoOpContainer}!eoOpContainer$<$ EOT $>$@{eoOpContainer$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{$\sim$eoOpContainer()}{~eoOpContainer()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual \mbox{\hyperlink{classeo_op_container}{eo\+Op\+Container}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::$\sim$\mbox{\hyperlink{classeo_op_container}{eo\+Op\+Container}} (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Dtor\+: delete all the Gen\+Ops created when wrapping simple ops 

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classeo_op_container_ac1c9829f902f4e8b6e6e670eda807581}\label{classeo_op_container_ac1c9829f902f4e8b6e6e670eda807581}} 
\index{eoOpContainer$<$ EOT $>$@{eoOpContainer$<$ EOT $>$}!add@{add}}
\index{add@{add}!eoOpContainer$<$ EOT $>$@{eoOpContainer$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{add()}{add()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
void \mbox{\hyperlink{classeo_op_container}{eo\+Op\+Container}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_op}{eo\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+op,  }\item[{double}]{\+\_\+rate }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Add an operator to the container, also give it a rate

(sidenote, it\textquotesingle{}s much less hairy since I added the wrap\+\_\+op is used) \mbox{\Hypertarget{classeo_op_container_ac1c9829f902f4e8b6e6e670eda807581}\label{classeo_op_container_ac1c9829f902f4e8b6e6e670eda807581}} 
\index{eoOpContainer$<$ EOT $>$@{eoOpContainer$<$ EOT $>$}!add@{add}}
\index{add@{add}!eoOpContainer$<$ EOT $>$@{eoOpContainer$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{add()}{add()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
void \mbox{\hyperlink{classeo_op_container}{eo\+Op\+Container}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_op}{eo\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+op,  }\item[{double}]{\+\_\+rate }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Add an operator to the container, also give it a rate

(sidenote, it\textquotesingle{}s much less hairy since I added the wrap\+\_\+op is used) \mbox{\Hypertarget{classeo_op_container_ab64d3eccdd3f30fcbfff32eb21c88160}\label{classeo_op_container_ab64d3eccdd3f30fcbfff32eb21c88160}} 
\index{eoOpContainer$<$ EOT $>$@{eoOpContainer$<$ EOT $>$}!max\_production@{max\_production}}
\index{max\_production@{max\_production}!eoOpContainer$<$ EOT $>$@{eoOpContainer$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{max\_production()}{max\_production()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual unsigned \mbox{\hyperlink{classeo_op_container}{eo\+Op\+Container}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::max\+\_\+production (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

for memory management (doesn\textquotesingle{}t have to be very precise 

Implements \mbox{\hyperlink{classeo_gen_op_aaeaf1af3f0c36a94096b622a6c14241f}{eo\+Gen\+Op$<$ E\+O\+T $>$}}.

\mbox{\Hypertarget{classeo_op_container_ab64d3eccdd3f30fcbfff32eb21c88160}\label{classeo_op_container_ab64d3eccdd3f30fcbfff32eb21c88160}} 
\index{eoOpContainer$<$ EOT $>$@{eoOpContainer$<$ EOT $>$}!max\_production@{max\_production}}
\index{max\_production@{max\_production}!eoOpContainer$<$ EOT $>$@{eoOpContainer$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{max\_production()}{max\_production()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual unsigned \mbox{\hyperlink{classeo_op_container}{eo\+Op\+Container}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::max\+\_\+production (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

for memory management (doesn\textquotesingle{}t have to be very precise 

Implements \mbox{\hyperlink{classeo_gen_op_aaeaf1af3f0c36a94096b622a6c14241f}{eo\+Gen\+Op$<$ E\+O\+T $>$}}.



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