\section{/var/www/mlpack.ratml.\+org/mlpack.org/\+\_\+src/mlpack-\/git/src/mlpack/core/util/param.hpp File Reference}
\label{param_8hpp}\index{/var/www/mlpack.\+ratml.\+org/mlpack.\+org/\+\_\+src/mlpack-\/git/src/mlpack/core/util/param.\+hpp@{/var/www/mlpack.\+ratml.\+org/mlpack.\+org/\+\_\+src/mlpack-\/git/src/mlpack/core/util/param.\+hpp}}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \textbf{ Dataset\+Mapper$<$ Policy\+Type, Input\+Type $>$}
\begin{DoxyCompactList}\small\item\em Auxiliary information for a dataset, including mappings to/from strings (or other types) and the datatype of each dimension. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
 \textbf{ mlpack}
\begin{DoxyCompactList}\small\item\em Linear algebra utility functions, generally performed on matrices or vectors. \end{DoxyCompactList}\item 
 \textbf{ mlpack\+::data}
\begin{DoxyCompactList}\small\item\em Functions to load and save matrices and models. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+LE}(E\+X\+A\+M\+P\+LE)
\begin{DoxyCompactList}\small\item\em Specify the example of a binding. \end{DoxyCompactList}\item 
\#define \textbf{ B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+SC}(L\+O\+N\+G\+\_\+\+D\+E\+SC)
\begin{DoxyCompactList}\small\item\em Specify the long description of a binding. \end{DoxyCompactList}\item 
\#define \textbf{ B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+ME}(N\+A\+ME)
\begin{DoxyCompactList}\small\item\em Specify the program name of a binding. \end{DoxyCompactList}\item 
\#define \textbf{ B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+SO}(D\+E\+S\+C\+R\+I\+P\+T\+I\+ON,  L\+I\+NK)
\begin{DoxyCompactList}\small\item\em Specify the see-\/also of a binding. \end{DoxyCompactList}\item 
\#define \textbf{ B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+SC}(S\+H\+O\+R\+T\+\_\+\+D\+E\+SC)
\begin{DoxyCompactList}\small\item\em Specify the short description of a binding. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+C\+OL}(ID,  D\+E\+SC,  A\+L\+I\+AS,  R\+EQ,  T\+R\+A\+NS,  IN)
\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+IN}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+C\+OL}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, true)
\begin{DoxyCompactList}\small\item\em Define a vector input parameter (type arma\+::vec). \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+I\+N\+\_\+\+R\+EQ}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+C\+OL}(ID, D\+E\+SC, A\+L\+I\+AS, true, true, true)
\begin{DoxyCompactList}\small\item\em Define a required vector input parameter (type arma\+::vec). \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+O\+UT}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+C\+OL}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, false)
\begin{DoxyCompactList}\small\item\em Define a vector output parameter (type arma\+::vec). \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+IN}(ID,  D\+E\+SC,  A\+L\+I\+AS,  D\+EF)~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(double, ID, D\+E\+SC, A\+L\+I\+AS, D\+EF, false)
\begin{DoxyCompactList}\small\item\em Define a double input parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+I\+N\+\_\+\+R\+EQ}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(double, ID, D\+E\+SC, A\+L\+I\+AS, 0.\+0, true)
\begin{DoxyCompactList}\small\item\em Define a required double parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+O\+UT}(ID,  D\+E\+SC)~\textbf{ P\+A\+R\+A\+M\+\_\+\+O\+UT}(double, ID, D\+E\+SC, \char`\"{}\char`\"{}, 0.\+0, false)
\begin{DoxyCompactList}\small\item\em Define a double output parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+F\+L\+AG}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(bool, ID, D\+E\+SC, A\+L\+I\+AS, false, false);
\begin{DoxyCompactList}\small\item\em Define a flag parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(T,  ID,  D\+E\+SC,  A\+L\+I\+AS,  D\+EF,  R\+EQ)
\begin{DoxyCompactList}\small\item\em Define an input parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+IN}(ID,  D\+E\+SC,  A\+L\+I\+AS,  D\+EF)~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(int, ID, D\+E\+SC, A\+L\+I\+AS, D\+EF, false)
\begin{DoxyCompactList}\small\item\em Define an integer input parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+I\+N\+\_\+\+R\+EQ}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(int, ID, D\+E\+SC, A\+L\+I\+AS, 0, true)
\begin{DoxyCompactList}\small\item\em Define a required integer input parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+O\+UT}(ID,  D\+E\+SC)~\textbf{ P\+A\+R\+A\+M\+\_\+\+O\+UT}(int, ID, D\+E\+SC, \char`\"{}\char`\"{}, 0, false)
\begin{DoxyCompactList}\small\item\em Define an integer output parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX}(ID,  D\+E\+SC,  A\+L\+I\+AS,  R\+EQ,  T\+R\+A\+NS,  IN)
\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+A\+N\+D\+\_\+\+I\+N\+F\+O\+\_\+\+IN}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(\textbf{ T\+U\+P\+L\+E\+\_\+\+T\+Y\+PE}, ID, D\+E\+SC, A\+L\+I\+AS, \textbf{ T\+U\+P\+L\+E\+\_\+\+T\+Y\+PE}(), false)
\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+IN}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, true)
\begin{DoxyCompactList}\small\item\em Define a matrix input parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, true, true, true)
\begin{DoxyCompactList}\small\item\em Define a required matrix input parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, false)
\begin{DoxyCompactList}\small\item\em Define a matrix output parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+EL}(T\+Y\+PE,  ID,  D\+E\+SC,  A\+L\+I\+AS,  R\+EQ,  IN)
\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+IN}(T\+Y\+PE,  ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+EL}(T\+Y\+PE, ID, D\+E\+SC, A\+L\+I\+AS, false, true)
\begin{DoxyCompactList}\small\item\em Define an input model. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+I\+N\+\_\+\+R\+EQ}(T\+Y\+PE,  ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+EL}(T\+Y\+PE, ID, D\+E\+SC, A\+L\+I\+AS, true, true)
\begin{DoxyCompactList}\small\item\em Define a required input model. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+O\+UT}(T\+Y\+PE,  ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+EL}(T\+Y\+PE, ID, D\+E\+SC, A\+L\+I\+AS, false, false)
\begin{DoxyCompactList}\small\item\em Define an output model. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+O\+UT}(T,  ID,  D\+E\+SC,  A\+L\+I\+AS,  D\+EF,  R\+EQ)
\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+R\+OW}(ID,  D\+E\+SC,  A\+L\+I\+AS,  R\+EQ,  T\+R\+A\+NS,  IN)
\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+R\+O\+W\+\_\+\+IN}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+R\+OW}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, true)
\begin{DoxyCompactList}\small\item\em Define a row vector input parameter (type arma\+::rowvec). \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+R\+O\+W\+\_\+\+O\+UT}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+R\+OW}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, false)
\begin{DoxyCompactList}\small\item\em Define a row vector output parameter (type arma\+::rowvec). \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+IN}(ID,  D\+E\+SC,  A\+L\+I\+AS,  D\+EF)~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(std\+::string, ID, D\+E\+SC, A\+L\+I\+AS, D\+EF, false)
\begin{DoxyCompactList}\small\item\em Define a string input parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+I\+N\+\_\+\+R\+EQ}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(std\+::string, ID, D\+E\+SC, A\+L\+I\+AS, \char`\"{}\char`\"{}, true)
\begin{DoxyCompactList}\small\item\em Define a required string parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+O\+UT}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+O\+UT}(std\+::string, ID, D\+E\+SC, A\+L\+I\+AS, \char`\"{}\char`\"{}, false)
\begin{DoxyCompactList}\small\item\em Define a string output parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+IN}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, false, false, true)
\begin{DoxyCompactList}\small\item\em Define a transposed matrix input parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, true, false, true)
\begin{DoxyCompactList}\small\item\em Define a required transposed matrix input parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, false, false, false)
\begin{DoxyCompactList}\small\item\em Define a transposed matrix output parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+U\+C\+OL}(ID,  D\+E\+SC,  A\+L\+I\+AS,  R\+EQ,  T\+R\+A\+NS,  IN)
\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+U\+C\+O\+L\+\_\+\+IN}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+U\+C\+OL}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, true)
\begin{DoxyCompactList}\small\item\em Define an unsigned vector input parameter (type arma\+::\+Col$<$size\+\_\+t$>$). \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+U\+C\+O\+L\+\_\+\+O\+UT}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+U\+C\+OL}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, false)
\begin{DoxyCompactList}\small\item\em Define an unsigned vector output parameter (type arma\+::\+Col$<$size\+\_\+t$>$). \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+IX}(ID,  D\+E\+SC,  A\+L\+I\+AS,  R\+EQ,  T\+R\+A\+NS,  IN)
\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+IN}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, true)
\begin{DoxyCompactList}\small\item\em Define an unsigned matrix input parameter (arma\+::\+Mat$<$size\+\_\+t$>$). \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, true, true, true)
\begin{DoxyCompactList}\small\item\em Define a required unsigned matrix input parameter (arma\+::\+Mat$<$size\+\_\+t$>$). \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, false)
\begin{DoxyCompactList}\small\item\em Define an unsigned matrix output parameter (arma\+::\+Mat$<$size\+\_\+t$>$). \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+U\+R\+OW}(ID,  D\+E\+SC,  A\+L\+I\+AS,  R\+EQ,  T\+R\+A\+NS,  IN)
\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+U\+R\+O\+W\+\_\+\+IN}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+U\+R\+OW}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, true)
\begin{DoxyCompactList}\small\item\em Define an unsigned row vector input parameter (type arma\+::\+Row$<$size\+\_\+t$>$). \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+U\+R\+O\+W\+\_\+\+O\+UT}(ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+U\+R\+OW}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, false)
\begin{DoxyCompactList}\small\item\em Define an unsigned row vector output parameter (type arma\+::\+Row$<$size\+\_\+t$>$). \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+IN}(T,  ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(std\+::vector$<$T$>$, ID, D\+E\+SC, A\+L\+I\+AS, std\+::vector$<$T$>$(), false)
\begin{DoxyCompactList}\small\item\em Define a std\+::vector input parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+I\+N\+\_\+\+R\+EQ}(T,  ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(std\+::vector$<$T$>$, ID, D\+E\+SC, A\+L\+I\+AS, std\+::vector$<$T$>$(), true);
\begin{DoxyCompactList}\small\item\em Define a required vector parameter. \end{DoxyCompactList}\item 
\#define \textbf{ P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+O\+UT}(T,  ID,  D\+E\+SC,  A\+L\+I\+AS)~\textbf{ P\+A\+R\+A\+M\+\_\+\+O\+UT}(std\+::vector$<$T$>$, ID, D\+E\+SC, A\+L\+I\+AS, std\+::vector$<$T$>$(), false)
\begin{DoxyCompactList}\small\item\em Define a vector output parameter. \end{DoxyCompactList}\item 
\#define \textbf{ T\+U\+P\+L\+E\+\_\+\+T\+Y\+PE}~std\+::tuple$<$\textbf{ mlpack\+::data\+::\+Dataset\+Info}, arma\+::mat$>$
\begin{DoxyCompactList}\small\item\em Define an input Dataset\+Info/matrix parameter. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\begin{DoxyAuthor}{Author}
Matthew Amidon 

Ryan Curtin
\end{DoxyAuthor}
Definition of P\+A\+R\+A\+M\+\_\+$\ast$\+\_\+\+IN() and P\+A\+R\+A\+M\+\_\+$\ast$\+\_\+\+O\+UT() macros, as well as the Documentation related macro, which are used to define input and output parameters of command-\/line programs and bindings to other languages.

mlpack is free software; you may redistribute it and/or modify it under the terms of the 3-\/clause B\+SD license. You should have received a copy of the 3-\/clause B\+SD license along with mlpack. If not, see {\tt http\+://www.\+opensource.\+org/licenses/\+B\+S\+D-\/3-\/\+Clause} for more information. 

\subsection{Macro Definition Documentation}
\mbox{\label{param_8hpp_a9ffe1d6d254b3e50a5611f77ee381838}} 
\index{param.\+hpp@{param.\+hpp}!B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+LE@{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+LE}}
\index{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+LE@{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+LE}!param.\+hpp@{param.\+hpp}}
\subsubsection{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+LE}
{\footnotesize\ttfamily \#define B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+LE(\begin{DoxyParamCaption}\item[{}]{E\+X\+A\+M\+P\+LE }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
static \(\backslash\)
      mlpack::util::Example \(\backslash\)
      JOIN(JOIN(io\_programexample\_dummy\_object\_, \_\_LINE\_\_), opt) = \(\backslash\)
      mlpack::util::Example( \(\backslash\)
      []() \{ \textcolor{keywordflow}{return}(std::string(EXAMPLE)); \});
\end{DoxyCode}


Specify the example of a binding. 

Mutiple instance of this macro can be present in your program! Therefore, use it in the main.\+cpp (or corresponding binding) in your program.

\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{P\+A\+R\+A\+M\+\_\+\+F\+L\+A\+G()}{p.}{param_8hpp_a59a38dfe16c56a278bd89817216a3739}, \doxyref{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+I\+N()}{p.}{param_8hpp_a627025f18abd2735345f03fd733ccd9b}, \doxyref{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+I\+N()}{p.}{param_8hpp_a14e7059294c684b01128819daea241d4}, \doxyref{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+I\+N()}{p.}{param_8hpp_a9514ae93b51ba592bc3299da8326bb80}, \doxyref{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+I\+N()}{p.}{param_8hpp_a8431e7deab47987cfdb2ae3f242c72bc}, \doxyref{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+O\+U\+T()}{p.}{param_8hpp_a50b8bfabec3f0b64fb6e15837da50aa0}, \doxyref{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+O\+U\+T()}{p.}{param_8hpp_aa39a5fa65308f2d5581c01cfae5f9203}, \doxyref{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+O\+U\+T()}{p.}{param_8hpp_ac24919def62bd93f462cc3ff9d555cbc}, \doxyref{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a59102e55c5d69d23909a75bd6093f816}, \doxyref{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a1236858e19f2e8be7da663d4aecfac9f}, \doxyref{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a39f209691f1ca8c649a40cb22cea5408}, \doxyref{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a83c3be131e322e0a661c8ddf9c3c7df6}, P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q(), P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q(), P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q(), P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q().
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em E\+X\+A\+M\+P\+LE} & Long string describing a simple usage example.. Newlines should not be used here; this is taken care of by IO (however, you can explicitly specify newlines to denote new paragraphs). You can also use printing macros like P\+R\+I\+N\+T\+\_\+\+C\+A\+L\+L(), P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T(), and others. \\
\hline
\end{DoxyParams}


Definition at line 127 of file param.\+hpp.

\mbox{\label{param_8hpp_a7f7cbd16d4fecab7136b5ca1cbcbb0a7}} 
\index{param.\+hpp@{param.\+hpp}!B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+SC@{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+SC}}
\index{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+SC@{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+SC}!param.\+hpp@{param.\+hpp}}
\subsubsection{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+SC}
{\footnotesize\ttfamily \#define B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+SC(\begin{DoxyParamCaption}\item[{}]{L\+O\+N\+G\+\_\+\+D\+E\+SC }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
static \(\backslash\)
    mlpack::util::LongDescription \(\backslash\)
    io\_programlong\_desc\_dummy\_object = mlpack::util::LongDescription( \(\backslash\)
    []() \{ \textcolor{keywordflow}{return} std::string(LONG\_DESC); \});
\end{DoxyCode}


Specify the long description of a binding. 

Only one instance of this macro present in your program! Therefore, use it in the main.\+cpp (or corresponding binding) in your program.

\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{P\+A\+R\+A\+M\+\_\+\+F\+L\+A\+G()}{p.}{param_8hpp_a59a38dfe16c56a278bd89817216a3739}, \doxyref{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+I\+N()}{p.}{param_8hpp_a627025f18abd2735345f03fd733ccd9b}, \doxyref{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+I\+N()}{p.}{param_8hpp_a14e7059294c684b01128819daea241d4}, \doxyref{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+I\+N()}{p.}{param_8hpp_a9514ae93b51ba592bc3299da8326bb80}, \doxyref{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+I\+N()}{p.}{param_8hpp_a8431e7deab47987cfdb2ae3f242c72bc}, \doxyref{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+O\+U\+T()}{p.}{param_8hpp_a50b8bfabec3f0b64fb6e15837da50aa0}, \doxyref{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+O\+U\+T()}{p.}{param_8hpp_aa39a5fa65308f2d5581c01cfae5f9203}, \doxyref{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+O\+U\+T()}{p.}{param_8hpp_ac24919def62bd93f462cc3ff9d555cbc}, \doxyref{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a59102e55c5d69d23909a75bd6093f816}, \doxyref{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a1236858e19f2e8be7da663d4aecfac9f}, \doxyref{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a39f209691f1ca8c649a40cb22cea5408}, \doxyref{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a83c3be131e322e0a661c8ddf9c3c7df6}, P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q(), P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q(), P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q(), P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q().
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em L\+O\+N\+G\+\_\+\+D\+E\+SC} & Long string describing what the program does. Newlines should not be used here; this is taken care of by IO (however, you can explicitly specify newlines to denote new paragraphs). You can also use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G(), P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T(), and others. \\
\hline
\end{DoxyParams}


Definition at line 98 of file param.\+hpp.

\mbox{\label{param_8hpp_a3610abda0a69dc19a08c50e713f615b7}} 
\index{param.\+hpp@{param.\+hpp}!B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+ME@{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+ME}}
\index{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+ME@{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+ME}!param.\+hpp@{param.\+hpp}}
\subsubsection{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+ME}
{\footnotesize\ttfamily \#define B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+ME(\begin{DoxyParamCaption}\item[{}]{N\+A\+ME }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
static \(\backslash\)
    mlpack::util::ProgramName \(\backslash\)
    io\_programname\_dummy\_object = mlpack::util::ProgramName(NAME);
\end{DoxyCode}


Specify the program name of a binding. 

Only one instance of this macro should be present in your program! Therefore, use it in the main.\+cpp (or corresponding binding) in your program.

\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{P\+A\+R\+A\+M\+\_\+\+F\+L\+A\+G()}{p.}{param_8hpp_a59a38dfe16c56a278bd89817216a3739}, \doxyref{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+I\+N()}{p.}{param_8hpp_a627025f18abd2735345f03fd733ccd9b}, \doxyref{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+I\+N()}{p.}{param_8hpp_a14e7059294c684b01128819daea241d4}, \doxyref{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+I\+N()}{p.}{param_8hpp_a9514ae93b51ba592bc3299da8326bb80}, \doxyref{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+I\+N()}{p.}{param_8hpp_a8431e7deab47987cfdb2ae3f242c72bc}, \doxyref{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+O\+U\+T()}{p.}{param_8hpp_a50b8bfabec3f0b64fb6e15837da50aa0}, \doxyref{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+O\+U\+T()}{p.}{param_8hpp_aa39a5fa65308f2d5581c01cfae5f9203}, \doxyref{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+O\+U\+T()}{p.}{param_8hpp_ac24919def62bd93f462cc3ff9d555cbc}, \doxyref{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a59102e55c5d69d23909a75bd6093f816}, \doxyref{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a1236858e19f2e8be7da663d4aecfac9f}, \doxyref{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a39f209691f1ca8c649a40cb22cea5408}, \doxyref{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a83c3be131e322e0a661c8ddf9c3c7df6}, P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q(), P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q(), P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q(), P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q().
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em N\+A\+ME} & Short string representing the name of the program. \\
\hline
\end{DoxyParams}


Definition at line 57 of file param.\+hpp.

\mbox{\label{param_8hpp_add4a79815b7f3972699cc414bfc9fe57}} 
\index{param.\+hpp@{param.\+hpp}!B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+SO@{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+SO}}
\index{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+SO@{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+SO}!param.\+hpp@{param.\+hpp}}
\subsubsection{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+SO}
{\footnotesize\ttfamily \#define B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+SO(\begin{DoxyParamCaption}\item[{}]{D\+E\+S\+C\+R\+I\+P\+T\+I\+ON,  }\item[{}]{L\+I\+NK }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
static \(\backslash\)
      mlpack::util::SeeAlso \(\backslash\)
      JOIN(JOIN(io\_programsee\_also\_dummy\_object\_, \_\_LINE\_\_), opt) = \(\backslash\)
      mlpack::util::SeeAlso(DESCRIPTION, LINK);
\end{DoxyCode}


Specify the see-\/also of a binding. 

Mutiple instance of this macro can be present in your program! Therefore, use it in the main.\+cpp (or corresponding binding) in your program.

\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{P\+A\+R\+A\+M\+\_\+\+F\+L\+A\+G()}{p.}{param_8hpp_a59a38dfe16c56a278bd89817216a3739}, \doxyref{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+I\+N()}{p.}{param_8hpp_a627025f18abd2735345f03fd733ccd9b}, \doxyref{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+I\+N()}{p.}{param_8hpp_a14e7059294c684b01128819daea241d4}, \doxyref{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+I\+N()}{p.}{param_8hpp_a9514ae93b51ba592bc3299da8326bb80}, \doxyref{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+I\+N()}{p.}{param_8hpp_a8431e7deab47987cfdb2ae3f242c72bc}, \doxyref{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+O\+U\+T()}{p.}{param_8hpp_a50b8bfabec3f0b64fb6e15837da50aa0}, \doxyref{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+O\+U\+T()}{p.}{param_8hpp_aa39a5fa65308f2d5581c01cfae5f9203}, \doxyref{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+O\+U\+T()}{p.}{param_8hpp_ac24919def62bd93f462cc3ff9d555cbc}, \doxyref{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a59102e55c5d69d23909a75bd6093f816}, \doxyref{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a1236858e19f2e8be7da663d4aecfac9f}, \doxyref{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a39f209691f1ca8c649a40cb22cea5408}, \doxyref{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a83c3be131e322e0a661c8ddf9c3c7df6}, P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q(), P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q(), P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q(), P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q().
\end{DoxySeeAlso}
Provide a link for a binding\textquotesingle{}s \char`\"{}see also\char`\"{} documentation section, which is primarily (but not necessarily exclusively) used by the Markdown bindings This link can be specified by calling S\+E\+E\+\_\+\+A\+L\+SO(\char`\"{}description\char`\"{}, \char`\"{}link\char`\"{}), where \char`\"{}description\char`\"{} is the description of the link and \char`\"{}link\char`\"{} may be one of the following\+:


\begin{DoxyItemize}
\item A direct U\+RL, starting with {\tt http\+://} or {\tt https\+://}.
\item A page anchor for documentation, referencing another binding by its C\+Make binding name, i.\+e. \char`\"{}\#knn\char`\"{}.
\item A link to a Doxygen page, using the mangled Doxygen name after a \textquotesingle{}@doxygen/\textquotesingle{}, i.\+e., \char`\"{}@doxygen/mlpack1\+\_\+1\+\_\+adaboost1\+\_\+1\+\_\+\+Ada\+Boost\char`\"{}. 
\end{DoxyItemize}

Definition at line 163 of file param.\+hpp.

\mbox{\label{param_8hpp_a013f7f337d6139c7f6de3a4f0fa7b019}} 
\index{param.\+hpp@{param.\+hpp}!B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+SC@{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+SC}}
\index{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+SC@{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+SC}!param.\+hpp@{param.\+hpp}}
\subsubsection{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+SC}
{\footnotesize\ttfamily \#define B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+SC(\begin{DoxyParamCaption}\item[{}]{S\+H\+O\+R\+T\+\_\+\+D\+E\+SC }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
static \(\backslash\)
    mlpack::util::ShortDescription \(\backslash\)
    io\_programshort\_desc\_dummy\_object = mlpack::util::ShortDescription( \(\backslash\)
    SHORT\_DESC);
\end{DoxyCode}


Specify the short description of a binding. 

Only one instance of this macro should be present in your program! Therefore, use it in the main.\+cpp (or corresponding binding) in your program.

\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{P\+A\+R\+A\+M\+\_\+\+F\+L\+A\+G()}{p.}{param_8hpp_a59a38dfe16c56a278bd89817216a3739}, \doxyref{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+I\+N()}{p.}{param_8hpp_a627025f18abd2735345f03fd733ccd9b}, \doxyref{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+I\+N()}{p.}{param_8hpp_a14e7059294c684b01128819daea241d4}, \doxyref{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+I\+N()}{p.}{param_8hpp_a9514ae93b51ba592bc3299da8326bb80}, \doxyref{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+I\+N()}{p.}{param_8hpp_a8431e7deab47987cfdb2ae3f242c72bc}, \doxyref{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+O\+U\+T()}{p.}{param_8hpp_a50b8bfabec3f0b64fb6e15837da50aa0}, \doxyref{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+O\+U\+T()}{p.}{param_8hpp_aa39a5fa65308f2d5581c01cfae5f9203}, \doxyref{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+O\+U\+T()}{p.}{param_8hpp_ac24919def62bd93f462cc3ff9d555cbc}, \doxyref{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a59102e55c5d69d23909a75bd6093f816}, \doxyref{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a1236858e19f2e8be7da663d4aecfac9f}, \doxyref{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a39f209691f1ca8c649a40cb22cea5408}, \doxyref{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+I\+N\+\_\+\+R\+E\+Q()}{p.}{param_8hpp_a83c3be131e322e0a661c8ddf9c3c7df6}, P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q(), P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q(), P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q(), P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+O\+U\+T\+\_\+\+R\+E\+Q().
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em S\+H\+O\+R\+T\+\_\+\+D\+E\+SC} & Short two-\/sentence description of the program; it should describe what the program implements and does, and a quick overview of how it can be used and what it should be used for. \\
\hline
\end{DoxyParams}


Definition at line 76 of file param.\+hpp.

\mbox{\label{param_8hpp_afef4dcbf5fa0b81c4daf50f77b4391af}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+C\+OL@{P\+A\+R\+A\+M\+\_\+\+C\+OL}}
\index{P\+A\+R\+A\+M\+\_\+\+C\+OL@{P\+A\+R\+A\+M\+\_\+\+C\+OL}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+C\+OL}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+C\+OL(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS,  }\item[{}]{R\+EQ,  }\item[{}]{T\+R\+A\+NS,  }\item[{}]{IN }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keyword}{static} mlpack::util::Option<arma::vec> \(\backslash\)
      JOIN(io\_option\_dummy\_object\_col\_, \_\_LINE\_\_) \(\backslash\)
      (arma::vec(), ID, DESC, ALIAS, \textcolor{stringliteral}{"arma::vec"}, REQ, IN, !TRANS, \(\backslash\)
      testName);
\end{DoxyCode}


Definition at line 1305 of file param.\+hpp.

\mbox{\label{param_8hpp_a36713e2f7157727157af4a92f1c2ad5d}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+IN}}
\index{P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+IN}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+IN}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+IN(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+C\+OL}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, true)}



