67 lines
3 KiB
TeX
67 lines
3 KiB
TeX
\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<EOT>}} > selectors;}
|
|
\DoxyCodeLine{selectors.add< \mbox{\hyperlink{classeo_stoch_tournament_select}{eoStochTournamentSelect<EOT>}} >( 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}
|