\hypertarget{classeo_uniform_init}{}\doxysection{eo\+Uniform\+Init$<$ T $>$ Class Template Reference}
\label{classeo_uniform_init}\index{eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}}


{\ttfamily \#include $<$eo\+Uniform\+Init.\+h$>$}



Inheritance diagram for eo\+Uniform\+Init$<$ T $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=298pt]{classeo_uniform_init__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for eo\+Uniform\+Init$<$ T $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=298pt]{classeo_uniform_init__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classeo_uniform_init_a7dd6b471736b1f9ffab383e93af66220}{eo\+Uniform\+Init}} (T \+\_\+max=T(1.\+0), \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+rng=rng)
\item 
\mbox{\hyperlink{classeo_uniform_init_aab973fea134edb58c83b73ff956efb2e}{eo\+Uniform\+Init}} (\mbox{\hyperlink{classeo_real_bounds}{eo\+Real\+Bounds}} \&\+\_\+bound, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+rng=rng)
\item 
\mbox{\hyperlink{classeo_uniform_init_aa1ed4efd6d3b6cc2a321394beb20c20f}{eo\+Uniform\+Init}} (T \+\_\+min, T \+\_\+max, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+rng=rng)
\item 
void \mbox{\hyperlink{classeo_uniform_init_ad55627f74320f0cab6870b24b3d1f8d0}{operator()}} (T \&\+\_\+t)
\item 
\mbox{\hyperlink{classeo_uniform_init_a7dd6b471736b1f9ffab383e93af66220}{eo\+Uniform\+Init}} (T \+\_\+max=T(1.\+0), \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+rng=rng)
\item 
\mbox{\hyperlink{classeo_uniform_init_aab973fea134edb58c83b73ff956efb2e}{eo\+Uniform\+Init}} (\mbox{\hyperlink{classeo_real_bounds}{eo\+Real\+Bounds}} \&\+\_\+bound, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+rng=rng)
\item 
\mbox{\hyperlink{classeo_uniform_init_aa1ed4efd6d3b6cc2a321394beb20c20f}{eo\+Uniform\+Init}} (T \+\_\+min, T \+\_\+max, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+rng=rng)
\item 
void \mbox{\hyperlink{classeo_uniform_init_ad55627f74320f0cab6870b24b3d1f8d0}{operator()}} (T \&\+\_\+t)
\item 
void \mbox{\hyperlink{classeo_uniform_init_a7f2e59204cedc53e3a10fc30421df263}{operator()}} (bool \&\+\_\+b)
\item 
void \mbox{\hyperlink{classeo_uniform_init_a7f2e59204cedc53e3a10fc30421df263}{operator()}} (bool \&\+\_\+b)
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$class T = double$>$\newline
class eo\+Uniform\+Init$<$ T $>$}

The class \mbox{\hyperlink{classeo_uniform_init}{eo\+Uniform\+Init}} can be used in the S\+TL apply function to easily randomize floats and doubles. It can also be used for ints and unsigneds by virtue of the static\+\_\+cast

Also present is a specialization for boolean, that will ignore the minima and maxima that are possibly set and will return an unbiased flip of a coin. For a biased flip, use the eo\+Boolean

either in \mbox{[}0, \+\_\+max) if only 1 value (\+\_\+max) is given (or none, as \+\_\+max defaults to 1.\+0) or in \mbox{[}\+\_\+min,\+\_\+max) if 2 values are given (\+\_\+min, \+\_\+max)

Copied from the eo\+Rnd\+Generators to have objects deriving from \mbox{\hyperlink{classeo_init}{eo\+Init}} As the whole initialization mechanism in \mbox{\hyperlink{class_e_o}{EO}} is based on \mbox{\hyperlink{classeo_init}{eo\+Init}} rather than eo\+Rnd\+Generators, we might as well have these directly written without overhead