Define a vector input parameter (type arma\+::vec). 

From the command line, the user can specify the file that holds the vector, using the name of the vector parameter with \char`\"{}\+\_\+file\char`\"{} appended (and the same alias). So for instance, if the name of the vector parameter was \char`\"{}vec\char`\"{}, the user could specify that the \char`\"{}vec\char`\"{} vector was held in vec.\+csv by giving the parameter\+:


\begin{DoxyCode}
--vec\_file vector.csv
\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 670 of file param.\+hpp.

\mbox{\label{param_8hpp_ad390258cf9c175da3c77ac7e63359417}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+I\+N\+\_\+\+R\+EQ}}
\index{P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+I\+N\+\_\+\+R\+EQ}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+I\+N\+\_\+\+R\+EQ}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+I\+N\+\_\+\+R\+EQ(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+C\+OL}(ID, D\+E\+SC, A\+L\+I\+AS, true, true, true)}



Define a required vector input parameter (type arma\+::vec). 

From the command line, the user can specify the file that holds the vector, using the name of the vector parameter with \char`\"{}\+\_\+file\char`\"{} appended (and the same alias). So for instance, if the name of the vector parameter was \char`\"{}vec\char`\"{}, the user could specify that the \char`\"{}vec\char`\"{} vector was held in vec.\+csv by giving the parameter\+:


