158 lines
No EOL
10 KiB
TeX
158 lines
No EOL
10 KiB
TeX
\hypertarget{group___utilities}{}\doxysection{Utilities}
|
|
\label{group___utilities}\index{Utilities@{Utilities}}
|
|
|
|
|
|
Classes that may help you write elegant code.
|
|
|
|
|
|
Collaboration diagram for Utilities\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=350pt]{group___utilities}
|
|
\end{center}
|
|
\end{figure}
|
|
\doxysubsection*{Modules}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
\mbox{\hyperlink{group___builders}{Automatic builders}}
|
|
\begin{DoxyCompactList}\small\item\em Automatic builders are functions that automagically builds most commons instances for you. \end{DoxyCompactList}\item
|
|
\mbox{\hyperlink{group___continuators}{Stopping criteria}}
|
|
\begin{DoxyCompactList}\small\item\em A stopping criterion is called a \char`\"{}continue\char`\"{}. This is a functor that is called at each generation end and that return true if one should stop the search. \end{DoxyCompactList}\item
|
|
\mbox{\hyperlink{group___combination}{Operators combination}}
|
|
\begin{DoxyCompactList}\small\item\em Classes that permits to combine several operators in a single one. \end{DoxyCompactList}\item
|
|
\mbox{\hyperlink{group___bounds}{Bounds management}}
|
|
\begin{DoxyCompactList}\small\item\em Bounds are a set of utilities that permits to manage ranges of existence for variables. For example to restrain vectors or parameters to a given domain. \end{DoxyCompactList}\item
|
|
\mbox{\hyperlink{group___checkpoints}{Checkpointing}}
|
|
\begin{DoxyCompactList}\small\item\em Checkpoints are supposed to be called perodically (for instance at each generation) and will call every functors you put in them. \end{DoxyCompactList}\item
|
|
\mbox{\hyperlink{group___logging}{Logging}}
|
|
\item
|
|
\mbox{\hyperlink{group___monitors}{Monitoring}}
|
|
\begin{DoxyCompactList}\small\item\em Monitors take a set of value parameters (\mbox{\hyperlink{classeo_value_param}{eo\+Value\+Param}}) objects and output them on a given stream, file, pipe, etc. \end{DoxyCompactList}\item
|
|
\mbox{\hyperlink{group___parallel}{Parallel}}
|
|
\item
|
|
\mbox{\hyperlink{group___parameters}{Parameters management}}
|
|
\begin{DoxyCompactList}\small\item\em A parameter is basically an object that stores a value and that can read/print it from/on streams. \end{DoxyCompactList}\item
|
|
\mbox{\hyperlink{group___random}{Random number generation}}
|
|
\item
|
|
\mbox{\hyperlink{group___stats}{Statistics computation}}
|
|
\begin{DoxyCompactList}\small\item\em Compute various statistics on a population. \end{DoxyCompactList}\item
|
|
\mbox{\hyperlink{group___serialization}{Serialization helpers}}
|
|
\begin{DoxyCompactList}\small\item\em Contains all the necessary entities to serialize eo objects into J\+S\+ON objects. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
|
\doxysubsection*{Classes}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_procedure_counter}{eo\+Procedure\+Counter$<$ Procedure $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_factory}{eo\+Factory$<$ E\+O\+Class $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_functor_store}{eo\+Functor\+Store}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_op_sel_mason}{eo\+Op\+Sel\+Mason$<$ eo\+Class $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_perf2_worth}{eo\+Perf2\+Worth$<$ E\+O\+T, Worth\+T $>$}}
|
|
\begin{DoxyCompactList}\small\item\em Base class to transform raw fitnesses into fitness for selection. \end{DoxyCompactList}\item
|
|
class \mbox{\hyperlink{classeo_perf2_worth_cached}{eo\+Perf2\+Worth\+Cached$<$ E\+O\+T, Worth\+T $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_no_perf2_worth}{eo\+No\+Perf2\+Worth$<$ E\+O\+T $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_populator}{eo\+Populator$<$ E\+O\+T $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_select_factory}{eo\+Select\+Factory$<$ E\+O\+T $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_s_t_l_f}{eo\+S\+T\+L\+F$<$ R $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_s_t_l_u_f}{eo\+S\+T\+L\+U\+F$<$ A1, R $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_s_t_l_b_f}{eo\+S\+T\+L\+B\+F$<$ A1, A2, R $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classlower__triangular__matrix}{lower\+\_\+triangular\+\_\+matrix}}
|
|
\item
|
|
class \mbox{\hyperlink{classsquare__matrix}{square\+\_\+matrix}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_external_e_o}{eo\+External\+E\+O$<$ Fit, External $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_external_init}{eo\+External\+Init$<$ F, External, External\+E\+O $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_external_eval_func}{eo\+External\+Eval\+Func$<$ F, External, External\+E\+O $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_external_mon_op}{eo\+External\+Mon\+Op$<$ F, External, External\+E\+O $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_external_bin_op}{eo\+External\+Bin\+Op$<$ F, External, External\+E\+O $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_external_quad_op}{eo\+External\+Quad\+Op$<$ F, External, External\+E\+O $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_string}{eo\+String$<$ fitness\+T $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_signal}{eo\+Signal$<$ E\+O\+T $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_state}{eo\+State}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_updatable}{eo\+Updatable}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_dyn_updater}{eo\+Dyn\+Updater}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_timed_dyn_update}{eo\+Timed\+Dyn\+Update}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_counted_dyn_update}{eo\+Counted\+Dyn\+Update}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_updater}{eo\+Updater}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_incrementor}{eo\+Incrementor$<$ T $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_incrementor_param}{eo\+Incrementor\+Param$<$ T $>$}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_timed_state_saver}{eo\+Timed\+State\+Saver}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_counted_state_saver}{eo\+Counted\+State\+Saver}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_log_message}{eo\+Log\+Message}}
|
|
\item
|
|
class \mbox{\hyperlink{classeo_timer}{eo\+Timer}}
|
|
\begin{DoxyCompactList}\small\item\em Timer allowing to measure time between a start point and a stop point. \end{DoxyCompactList}\item
|
|
class \mbox{\hyperlink{classeo_timer_stat}{eo\+Timer\+Stat}}
|
|
\begin{DoxyCompactList}\small\item\em Registers a group of statistics, each statistic corresponding to user, system and wallclock times distribution. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
|
\doxysubsection*{Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
{\footnotesize template$<$class E\+OT $>$ }\\void \mbox{\hyperlink{group___utilities_gac678eec2c602083572edfb85ad72f408}{apply}} (\mbox{\hyperlink{classeo_u_f}{eo\+UF}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} \&, void $>$ \&\+\_\+proc, std\+::vector$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop)
|
|
\item
|
|
{\footnotesize template$<$class F , class External $>$ }\\std\+::ostream \& \mbox{\hyperlink{group___utilities_gade9fa9c26490aaeb89ea88cac8e5d381}{operator$<$$<$}} (std\+::ostream \&os, const \mbox{\hyperlink{classeo_external_e_o}{eo\+External\+EO}}$<$ F, External $>$ \&eo)
|
|
\item
|
|
{\footnotesize template$<$class F , class External $>$ }\\std\+::istream \& \mbox{\hyperlink{group___utilities_ga57f8d8f850dd9454d482eb619db26c05}{operator$>$$>$}} (std\+::istream \&is, \mbox{\hyperlink{classeo_external_e_o}{eo\+External\+EO}}$<$ F, External $>$ \&eo)
|
|
\end{DoxyCompactItemize}
|
|
|
|
|
|
\doxysubsection{Detailed Description}
|
|
Classes that may help you write elegant code.
|
|
|
|
One of the invalidator operators. Use this one as a \textquotesingle{}hat\textquotesingle{} on an operator that is defined to work on a generic datatype. This functor will then check the return type of the operator and invalidate the fitness of the individual.
|
|
|
|
This functor is used in algorithms that work with straight \mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}, \mbox{\hyperlink{classeo_bin_op}{eo\+Bin\+Op}} or \mbox{\hyperlink{classeo_quad_op}{eo\+Quad\+Op}} operators, for instance \mbox{\hyperlink{classeo_s_g_a}{eo\+S\+GA}}. Note that \mbox{\hyperlink{classeo_gen_op}{eo\+Gen\+Op}} derived operators generally do invalidate the fitness of the objects they have changed.
|
|
|
|
Return value means \char`\"{}\+Has\+\_\+\+Changed\char`\"{} and not \char`\"{}\+Needs\+\_\+\+To\+\_\+\+Be\+\_\+\+Invalidated\char`\"{} as successive invalidation are not really a problem
|
|
|
|
\doxysubsection{Function Documentation}
|
|
\mbox{\Hypertarget{group___utilities_gac678eec2c602083572edfb85ad72f408}\label{group___utilities_gac678eec2c602083572edfb85ad72f408}}
|
|
\index{Utilities@{Utilities}!apply@{apply}}
|
|
\index{apply@{apply}!Utilities@{Utilities}}
|
|
\doxysubsubsection{\texorpdfstring{apply()}{apply()}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
|
|
void apply (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_u_f}{eo\+UF}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} \&, void $>$ \&}]{\+\_\+proc, }\item[{std\+::vector$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+pop }\end{DoxyParamCaption})}
|
|
|
|
Applies a unary function to a std\+::vector of things. \mbox{\Hypertarget{group___utilities_gade9fa9c26490aaeb89ea88cac8e5d381}\label{group___utilities_gade9fa9c26490aaeb89ea88cac8e5d381}}
|
|
\index{Utilities@{Utilities}!operator$<$$<$@{operator$<$$<$}}
|
|
\index{operator$<$$<$@{operator$<$$<$}!Utilities@{Utilities}}
|
|
\doxysubsubsection{\texorpdfstring{operator$<$$<$()}{operator<<()}}
|
|
{\footnotesize\ttfamily template$<$class F , class External $>$ \\
|
|
std\+::ostream \& operator$<$$<$ (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{os, }\item[{const \mbox{\hyperlink{classeo_external_e_o}{eo\+External\+EO}}$<$ F, External $>$ \&}]{eo }\end{DoxyParamCaption})}
|
|
|
|
To remove ambiguities between E\+O$<$\+F$>$ and External, streaming operators are defined yet again \mbox{\Hypertarget{group___utilities_ga57f8d8f850dd9454d482eb619db26c05}\label{group___utilities_ga57f8d8f850dd9454d482eb619db26c05}}
|
|
\index{Utilities@{Utilities}!operator$>$$>$@{operator$>$$>$}}
|
|
\index{operator$>$$>$@{operator$>$$>$}!Utilities@{Utilities}}
|
|
\doxysubsubsection{\texorpdfstring{operator$>$$>$()}{operator>>()}}
|
|
{\footnotesize\ttfamily template$<$class F , class External $>$ \\
|
|
std\+::istream \& operator$>$$>$ (\begin{DoxyParamCaption}\item[{std\+::istream \&}]{is, }\item[{\mbox{\hyperlink{classeo_external_e_o}{eo\+External\+EO}}$<$ F, External $>$ \&}]{eo }\end{DoxyParamCaption})}
|
|
|
|
To remove ambiguities between E\+O$<$\+F$>$ and External, streaming operators are defined yet again |