\hypertarget{classeo_operator_foundry}{}\doxysection{eo\+Operator\+Foundry$<$ Itf $>$ Class Template Reference} \label{classeo_operator_foundry}\index{eoOperatorFoundry$<$ Itf $>$@{eoOperatorFoundry$<$ Itf $>$}} {\ttfamily \#include $<$eo\+Algo\+Foundry.\+h$>$} Inheritance diagram for eo\+Operator\+Foundry$<$ Itf $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=242pt]{classeo_operator_foundry__inherit__graph} \end{center} \end{figure} Collaboration diagram for eo\+Operator\+Foundry$<$ Itf $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=242pt]{classeo_operator_foundry__coll__graph} \end{center} \end{figure} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classeo_operator_foundry_ad8740a33d8054448419a12e0a8bba792}\label{classeo_operator_foundry_ad8740a33d8054448419a12e0a8bba792}} {\bfseries eo\+Operator\+Foundry} (size\+\_\+t encoding\+\_\+index, bool always\+\_\+reinstantiate=true) \item \mbox{\Hypertarget{classeo_operator_foundry_a22ce8fafb36974aa9838554769c53376}\label{classeo_operator_foundry_a22ce8fafb36974aa9838554769c53376}} size\+\_\+t {\bfseries index} () const \end{DoxyCompactItemize} \doxysubsection*{Protected Attributes} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classeo_operator_foundry_adb50d1c7b9e34eb5fc0fcc2c9c11d8fe}\label{classeo_operator_foundry_adb50d1c7b9e34eb5fc0fcc2c9c11d8fe}} size\+\_\+t {\bfseries \+\_\+index} \end{DoxyCompactItemize} \doxysubsection{Detailed Description} \subsubsection*{template$<$class Itf$>$\newline class eo\+Operator\+Foundry$<$ Itf $>$} A vector of eo\+Forge which hold an index. To be used in conjunction with a subclass of an \mbox{\hyperlink{classeo_algo_foundry}{eo\+Algo\+Foundry}}, where it can store all the alternative operators and hold the link to the encoding. \begin{DoxySeeAlso}{See also} \mbox{\hyperlink{classeo_algo_foundry_e_a}{eo\+Algo\+Foundry\+EA}} \end{DoxySeeAlso} As with \mbox{\hyperlink{classeo_forge_vector}{eo\+Forge\+Vector}}, adding a managed operator is done through public member variable\textquotesingle{}s {\ttfamily add} method, which takes the class name as template and its constructor\textquotesingle{}s parameters as arguments. For example\+: \begin{DoxyCode}{0} \DoxyCodeLine{\mbox{\hyperlink{classeo_operator_foundry}{eoOperatorFoundry< eoSelectOne}} > selectors;} \DoxyCodeLine{selectors.add< \mbox{\hyperlink{classeo_stoch_tournament_select}{eoStochTournamentSelect}} >( 0.5 );} \end{DoxyCode} \begin{DoxyWarning}{Warning} If the managed constructor takes a reference Y\+OU S\+H\+O\+U\+LD A\+B\+S\+O\+L\+U\+T\+E\+LY wrap it in a {\ttfamily std\+::ref} when using {\ttfamily add} or {\ttfamily setup}, or it will silently be passed as a copy, which would effectively disable any link between operators. \end{DoxyWarning} The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item eo/src/eo\+Algo\+Foundry.\+h\end{DoxyCompactItemize}