\begin{DoxyCode}
--vec\_file vector.csv
\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 698 of file param.\+hpp.

\mbox{\label{param_8hpp_a07120f558c6c681b2a27a719a7c39bd2}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+O\+UT}}
\index{P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+O\+UT}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+O\+UT}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+C\+O\+L\+\_\+\+O\+UT(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+C\+OL}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, false)}



Define a vector output parameter (type arma\+::vec). 

When the program terminates, the vector will be saved to whatever it was set to during the program. From the command-\/line, the user may specify the file in which to save the output vector using a string option that is the name of the matrix parameter with \char`\"{}\+\_\+file\char`\"{} appended. So, for instance, if the name of the output vector parameter was \char`\"{}vec\char`\"{}, the user could specify that the \char`\"{}vec\char`\"{} vector should be saved in vector.\+csv by giving the parameter\+:


\begin{DoxyCode}
--vec\_file vector.csv
\end{DoxyCode}


The output vector will not be printed on stdout, like the other output option types.


\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 816 of file param.\+hpp.

\mbox{\label{param_8hpp_a14e7059294c684b01128819daea241d4}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+IN}}
\index{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+IN}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+IN}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+IN(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS,  }\item[{}]{D\+EF }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(double, ID, D\+E\+SC, A\+L\+I\+AS, D\+EF, false)}