for doubles, floats, ints, ... 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classeo_uniform_init_a7dd6b471736b1f9ffab383e93af66220}\label{classeo_uniform_init_a7dd6b471736b1f9ffab383e93af66220}} 
\index{eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}!eoUniformInit@{eoUniformInit}}
\index{eoUniformInit@{eoUniformInit}!eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{eoUniformInit()}{eoUniformInit()}\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}}
{\footnotesize\ttfamily template$<$class T  = double$>$ \\
\mbox{\hyperlink{classeo_uniform_init}{eo\+Uniform\+Init}}$<$ T $>$\+::\mbox{\hyperlink{classeo_uniform_init}{eo\+Uniform\+Init}} (\begin{DoxyParamCaption}\item[{T}]{\+\_\+max = {\ttfamily T(1.0)},  }\item[{\mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&}]{\+\_\+rng = {\ttfamily rng} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with only a max bound \mbox{\Hypertarget{classeo_uniform_init_aab973fea134edb58c83b73ff956efb2e}\label{classeo_uniform_init_aab973fea134edb58c83b73ff956efb2e}} 
\index{eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}!eoUniformInit@{eoUniformInit}}
\index{eoUniformInit@{eoUniformInit}!eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{eoUniformInit()}{eoUniformInit()}\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}}
{\footnotesize\ttfamily template$<$class T  = double$>$ \\
\mbox{\hyperlink{classeo_uniform_init}{eo\+Uniform\+Init}}$<$ T $>$\+::\mbox{\hyperlink{classeo_uniform_init}{eo\+Uniform\+Init}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_real_bounds}{eo\+Real\+Bounds}} \&}]{\+\_\+bound,  }\item[{\mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&}]{\+\_\+rng = {\ttfamily rng} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with an eo\+Real\+Bound \mbox{\Hypertarget{classeo_uniform_init_aa1ed4efd6d3b6cc2a321394beb20c20f}\label{classeo_uniform_init_aa1ed4efd6d3b6cc2a321394beb20c20f}} 
\index{eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}!eoUniformInit@{eoUniformInit}}
\index{eoUniformInit@{eoUniformInit}!eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{eoUniformInit()}{eoUniformInit()}\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}}
{\footnotesize\ttfamily template$<$class T  = double$>$ \\
\mbox{\hyperlink{classeo_uniform_init}{eo\+Uniform\+Init}}$<$ T $>$\+::\mbox{\hyperlink{classeo_uniform_init}{eo\+Uniform\+Init}} (\begin{DoxyParamCaption}\item[{T}]{\+\_\+min,  }\item[{T}]{\+\_\+max,  }\item[{\mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&}]{\+\_\+rng = {\ttfamily rng} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with explicit min and max \mbox{\Hypertarget{classeo_uniform_init_a7dd6b471736b1f9ffab383e93af66220}\label{classeo_uniform_init_a7dd6b471736b1f9ffab383e93af66220}} 
\index{eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}!eoUniformInit@{eoUniformInit}}
\index{eoUniformInit@{eoUniformInit}!eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{eoUniformInit()}{eoUniformInit()}\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}}
{\footnotesize\ttfamily template$<$class T  = double$>$ \\
\mbox{\hyperlink{classeo_uniform_init}{eo\+Uniform\+Init}}$<$ T $>$\+::\mbox{\hyperlink{classeo_uniform_init}{eo\+Uniform\+Init}} (\begin{DoxyParamCaption}\item[{T}]{\+\_\+max = {\ttfamily T(1.0)},  }\item[{\mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&}]{\+\_\+rng = {\ttfamily rng} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with only a max bound \mbox{\Hypertarget{classeo_uniform_init_aab973fea134edb58c83b73ff956efb2e}\label{classeo_uniform_init_aab973fea134edb58c83b73ff956efb2e}} 
\index{eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}!eoUniformInit@{eoUniformInit}}
\index{eoUniformInit@{eoUniformInit}!eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{eoUniformInit()}{eoUniformInit()}\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}}
{\footnotesize\ttfamily template$<$class T  = double$>$ \\
\mbox{\hyperlink{classeo_uniform_init}{eo\+Uniform\+Init}}$<$ T $>$\+::\mbox{\hyperlink{classeo_uniform_init}{eo\+Uniform\+Init}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_real_bounds}{eo\+Real\+Bounds}} \&}]{\+\_\+bound,  }\item[{\mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&}]{\+\_\+rng = {\ttfamily rng} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with an eo\+Real\+Bound \mbox{\Hypertarget{classeo_uniform_init_aa1ed4efd6d3b6cc2a321394beb20c20f}\label{classeo_uniform_init_aa1ed4efd6d3b6cc2a321394beb20c20f}} 
\index{eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}!eoUniformInit@{eoUniformInit}}
\index{eoUniformInit@{eoUniformInit}!eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{eoUniformInit()}{eoUniformInit()}\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}}
{\footnotesize\ttfamily template$<$class T  = double$>$ \\
\mbox{\hyperlink{classeo_uniform_init}{eo\+Uniform\+Init}}$<$ T $>$\+::\mbox{\hyperlink{classeo_uniform_init}{eo\+Uniform\+Init}} (\begin{DoxyParamCaption}\item[{T}]{\+\_\+min,  }\item[{T}]{\+\_\+max,  }\item[{\mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&}]{\+\_\+rng = {\ttfamily rng} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with explicit min and max 

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classeo_uniform_init_a7f2e59204cedc53e3a10fc30421df263}\label{classeo_uniform_init_a7f2e59204cedc53e3a10fc30421df263}} 
\index{eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}!operator()@{operator()}}
\index{operator()@{operator()}!eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily void \mbox{\hyperlink{classeo_uniform_init}{eo\+Uniform\+Init}}$<$ bool $>$\+::operator() (\begin{DoxyParamCaption}\item[{bool \&}]{\+\_\+b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Specialization for bool, does an unbiased coin flip \mbox{\Hypertarget{classeo_uniform_init_a7f2e59204cedc53e3a10fc30421df263}\label{classeo_uniform_init_a7f2e59204cedc53e3a10fc30421df263}} 
\index{eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}!operator()@{operator()}}
\index{operator()@{operator()}!eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily void \mbox{\hyperlink{classeo_uniform_init}{eo\+Uniform\+Init}}$<$ bool $>$\+::operator() (\begin{DoxyParamCaption}\item[{bool \&}]{\+\_\+b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Specialization for bool, does an unbiased coin flip \mbox{\Hypertarget{classeo_uniform_init_ad55627f74320f0cab6870b24b3d1f8d0}\label{classeo_uniform_init_ad55627f74320f0cab6870b24b3d1f8d0}} 
\index{eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}!operator()@{operator()}}
\index{operator()@{operator()}!eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily template$<$class T  = double$>$ \\
void \mbox{\hyperlink{classeo_uniform_init}{eo\+Uniform\+Init}}$<$ T $>$\+::operator() (\begin{DoxyParamCaption}\item[{T \&}]{\+\_\+t }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Generates the number, uses a static\+\_\+cast to get the right behaviour for ints and unsigneds \mbox{\Hypertarget{classeo_uniform_init_ad55627f74320f0cab6870b24b3d1f8d0}\label{classeo_uniform_init_ad55627f74320f0cab6870b24b3d1f8d0}} 
\index{eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}!operator()@{operator()}}
\index{operator()@{operator()}!eoUniformInit$<$ T $>$@{eoUniformInit$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily template$<$class T  = double$>$ \\
void \mbox{\hyperlink{classeo_uniform_init}{eo\+Uniform\+Init}}$<$ T $>$\+::operator() (\begin{DoxyParamCaption}\item[{T \&}]{\+\_\+t }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Generates the number, uses a static\+\_\+cast to get the right behaviour for ints and unsigneds 

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