Define a double input parameter. 

The parameter can then be specified on the command line with --ID=value.


\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Quick description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter). \\
\hline
{\em D\+EF} & Default value of the parameter.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+M\+E()}{p.}{param_8hpp_a3610abda0a69dc19a08c50e713f615b7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a013f7f337d6139c7f6de3a4f0fa7b019}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a7f7cbd16d4fecab7136b5ca1cbcbb0a7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+L\+E()}{p.}{param_8hpp_a9ffe1d6d254b3e50a5611f77ee381838} and \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+S\+O()}{p.}{param_8hpp_add4a79815b7f3972699cc414bfc9fe57}.
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 275 of file param.\+hpp.

\mbox{\label{param_8hpp_a1236858e19f2e8be7da663d4aecfac9f}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+I\+N\+\_\+\+R\+EQ}}
\index{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+I\+N\+\_\+\+R\+EQ}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+I\+N\+\_\+\+R\+EQ}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+I\+N\+\_\+\+R\+EQ(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(double, ID, D\+E\+SC, A\+L\+I\+AS, 0.\+0, true)}



Define a required double parameter. 

The parameter must then be specified on the command line with --ID=value.


\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Quick description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+M\+E()}{p.}{param_8hpp_a3610abda0a69dc19a08c50e713f615b7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a013f7f337d6139c7f6de3a4f0fa7b019}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a7f7cbd16d4fecab7136b5ca1cbcbb0a7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+L\+E()}{p.}{param_8hpp_a9ffe1d6d254b3e50a5611f77ee381838} and \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+S\+O()}{p.}{param_8hpp_add4a79815b7f3972699cc414bfc9fe57}.
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 1154 of file param.\+hpp.

\mbox{\label{param_8hpp_aa39a5fa65308f2d5581c01cfae5f9203}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+O\+UT}}
\index{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+O\+UT}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+O\+UT}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+D\+O\+U\+B\+L\+E\+\_\+\+O\+UT(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+O\+UT}(double, ID, D\+E\+SC, \char`\"{}\char`\"{}, 0.\+0, false)}



Define a double output parameter. 

This parameter will be printed on stdout at the end of the program; for instance, if the parameter name is \char`\"{}number\char`\"{} and the value is 5.\+012, the output on stdout would be of the following form\+:


\begin{DoxyCode}
number: 5.012
\end{DoxyCode}


If the parameter is not set by the end of the program, a fatal runtime error will be issued.


\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Quick description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+M\+E()}{p.}{param_8hpp_a3610abda0a69dc19a08c50e713f615b7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a013f7f337d6139c7f6de3a4f0fa7b019}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a7f7cbd16d4fecab7136b5ca1cbcbb0a7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+L\+E()}{p.}{param_8hpp_a9ffe1d6d254b3e50a5611f77ee381838} and \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+S\+O()}{p.}{param_8hpp_add4a79815b7f3972699cc414bfc9fe57}.
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 306 of file param.\+hpp.

\mbox{\label{param_8hpp_a59a38dfe16c56a278bd89817216a3739}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+F\+L\+AG@{P\+A\+R\+A\+M\+\_\+\+F\+L\+AG}}
\index{P\+A\+R\+A\+M\+\_\+\+F\+L\+AG@{P\+A\+R\+A\+M\+\_\+\+F\+L\+AG}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+F\+L\+AG}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+F\+L\+AG(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(bool, ID, D\+E\+SC, A\+L\+I\+AS, false, false);}



Define a flag parameter. 


\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Quick description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+M\+E()}{p.}{param_8hpp_a3610abda0a69dc19a08c50e713f615b7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a013f7f337d6139c7f6de3a4f0fa7b019}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a7f7cbd16d4fecab7136b5ca1cbcbb0a7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+L\+E()}{p.}{param_8hpp_a9ffe1d6d254b3e50a5611f77ee381838} and \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+S\+O()}{p.}{param_8hpp_add4a79815b7f3972699cc414bfc9fe57}.
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 189 of file param.\+hpp.

\mbox{\label{param_8hpp_a71739f2cfc051c5575d2080203025631}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+IN}}
\index{P\+A\+R\+A\+M\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+IN}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+IN}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+IN(\begin{DoxyParamCaption}\item[{}]{T,  }\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS,  }\item[{}]{D\+EF,  }\item[{}]{R\+EQ }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keyword}{static} mlpack::util::Option<T> \(\backslash\)
      JOIN(JOIN(io\_option\_dummy\_object\_in\_, \_\_LINE\_\_), opt) \(\backslash\)
      (DEF, ID, DESC, ALIAS, #T, REQ, \textcolor{keyword}{true}, \textcolor{keyword}{false}, testName);
\end{DoxyCode}


Define an input parameter. 

Don\textquotesingle{}t use this function; use the other ones above that call it. Note that we are using the {\bfseries L\+I\+NE} macro for naming these actual parameters when {\bfseries C\+O\+U\+N\+T\+ER} does not exist, which is a bit of an ugly hack... but this is the preprocessor, after all. We don\textquotesingle{}t have much choice other than ugliness.


\begin{DoxyParams}{Parameters}
{\em T} & Type of the parameter. \\
\hline
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & Alias for this parameter (one letter). \\
\hline
{\em D\+EF} & Default value of the parameter. \\
\hline
{\em R\+EQ} & Whether or not parameter is required (boolean value). \\
\hline
\end{DoxyParams}


Definition at line 1283 of file param.\+hpp.

\mbox{\label{param_8hpp_a627025f18abd2735345f03fd733ccd9b}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+IN}}
\index{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+IN}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+IN}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+IN(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS,  }\item[{}]{D\+EF }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(int, ID, D\+E\+SC, A\+L\+I\+AS, D\+EF, false)}



Define an integer input parameter. 

The parameter can then be specified on the command line with --ID=value.


\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Quick description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter). \\
\hline
{\em D\+EF} & Default value of the parameter.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+M\+E()}{p.}{param_8hpp_a3610abda0a69dc19a08c50e713f615b7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a013f7f337d6139c7f6de3a4f0fa7b019}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a7f7cbd16d4fecab7136b5ca1cbcbb0a7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+L\+E()}{p.}{param_8hpp_a9ffe1d6d254b3e50a5611f77ee381838} and \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+S\+O()}{p.}{param_8hpp_add4a79815b7f3972699cc414bfc9fe57}.
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]Use a forward declaration of the class. The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 217 of file param.\+hpp.

\mbox{\label{param_8hpp_a59102e55c5d69d23909a75bd6093f816}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+I\+N\+\_\+\+R\+EQ}}
\index{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+I\+N\+\_\+\+R\+EQ}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+I\+N\+\_\+\+R\+EQ}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+I\+N\+\_\+\+R\+EQ(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(int, ID, D\+E\+SC, A\+L\+I\+AS, 0, true)}



Define a required integer input parameter. 

The parameter must then be specified on the command line with --ID=value.


\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Quick description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+M\+E()}{p.}{param_8hpp_a3610abda0a69dc19a08c50e713f615b7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a013f7f337d6139c7f6de3a4f0fa7b019}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a7f7cbd16d4fecab7136b5ca1cbcbb0a7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+L\+E()}{p.}{param_8hpp_a9ffe1d6d254b3e50a5611f77ee381838} and \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+S\+O()}{p.}{param_8hpp_add4a79815b7f3972699cc414bfc9fe57}.
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 1129 of file param.\+hpp.

\mbox{\label{param_8hpp_a50b8bfabec3f0b64fb6e15837da50aa0}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+O\+UT}}
\index{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+O\+UT}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+O\+UT}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+I\+N\+T\+\_\+\+O\+UT(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+O\+UT}(int, ID, D\+E\+SC, \char`\"{}\char`\"{}, 0, false)}



Define an integer output parameter. 

This parameter will be printed on stdout at the end of the program; for instance, if the parameter name is \char`\"{}number\char`\"{} and the value is 5, the output on stdout would be of the following form\+:


\begin{DoxyCode}
number: 5
\end{DoxyCode}


If the parameter is not set by the end of the program, a fatal runtime error will be issued.


\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Quick description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+M\+E()}{p.}{param_8hpp_a3610abda0a69dc19a08c50e713f615b7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a013f7f337d6139c7f6de3a4f0fa7b019}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a7f7cbd16d4fecab7136b5ca1cbcbb0a7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+L\+E()}{p.}{param_8hpp_a9ffe1d6d254b3e50a5611f77ee381838} and \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+S\+O()}{p.}{param_8hpp_add4a79815b7f3972699cc414bfc9fe57}.
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 248 of file param.\+hpp.

\mbox{\label{param_8hpp_a4ce453a83dd3e3efc08a335b0e2775ea}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX@{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX}}
\index{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX@{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS,  }\item[{}]{R\+EQ,  }\item[{}]{T\+R\+A\+NS,  }\item[{}]{IN }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keyword}{static} mlpack::util::Option<arma::mat> \(\backslash\)
      JOIN(JOIN(io\_option\_dummy\_object\_matrix\_, \_\_LINE\_\_), opt) \(\backslash\)
      (arma::mat(), ID, DESC, ALIAS, \textcolor{stringliteral}{"arma::mat"}, REQ, IN, !TRANS, \(\backslash\)
      testName);
\end{DoxyCode}


Definition at line 1293 of file param.\+hpp.

\mbox{\label{param_8hpp_a444c996b7e4b9dadaa5e43a7d7798f71}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+A\+N\+D\+\_\+\+I\+N\+F\+O\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+A\+N\+D\+\_\+\+I\+N\+F\+O\+\_\+\+IN}}
\index{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+A\+N\+D\+\_\+\+I\+N\+F\+O\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+A\+N\+D\+\_\+\+I\+N\+F\+O\+\_\+\+IN}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+A\+N\+D\+\_\+\+I\+N\+F\+O\+\_\+\+IN}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+A\+N\+D\+\_\+\+I\+N\+F\+O\+\_\+\+IN(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(\textbf{ T\+U\+P\+L\+E\+\_\+\+T\+Y\+PE}, ID, D\+E\+SC, A\+L\+I\+AS, \textbf{ T\+U\+P\+L\+E\+\_\+\+T\+Y\+PE}(), false)}



Definition at line 1017 of file param.\+hpp.

\mbox{\label{param_8hpp_a49e6517671e6c8173dd3570de950363b}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+IN}}
\index{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+IN}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+IN}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+IN(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, true)}



Define a matrix input parameter. 

From the command line, the user can specify the file that holds the matrix, using the name of the matrix parameter with \char`\"{}\+\_\+file\char`\"{} appended (and the same alias). So for instance, if the name of the matrix parameter was \char`\"{}mat\char`\"{}, the user could specify that the \char`\"{}mat\char`\"{} matrix was held in matrix.\+csv by giving the parameter


\begin{DoxyCode}
--mat\_file matrix.csv
\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 395 of file param.\+hpp.

\mbox{\label{param_8hpp_a20dc72054c6568f040bdc8a5512acacb}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ}}
\index{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, true, true, true)}



Define a required matrix input parameter. 

From the command line, the user can specify the file that holds the matrix, using the name of the matrix parameter with \char`\"{}\+\_\+file\char`\"{} appended (and the same alias). So for instance, if the name of the matrix parameter was \char`\"{}mat\char`\"{}, the user could specify that the \char`\"{}mat\char`\"{} matrix was held in matrix.\+csv by giving the parameter


\begin{DoxyCode}
--mat\_file matrix.csv
\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 423 of file param.\+hpp.

\mbox{\label{param_8hpp_a20f436f371a7613b532ae3a4c0416b30}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT}}
\index{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, false)}



Define a matrix output parameter. 

When the program terminates, the matrix will be saved to whatever it was set to by I\+O\+::\+Get\+Param$<$arma\+::mat$>$(\+I\+D) during the program. From the command-\/line, the user may specify the file in which to save the output matrix using a string option that is the name of the matrix parameter with \char`\"{}\+\_\+file\char`\"{} appended. So, for instance, if the name of the output matrix parameter was \char`\"{}mat\char`\"{}, the user could speicfy that the \char`\"{}mat\char`\"{} matrix should be saved in matrix.\+csv by giving the parameter


\begin{DoxyCode}
--mat\_file matrix.csv
\end{DoxyCode}


The output matrix will not be printed on stdout, like the other output option types.


\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 456 of file param.\+hpp.

\mbox{\label{param_8hpp_a1e4f86c8f4de8e3f932c4cedbe4d8157}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+EL@{P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+EL}}
\index{P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+EL@{P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+EL}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+EL}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+EL(\begin{DoxyParamCaption}\item[{}]{T\+Y\+PE,  }\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS,  }\item[{}]{R\+EQ,  }\item[{}]{IN }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keyword}{static} mlpack::util::Option<TYPE*> \(\backslash\)
      JOIN(JOIN(io\_option\_dummy\_object\_model\_, \_\_LINE\_\_), opt) \(\backslash\)
      (\textcolor{keyword}{nullptr}, ID, DESC, ALIAS, #TYPE, REQ, IN, \textcolor{keyword}{false}, \(\backslash\)
      testName);
\end{DoxyCode}


Definition at line 1329 of file param.\+hpp.

\mbox{\label{param_8hpp_a663f71826f69f70d119b5f577d20721e}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+IN}}
\index{P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+IN}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+IN}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+IN(\begin{DoxyParamCaption}\item[{}]{T\+Y\+PE,  }\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+EL}(T\+Y\+PE, ID, D\+E\+SC, A\+L\+I\+AS, false, true)}



Define an input model. 

From the command line, the user can specify the file that holds the model, using the name of the model parameter with \char`\"{}\+\_\+file\char`\"{} appended (and the same alias). So for instance, if the name of the model parameter was \char`\"{}model\char`\"{}, the user could specify that the \char`\"{}model\char`\"{} model was held in model.\+bin by giving the parameter


\begin{DoxyCode}
--model\_file model.bin
\end{DoxyCode}


Note that the first parameter of this model is the type (the class name) of the model to be loaded. This model type must have a serialize() function; a compilation error (a very long and complex one) will result if the model type does not have the following function\+:


\begin{DoxyCode}
\textcolor{keyword}{template}<\textcolor{keyword}{typename} Archive>
\textcolor{keywordtype}{void} serialize(Archive& ar, \textcolor{keyword}{const} \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} version);
\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em T\+Y\+PE} & Type of the model to be loaded. \\
\hline
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter. Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter). \\
\hline
\end{DoxyParams}


Definition at line 1048 of file param.\+hpp.

\mbox{\label{param_8hpp_a42961ca5512a6e6ab58cdcd15e374fca}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+I\+N\+\_\+\+R\+EQ}}
\index{P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+I\+N\+\_\+\+R\+EQ}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+I\+N\+\_\+\+R\+EQ}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+I\+N\+\_\+\+R\+EQ(\begin{DoxyParamCaption}\item[{}]{T\+Y\+PE,  }\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+EL}(T\+Y\+PE, ID, D\+E\+SC, A\+L\+I\+AS, true, true)}



Define a required input model. 

From the command line, the user can specify the file that holds the model, using the name of the model parameter with \char`\"{}\+\_\+file\char`\"{} appended (and the same alias). So for instance, if the name of the model parameter was \char`\"{}model\char`\"{}, the user could specify that the \char`\"{}model\char`\"{} model was held in model.\+bin by giving the parameter


\begin{DoxyCode}
--model\_file model.bin
\end{DoxyCode}


Note that the first parameter of this model is the type (the class name) of the model to be loaded. This model type must have a serialize() function; a compilation error (a very long and complex one) will result if the model type does not have the following function\+:


\begin{DoxyCode}
\textcolor{keyword}{template}<\textcolor{keyword}{typename} Archive>
\textcolor{keywordtype}{void} serialize(Archive& ar, \textcolor{keyword}{const} \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} version);
\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em T\+Y\+PE} & Type of the model to be loaded. \\
\hline
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter. Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter). \\
\hline
\end{DoxyParams}


Definition at line 1079 of file param.\+hpp.

\mbox{\label{param_8hpp_a303372e5feffaee9bd0a4bb50f3011b1}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+O\+UT}}
\index{P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+O\+UT}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+O\+UT}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+E\+L\+\_\+\+O\+UT(\begin{DoxyParamCaption}\item[{}]{T\+Y\+PE,  }\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+O\+D\+EL}(T\+Y\+PE, ID, D\+E\+SC, A\+L\+I\+AS, false, false)}



Define an output model. 

From the command line, the user can specify the file that should hold the model, using the name of the model parameter with \char`\"{}\+\_\+file\char`\"{} appended (and the same alias). So for instance, if the user desires to save the model to model.\+bin and the parameter name is \char`\"{}model\char`\"{}, they could specify


\begin{DoxyCode}
--model\_file model.bin
\end{DoxyCode}


The model will be saved at the termination of the program. If you use a parameter of this type, you must call I\+O\+::\+Destroy() at the end of your program.


\begin{DoxyParams}{Parameters}
{\em T\+Y\+PE} & Type of the model to be saved. \\
\hline
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter. Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter). \\
\hline
\end{DoxyParams}


Definition at line 1104 of file param.\+hpp.

\mbox{\label{param_8hpp_afe71e03991bbb1721872dbf20620b37a}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+O\+UT}}
\index{P\+A\+R\+A\+M\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+O\+UT}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+O\+UT}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+O\+UT(\begin{DoxyParamCaption}\item[{}]{T,  }\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS,  }\item[{}]{D\+EF,  }\item[{}]{R\+EQ }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keyword}{static} mlpack::util::Option<T> \(\backslash\)
      JOIN(JOIN(io\_option\_dummy\_object\_out\_, \_\_LINE\_\_), opt) \(\backslash\)
      (DEF, ID, DESC, ALIAS, #T, REQ, \textcolor{keyword}{false}, \textcolor{keyword}{false}, testName);
\end{DoxyCode}


Definition at line 1288 of file param.\+hpp.

\mbox{\label{param_8hpp_ac3efb084f2c69acdb9368f4fb9db654f}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+R\+OW@{P\+A\+R\+A\+M\+\_\+\+R\+OW}}
\index{P\+A\+R\+A\+M\+\_\+\+R\+OW@{P\+A\+R\+A\+M\+\_\+\+R\+OW}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+R\+OW}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+R\+OW(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS,  }\item[{}]{R\+EQ,  }\item[{}]{T\+R\+A\+NS,  }\item[{}]{IN }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keyword}{static} mlpack::util::Option<arma::rowvec> \(\backslash\)
      JOIN(io\_option\_dummy\_object\_row\_, \_\_LINE\_\_) \(\backslash\)
      (arma::rowvec(), ID, DESC, ALIAS, \textcolor{stringliteral}{"arma::rowvec"}, REQ, IN, !TRANS, \(\backslash\)
      testName);
\end{DoxyCode}


Definition at line 1317 of file param.\+hpp.

\mbox{\label{param_8hpp_a503427b6b8cca3f0948487006e7f11b4}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+R\+O\+W\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+R\+O\+W\+\_\+\+IN}}
\index{P\+A\+R\+A\+M\+\_\+\+R\+O\+W\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+R\+O\+W\+\_\+\+IN}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+R\+O\+W\+\_\+\+IN}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+R\+O\+W\+\_\+\+IN(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+R\+OW}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, true)}



Define a row vector input parameter (type arma\+::rowvec). 

From the command line, the user can specify the file that holds the vector, using the name of the vector parameter with \char`\"{}\+\_\+file\char`\"{} appended (and the same alias). So for instance, if the name of the vector parameter was \char`\"{}vec\char`\"{}, the user could specify that the \char`\"{}vec\char`\"{} vector was held in vec.\+csv by giving the parameter\+:


\begin{DoxyCode}
--vec\_file vector.csv
\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 726 of file param.\+hpp.

\mbox{\label{param_8hpp_a9beb54447b7992ecff903397abb60f73}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+R\+O\+W\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+R\+O\+W\+\_\+\+O\+UT}}
\index{P\+A\+R\+A\+M\+\_\+\+R\+O\+W\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+R\+O\+W\+\_\+\+O\+UT}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+R\+O\+W\+\_\+\+O\+UT}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+R\+O\+W\+\_\+\+O\+UT(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+R\+OW}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, false)}



Define a row vector output parameter (type arma\+::rowvec). 

When the program terminates, the vector will be saved to whatever it was set to during the program. From the command-\/line, the user may specify the file in which to save the output vector using a string option that is the name of the matrix parameter with \char`\"{}\+\_\+file\char`\"{} appended. So, for instance, if the name of the output vector parameter was \char`\"{}vec\char`\"{}, the user could specify that the \char`\"{}vec\char`\"{} vector should be saved in vector.\+csv by giving the parameter\+:


\begin{DoxyCode}
--vec\_file vector.csv
\end{DoxyCode}


The output vector will not be printed on stdout, like the other output option types.


\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 849 of file param.\+hpp.

\mbox{\label{param_8hpp_a9514ae93b51ba592bc3299da8326bb80}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+IN}}
\index{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+IN}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+IN}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+IN(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS,  }\item[{}]{D\+EF }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(std\+::string, ID, D\+E\+SC, A\+L\+I\+AS, D\+EF, false)}



Define a string input parameter. 

The parameter can then be specified on the command line with --ID=value. If A\+L\+I\+AS is equal to D\+E\+F\+\_\+\+M\+OD (which is set using the \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a7f7cbd16d4fecab7136b5ca1cbcbb0a7} macro), the parameter can be specified with just --ID=value.


\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Quick description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter). \\
\hline
{\em D\+EF} & Default value of the parameter.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+M\+E()}{p.}{param_8hpp_a3610abda0a69dc19a08c50e713f615b7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a013f7f337d6139c7f6de3a4f0fa7b019}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a7f7cbd16d4fecab7136b5ca1cbcbb0a7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+L\+E()}{p.}{param_8hpp_a9ffe1d6d254b3e50a5611f77ee381838} and \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+S\+O()}{p.}{param_8hpp_add4a79815b7f3972699cc414bfc9fe57}.
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 335 of file param.\+hpp.

\mbox{\label{param_8hpp_a39f209691f1ca8c649a40cb22cea5408}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+I\+N\+\_\+\+R\+EQ}}
\index{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+I\+N\+\_\+\+R\+EQ}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+I\+N\+\_\+\+R\+EQ}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+I\+N\+\_\+\+R\+EQ(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(std\+::string, ID, D\+E\+SC, A\+L\+I\+AS, \char`\"{}\char`\"{}, true)}



Define a required string parameter. 

The parameter must then be specified on the command line with --ID=value.


\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Quick description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+M\+E()}{p.}{param_8hpp_a3610abda0a69dc19a08c50e713f615b7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a013f7f337d6139c7f6de3a4f0fa7b019}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a7f7cbd16d4fecab7136b5ca1cbcbb0a7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+L\+E()}{p.}{param_8hpp_a9ffe1d6d254b3e50a5611f77ee381838} and \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+S\+O()}{p.}{param_8hpp_add4a79815b7f3972699cc414bfc9fe57}.
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 1179 of file param.\+hpp.

\mbox{\label{param_8hpp_a94d8f8edc103da0e05f04fce245e8a93}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+O\+UT}}
\index{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+O\+UT}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+O\+UT}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+O\+UT(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+O\+UT}(std\+::string, ID, D\+E\+SC, A\+L\+I\+AS, \char`\"{}\char`\"{}, false)}



Define a string output parameter. 

The string will be printed to stdout at the end of the program. For instance, if there was a string output parameter called \char`\"{}something\char`\"{} with value \char`\"{}hello\char`\"{}, at the end of the program the output would be of the following form\+:


\begin{DoxyCode}
something: \textcolor{stringliteral}{"hello"}
\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Quick description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+M\+E()}{p.}{param_8hpp_a3610abda0a69dc19a08c50e713f615b7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a013f7f337d6139c7f6de3a4f0fa7b019}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a7f7cbd16d4fecab7136b5ca1cbcbb0a7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+L\+E()}{p.}{param_8hpp_a9ffe1d6d254b3e50a5611f77ee381838} and \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+S\+O()}{p.}{param_8hpp_add4a79815b7f3972699cc414bfc9fe57}.
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 367 of file param.\+hpp.

\mbox{\label{param_8hpp_a237697d0b35e7e6484e8ce52c0ed00c9}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+IN}}
\index{P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+IN}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+IN}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+IN(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, false, false, true)}



Define a transposed matrix input parameter. 

This is useful when data is desired in row-\/major form instead of the usual column-\/major form. From the command line, the user can specify the file that holds the matrix, using the name of the matrix parameter with \char`\"{}\+\_\+file\char`\"{} appended (and the same alias). So for instance, if the name of the matrix parameter was \char`\"{}mat\char`\"{}, the user could specify that the \char`\"{}mat\char`\"{} matrix was held in matrix.\+csv by giving the parameter


\begin{DoxyCode}
--mat\_file matrix.csv
\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 485 of file param.\+hpp.

\mbox{\label{param_8hpp_a580cb0e5b1c587a4bc5b7211aa2c414b}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ}}
\index{P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, true, false, true)}



Define a required transposed matrix input parameter. 

This is useful when data is desired in row-\/major form instead of the usual column-\/major form. From the command line, the user can specify the file that holds the matrix, using the name of the matrix parameter with \char`\"{}\+\_\+file\char`\"{} appended (and the same alias). So for instance, if the name of the matrix parameter was \char`\"{}mat\char`\"{}, the user could specify that the \char`\"{}mat\char`\"{} matrix was held in matrix.\+csv by giving the parameter


\begin{DoxyCode}
--mat\_file matrix.csv
\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 515 of file param.\+hpp.

\mbox{\label{param_8hpp_a76754d246b86d1b159270e4794c25019}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT}}
\index{P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+T\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, false, false, false)}



Define a transposed matrix output parameter. 

This is useful when data is stored in a row-\/major form instead of the usual column-\/major form. When the program terminates, the matrix will be saved to whatever it was set to by I\+O\+::\+Get\+Param$<$arma\+::mat$>$(\+I\+D) during the program. From the command-\/line, the user may specify the file in which to save the output matrix using a string option that is the name of the matrix parameter with \char`\"{}\+\_\+file\char`\"{} appended. So, for instance, if the name of the output matrix parameter was \char`\"{}mat\char`\"{}, the user could speicfy that the \char`\"{}mat\char`\"{} matrix should be saved in matrix.\+csv by giving the parameter


\begin{DoxyCode}
--mat\_file matrix.csv
\end{DoxyCode}


The output matrix will not be printed on stdout, like the other output option types.


\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 550 of file param.\+hpp.

\mbox{\label{param_8hpp_ad293cdde75e8b7986b01b50fc05e0186}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+U\+C\+OL@{P\+A\+R\+A\+M\+\_\+\+U\+C\+OL}}
\index{P\+A\+R\+A\+M\+\_\+\+U\+C\+OL@{P\+A\+R\+A\+M\+\_\+\+U\+C\+OL}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+U\+C\+OL}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+U\+C\+OL(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS,  }\item[{}]{R\+EQ,  }\item[{}]{T\+R\+A\+NS,  }\item[{}]{IN }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keyword}{static} mlpack::util::Option<arma::Col<size\_t>> \(\backslash\)
      JOIN(io\_option\_dummy\_object\_ucol\_, \_\_LINE\_\_) \(\backslash\)
      (arma::Col<size\_t>(), ID, DESC, ALIAS, \textcolor{stringliteral}{"arma::Col<size\_t>"}, REQ, IN, \(\backslash\)
      !TRANS, testName);
\end{DoxyCode}


Definition at line 1311 of file param.\+hpp.

\mbox{\label{param_8hpp_a55c356a0f2cc3df7122b3f033033538e}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+U\+C\+O\+L\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+U\+C\+O\+L\+\_\+\+IN}}
\index{P\+A\+R\+A\+M\+\_\+\+U\+C\+O\+L\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+U\+C\+O\+L\+\_\+\+IN}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+U\+C\+O\+L\+\_\+\+IN}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+U\+C\+O\+L\+\_\+\+IN(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+U\+C\+OL}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, true)}



Define an unsigned vector input parameter (type arma\+::\+Col$<$size\+\_\+t$>$). 

From the command line, the user can specify the file that holds the vector, using the name of the vector parameter with \char`\"{}\+\_\+file\char`\"{} appended (and the same alias). So for instance, if the name of the vector parameter was \char`\"{}vec\char`\"{}, the user could specify that the \char`\"{}vec\char`\"{} vector was held in vec.\+csv by giving the parameter\+:


\begin{DoxyCode}
--vec\_file vector.csv
\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 754 of file param.\+hpp.

\mbox{\label{param_8hpp_ac8b7f343ae79cb1ec43a0d2eb791090d}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+U\+C\+O\+L\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+U\+C\+O\+L\+\_\+\+O\+UT}}
\index{P\+A\+R\+A\+M\+\_\+\+U\+C\+O\+L\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+U\+C\+O\+L\+\_\+\+O\+UT}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+U\+C\+O\+L\+\_\+\+O\+UT}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+U\+C\+O\+L\+\_\+\+O\+UT(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+U\+C\+OL}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, false)}



Define an unsigned vector output parameter (type arma\+::\+Col$<$size\+\_\+t$>$). 

When the program terminates, the vector will be saved to whatever it was set to during the program. From the command-\/line, the user may specify the file in which to save the output vector using a string option that is the name of the matrix parameter with \char`\"{}\+\_\+file\char`\"{} appended. So, for instance, if the name of the output vector parameter was \char`\"{}vec\char`\"{}, the user could specify that the \char`\"{}vec\char`\"{} vector should be saved in vector.\+csv by giving the parameter\+:


\begin{DoxyCode}
--vec\_file vector.csv
\end{DoxyCode}


The output vector will not be printed on stdout, like the other output option types.


\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 882 of file param.\+hpp.

\mbox{\label{param_8hpp_a6bcf880c112f92361cdb4a3536fba0ca}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+IX@{P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+IX}}
\index{P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+IX@{P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+IX}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+IX}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+IX(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS,  }\item[{}]{R\+EQ,  }\item[{}]{T\+R\+A\+NS,  }\item[{}]{IN }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keyword}{static} mlpack::util::Option<arma::Mat<size\_t>> \(\backslash\)
      JOIN(JOIN(io\_option\_dummy\_object\_umatrix\_, \_\_LINE\_\_), opt) \(\backslash\)
      (arma::Mat<size\_t>(), ID, DESC, ALIAS, \textcolor{stringliteral}{"arma::Mat<size\_t>"}, REQ, IN, \(\backslash\)
      !TRANS, testName);
\end{DoxyCode}


Definition at line 1299 of file param.\+hpp.

\mbox{\label{param_8hpp_a0db58e2b5c75754d200638093b9cc40f}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+IN}}
\index{P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+IN}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+IN}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+IN(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, true)}



Define an unsigned matrix input parameter (arma\+::\+Mat$<$size\+\_\+t$>$). 

From the command line, the user can specify the file that holds the matrix, using the name of the matrix parameter with \char`\"{}\+\_\+file\char`\"{} appended (and the same alias). So for instance, if the name of the matrix parameter was \char`\"{}mat\char`\"{}, the user could specify that the \char`\"{}mat\char`\"{} matrix was held in matrix.\+csv by giving the parameter


\begin{DoxyCode}
--mat\_file matrix.csv
\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 578 of file param.\+hpp.

\mbox{\label{param_8hpp_aaf334355d68e6667f4e50e071eee4d63}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ}}
\index{P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+I\+N\+\_\+\+R\+EQ(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, true, true, true)}



Define a required unsigned matrix input parameter (arma\+::\+Mat$<$size\+\_\+t$>$). 

From the command line, the user can specify the file that holds the matrix, using the name of the matrix parameter with \char`\"{}\+\_\+file\char`\"{} appended (and the same alias). So for instance, if the name of the matrix parameter was \char`\"{}mat\char`\"{}, the user could specify that the \char`\"{}mat\char`\"{} matrix was held in matrix.\+csv by giving the parameter


\begin{DoxyCode}
--mat\_file matrix.csv
\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 607 of file param.\+hpp.

\mbox{\label{param_8hpp_a145abfa58262c15f01139092ececc571}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT}}
\index{P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+I\+X\+\_\+\+O\+UT(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+U\+M\+A\+T\+R\+IX}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, false)}



Define an unsigned matrix output parameter (arma\+::\+Mat$<$size\+\_\+t$>$). 

When the program terminates, the matrix will be saved to whatever it was set to by I\+O\+::\+Get\+Param$<$arma\+::\+Mat$<$size\+\_\+t$>$$>$(ID) during the program. From the command-\/line, the user may specify the file in which to save the output matrix using a string option that is the name of the matrix parameter with \char`\"{}\+\_\+file\char`\"{} appended. So, for instance, if the name of the output matrix parameter was \char`\"{}mat\char`\"{}, the user could speicfy that the \char`\"{}mat\char`\"{} matrix should be saved in matrix.\+csv by giving the parameter


\begin{DoxyCode}
--mat\_file matrix.csv
\end{DoxyCode}


The output matrix will not be printed on stdout, like the other output option types.


\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 641 of file param.\+hpp.

\mbox{\label{param_8hpp_a79385d438fe2c4f19f6d563d26592aea}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+U\+R\+OW@{P\+A\+R\+A\+M\+\_\+\+U\+R\+OW}}
\index{P\+A\+R\+A\+M\+\_\+\+U\+R\+OW@{P\+A\+R\+A\+M\+\_\+\+U\+R\+OW}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+U\+R\+OW}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+U\+R\+OW(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS,  }\item[{}]{R\+EQ,  }\item[{}]{T\+R\+A\+NS,  }\item[{}]{IN }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keyword}{static} mlpack::util::Option<arma::Row<size\_t>> \(\backslash\)
      JOIN(io\_option\_dummy\_object\_urow\_, \_\_LINE\_\_) \(\backslash\)
      (arma::Row<size\_t>(), ID, DESC, ALIAS, \textcolor{stringliteral}{"arma::Row<size\_t>"}, REQ, IN, \(\backslash\)
      !TRANS, testName);
\end{DoxyCode}


Definition at line 1323 of file param.\+hpp.

\mbox{\label{param_8hpp_a311a7e2ebd5c3c73bb58206337e1da5d}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+U\+R\+O\+W\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+U\+R\+O\+W\+\_\+\+IN}}
\index{P\+A\+R\+A\+M\+\_\+\+U\+R\+O\+W\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+U\+R\+O\+W\+\_\+\+IN}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+U\+R\+O\+W\+\_\+\+IN}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+U\+R\+O\+W\+\_\+\+IN(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+U\+R\+OW}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, true)}



Define an unsigned row vector input parameter (type arma\+::\+Row$<$size\+\_\+t$>$). 

From the command line, the user can specify the file that holds the vector, using the name of the vector parameter with \char`\"{}\+\_\+file\char`\"{} appended (and the same alias). So for instance, if the name of the vector parameter was \char`\"{}vec\char`\"{}, the user could specify that the \char`\"{}vec\char`\"{} vector was held in vec.\+csv by giving the parameter\+:


\begin{DoxyCode}
--vec\_file vector.csv
\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 783 of file param.\+hpp.

\mbox{\label{param_8hpp_a0027b7ba5f161851bf91b167c8891058}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+U\+R\+O\+W\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+U\+R\+O\+W\+\_\+\+O\+UT}}
\index{P\+A\+R\+A\+M\+\_\+\+U\+R\+O\+W\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+U\+R\+O\+W\+\_\+\+O\+UT}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+U\+R\+O\+W\+\_\+\+O\+UT}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+U\+R\+O\+W\+\_\+\+O\+UT(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+U\+R\+OW}(ID, D\+E\+SC, A\+L\+I\+AS, false, true, false)}



Define an unsigned row vector output parameter (type arma\+::\+Row$<$size\+\_\+t$>$). 

When the program terminates, the vector will be saved to whatever it was set to during the program. From the command-\/line, the user may specify the file in which to save the output vector using a string option that is the name of the matrix parameter with \char`\"{}\+\_\+file\char`\"{} appended. So, for instance, if the name of the output vector parameter was \char`\"{}vec\char`\"{}, the user could specify that the \char`\"{}vec\char`\"{} vector should be saved in vector.\+csv by giving the parameter\+:


\begin{DoxyCode}
--vec\_file vector.csv
\end{DoxyCode}


The output vector will not be printed on stdout, like the other output option types.


\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 915 of file param.\+hpp.

\mbox{\label{param_8hpp_a8431e7deab47987cfdb2ae3f242c72bc}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+IN}}
\index{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+IN@{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+IN}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+IN}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+IN(\begin{DoxyParamCaption}\item[{}]{T,  }\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(std\+::vector$<$T$>$, ID, D\+E\+SC, A\+L\+I\+AS, std\+::vector$<$T$>$(), false)}



Define a std\+::vector input parameter. 

The parameter can then be specified on the command line with --ID=value1,value2,value3.


\begin{DoxyParams}{Parameters}
{\em T} & Type of the parameter. \\
\hline
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Quick description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+M\+E()}{p.}{param_8hpp_a3610abda0a69dc19a08c50e713f615b7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a013f7f337d6139c7f6de3a4f0fa7b019}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a7f7cbd16d4fecab7136b5ca1cbcbb0a7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+L\+E()}{p.}{param_8hpp_a9ffe1d6d254b3e50a5611f77ee381838} and \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+S\+O()}{p.}{param_8hpp_add4a79815b7f3972699cc414bfc9fe57}.
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 942 of file param.\+hpp.

\mbox{\label{param_8hpp_a83c3be131e322e0a661c8ddf9c3c7df6}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+I\+N\+\_\+\+R\+EQ}}
\index{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+I\+N\+\_\+\+R\+EQ@{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+I\+N\+\_\+\+R\+EQ}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+I\+N\+\_\+\+R\+EQ}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+I\+N\+\_\+\+R\+EQ(\begin{DoxyParamCaption}\item[{}]{T,  }\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+IN}(std\+::vector$<$T$>$, ID, D\+E\+SC, A\+L\+I\+AS, std\+::vector$<$T$>$(), true);}



Define a required vector parameter. 

The parameter must then be specified on the command line with --ID=value1,value2,value3.


\begin{DoxyParams}{Parameters}
{\em T} & Type of the parameter. \\
\hline
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Quick description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+M\+E()}{p.}{param_8hpp_a3610abda0a69dc19a08c50e713f615b7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a013f7f337d6139c7f6de3a4f0fa7b019}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a7f7cbd16d4fecab7136b5ca1cbcbb0a7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+L\+E()}{p.}{param_8hpp_a9ffe1d6d254b3e50a5611f77ee381838} and \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+S\+O()}{p.}{param_8hpp_add4a79815b7f3972699cc414bfc9fe57}.
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 1206 of file param.\+hpp.

\mbox{\label{param_8hpp_ac24919def62bd93f462cc3ff9d555cbc}} 
\index{param.\+hpp@{param.\+hpp}!P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+O\+UT}}
\index{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+O\+UT@{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+O\+UT}!param.\+hpp@{param.\+hpp}}
\subsubsection{P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+O\+UT}
{\footnotesize\ttfamily \#define P\+A\+R\+A\+M\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+O\+UT(\begin{DoxyParamCaption}\item[{}]{T,  }\item[{}]{ID,  }\item[{}]{D\+E\+SC,  }\item[{}]{A\+L\+I\+AS }\end{DoxyParamCaption})~\textbf{ P\+A\+R\+A\+M\+\_\+\+O\+UT}(std\+::vector$<$T$>$, ID, D\+E\+SC, A\+L\+I\+AS, std\+::vector$<$T$>$(), false)}



Define a vector output parameter. 

This vector will be printed on stdout at the end of the program; for instance, if the parameter name is \char`\"{}vector\char`\"{} and the vector holds the array \{ 1, 2, 3, 4 \}, the output on stdout would be of the following form\+:


\begin{DoxyCode}
vector: 1, 2, 3, 4
\end{DoxyCode}


If the parameter is not set by the end of the program, a fatal runtime error will be issued.


\begin{DoxyParams}{Parameters}
{\em T} & Type of the parameter. \\
\hline
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Quick description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & An alias for the parameter (one letter).\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+M\+E()}{p.}{param_8hpp_a3610abda0a69dc19a08c50e713f615b7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a013f7f337d6139c7f6de3a4f0fa7b019}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a7f7cbd16d4fecab7136b5ca1cbcbb0a7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+L\+E()}{p.}{param_8hpp_a9ffe1d6d254b3e50a5611f77ee381838} and \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+S\+O()}{p.}{param_8hpp_add4a79815b7f3972699cc414bfc9fe57}.
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 976 of file param.\+hpp.

\mbox{\label{param_8hpp_a56a316ac6f3ea218df55afae8376ce4e}} 
\index{param.\+hpp@{param.\+hpp}!T\+U\+P\+L\+E\+\_\+\+T\+Y\+PE@{T\+U\+P\+L\+E\+\_\+\+T\+Y\+PE}}
\index{T\+U\+P\+L\+E\+\_\+\+T\+Y\+PE@{T\+U\+P\+L\+E\+\_\+\+T\+Y\+PE}!param.\+hpp@{param.\+hpp}}
\subsubsection{T\+U\+P\+L\+E\+\_\+\+T\+Y\+PE}
{\footnotesize\ttfamily \#define T\+U\+P\+L\+E\+\_\+\+T\+Y\+PE~std\+::tuple$<$\textbf{ mlpack\+::data\+::\+Dataset\+Info}, arma\+::mat$>$}



Define an input Dataset\+Info/matrix parameter. 

From the command line, the user can specify the file that holds the matrix, using the name of the matrix parameter with \char`\"{}\+\_\+file\char`\"{} appended (and the same alias). So for instance, if the name of the matrix parameter was \char`\"{}matrix\char`\"{}, the user could specify that the \char`\"{}matrix\char`\"{} matrix was held in file.\+csv by giving the parameter


\begin{DoxyCode}
--matrix\_file file.csv
\end{DoxyCode}


Then the Dataset\+Info and matrix type could be accessed with


\begin{DoxyCode}
DatasetInfo d = std::move(
    IO::GetParam<std::tuple<DatasetInfo, arma::mat>>(\textcolor{stringliteral}{"matrix"}).get<0>());
arma::mat m = std::move(
    IO::GetParam<std::tuple<DatasetInfo, arma::mat>>(\textcolor{stringliteral}{"matrix"}).get<1>());
\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em ID} & Name of the parameter. \\
\hline
{\em D\+E\+SC} & Quick description of the parameter (1-\/2 sentences). Don\textquotesingle{}t use printing macros like P\+R\+I\+N\+T\+\_\+\+P\+A\+R\+A\+M\+\_\+\+S\+T\+R\+I\+N\+G() or P\+R\+I\+N\+T\+\_\+\+D\+A\+T\+A\+S\+E\+T() or others here---it will cause problems. \\
\hline
{\em A\+L\+I\+AS} & One-\/character string representing the alias of the parameter.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\doxyref{mlpack\+::\+IO}{p.}{classmlpack_1_1IO}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+N\+A\+M\+E()}{p.}{param_8hpp_a3610abda0a69dc19a08c50e713f615b7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+H\+O\+R\+T\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a013f7f337d6139c7f6de3a4f0fa7b019}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+L\+O\+N\+G\+\_\+\+D\+E\+S\+C()}{p.}{param_8hpp_a7f7cbd16d4fecab7136b5ca1cbcbb0a7}, \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+E\+X\+A\+M\+P\+L\+E()}{p.}{param_8hpp_a9ffe1d6d254b3e50a5611f77ee381838} and \doxyref{B\+I\+N\+D\+I\+N\+G\+\_\+\+S\+E\+E\+\_\+\+A\+L\+S\+O()}{p.}{param_8hpp_add4a79815b7f3972699cc414bfc9fe57}.
\end{DoxySeeAlso}
\begin{DoxyRefDesc}{Bug}
\item[\textbf{ Bug}]The {\bfseries C\+O\+U\+N\+T\+ER} variable is used in most cases to guarantee a unique global identifier for options declared using the P\+A\+R\+A\+M\+\_\+$\ast$() macros. However, not all compilers have this support--most notably, gcc $<$ 4.\+3. In that case, the {\bfseries L\+I\+NE} macro is used as an attempt to get a unique global identifier, but collisions are still possible, and they produce bizarre error messages. See {\tt https\+://github.\+com/mlpack/mlpack/issues/100} for more information. \end{DoxyRefDesc}


Definition at line 1016 of file param.\+hpp.

