\doxysubsection{Lookup\+Table\+Factory\texorpdfstring{$<$}{<} TIN, TOUT \texorpdfstring{$>$}{>} Class Template Reference}
\hypertarget{classfunc_1_1LookupTableFactory}{}\label{classfunc_1_1LookupTableFactory}\index{LookupTableFactory$<$ TIN, TOUT $>$@{LookupTableFactory$<$ TIN, TOUT $>$}}


Factory design patter for \doxylink{classfunc_1_1LookupTable}{Lookup\+Table} implementations.  




{\ttfamily \#include $<$Lookup\+Table\+Factory.\+hpp$>$}

\doxysubsubsubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
using \mbox{\hyperlink{classfunc_1_1LookupTableFactory_a76173d77abe722407d83797f320a017d}{registry\+\_\+t}}
\begin{DoxyCompactList}\small\item\em This map type holds the registry. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classfunc_1_1LookupTableFactory_a1e3dbdb6502647f7294ee2b2b10a4ffa}{Lookup\+Table\+Factory}} ()
\item 
std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classfunc_1_1LookupTable}{Lookup\+Table}}$<$ TIN, TOUT $>$ $>$ \mbox{\hyperlink{classfunc_1_1LookupTableFactory_a1af126cdf6d62377e5c185e2ba7b33c7}{create}} (std\+::string string\+\_\+name, const \mbox{\hyperlink{classfunc_1_1FunctionContainer}{Function\+Container}}$<$ TIN, TOUT $>$ \&fc, const \mbox{\hyperlink{structfunc_1_1LookupTableParameters}{Lookup\+Table\+Parameters}}$<$ TIN $>$ \&args, const nlohmann\+::json \&json\+Stats=nlohmann\+::json())
\item 
std\+::vector$<$ std\+::string $>$ \mbox{\hyperlink{classfunc_1_1LookupTableFactory_a6d4e5009808452986455797f1e2a61c7}{get\+\_\+registered\+\_\+keys}} ()
\end{DoxyCompactItemize}


\doxysubsubsection{Detailed Description}
\subsubsection*{template$<$typename TIN, typename TOUT = TIN$>$\newline
class func\+::\+Lookup\+Table\+Factory$<$ TIN, TOUT $>$}
Factory design patter for \doxylink{classfunc_1_1LookupTable}{Lookup\+Table} implementations. 

\begin{DoxyNote}{Note}
Lookup\+Table\+Factory$<$\+TIN,\+TOUT$>$\+::create(str\+\_\+name, fc, par) generates \doxylink{classfunc_1_1LookupTable}{Lookup\+Table} types derived from \doxylink{classfunc_1_1LookupTable}{Lookup\+Table$<$\+TIN,\+TOUT$>$} 

Add new \doxylink{classfunc_1_1LookupTable}{Lookup\+Table} implementations to the registry by adding their names to the \+::initialize() member function 
\end{DoxyNote}


\label{doc-typedef-members}
\Hypertarget{classfunc_1_1LookupTableFactory_doc-typedef-members}
\doxysubsubsection{Member Typedef Documentation}
\Hypertarget{classfunc_1_1LookupTableFactory_a76173d77abe722407d83797f320a017d}\index{LookupTableFactory$<$ TIN, TOUT $>$@{LookupTableFactory$<$ TIN, TOUT $>$}!registry\_t@{registry\_t}}
\index{registry\_t@{registry\_t}!LookupTableFactory$<$ TIN, TOUT $>$@{LookupTableFactory$<$ TIN, TOUT $>$}}
\doxyparagraph{\texorpdfstring{registry\_t}{registry\_t}}
{\footnotesize\ttfamily \label{classfunc_1_1LookupTableFactory_a76173d77abe722407d83797f320a017d} 
template$<$typename TIN, typename TOUT = TIN$>$ \\
using \mbox{\hyperlink{classfunc_1_1LookupTableFactory_a76173d77abe722407d83797f320a017d}{registry\+\_\+t}}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{}
\DoxyCodeLine{\ \ \ \ \ \ std::map<std::string,\ std::function<LookupTable<TIN,\ TOUT>\ *(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfunc_1_1FunctionContainer}{FunctionContainer<TIN,\ TOUT>}}\&,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfunc_1_1LookupTableParameters}{LookupTableParameters<TIN>}}\&,\ \textcolor{keyword}{const}\ nlohmann::json\&\ jsonStats)>>}

\end{DoxyCode}


This map type holds the registry. 



\label{doc-constructors}
\Hypertarget{classfunc_1_1LookupTableFactory_doc-constructors}
\doxysubsubsection{Constructor \& Destructor Documentation}
\Hypertarget{classfunc_1_1LookupTableFactory_a1e3dbdb6502647f7294ee2b2b10a4ffa}\index{LookupTableFactory$<$ TIN, TOUT $>$@{LookupTableFactory$<$ TIN, TOUT $>$}!LookupTableFactory@{LookupTableFactory}}
\index{LookupTableFactory@{LookupTableFactory}!LookupTableFactory$<$ TIN, TOUT $>$@{LookupTableFactory$<$ TIN, TOUT $>$}}
\doxyparagraph{\texorpdfstring{LookupTableFactory()}{LookupTableFactory()}}
{\footnotesize\ttfamily \label{classfunc_1_1LookupTableFactory_a1e3dbdb6502647f7294ee2b2b10a4ffa} 
template$<$typename TIN, typename TOUT = TIN$>$ \\
\mbox{\hyperlink{classfunc_1_1LookupTableFactory}{Lookup\+Table\+Factory}} (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor initializes registry, default destructor. 

\label{doc-func-members}
\Hypertarget{classfunc_1_1LookupTableFactory_doc-func-members}
\doxysubsubsection{Member Function Documentation}
\Hypertarget{classfunc_1_1LookupTableFactory_a1af126cdf6d62377e5c185e2ba7b33c7}\index{LookupTableFactory$<$ TIN, TOUT $>$@{LookupTableFactory$<$ TIN, TOUT $>$}!create@{create}}
\index{create@{create}!LookupTableFactory$<$ TIN, TOUT $>$@{LookupTableFactory$<$ TIN, TOUT $>$}}
\doxyparagraph{\texorpdfstring{create()}{create()}}
{\footnotesize\ttfamily \label{classfunc_1_1LookupTableFactory_a1af126cdf6d62377e5c185e2ba7b33c7} 
template$<$typename TIN, typename TOUT$>$ \\
std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classfunc_1_1LookupTable}{Lookup\+Table}}$<$ TIN, TOUT $>$ $>$ create (\begin{DoxyParamCaption}\item[{std\+::string}]{name}{, }\item[{const \mbox{\hyperlink{classfunc_1_1FunctionContainer}{Function\+Container}}$<$ TIN, TOUT $>$ \&}]{fc}{, }\item[{const \mbox{\hyperlink{structfunc_1_1LookupTableParameters}{Lookup\+Table\+Parameters}}$<$ TIN $>$ \&}]{args}{, }\item[{const nlohmann\+::json \&}]{json\+Stats}{ = {\ttfamily nlohmann\+:\+:json()}}\end{DoxyParamCaption})}

Create a lookup table from
\begin{DoxyItemize}
\item string\+\_\+name -\/ Stringified table type
\item fc -\/ \doxylink{classfunc_1_1FunctionContainer}{Function\+Container} holding the function that the table evaluates
\item args -\/ Additional arguments needed for construcing the table
\end{DoxyItemize}

Create a new lookup table. Throw exception asking for an unregistered table. \Hypertarget{classfunc_1_1LookupTableFactory_a6d4e5009808452986455797f1e2a61c7}\index{LookupTableFactory$<$ TIN, TOUT $>$@{LookupTableFactory$<$ TIN, TOUT $>$}!get\_registered\_keys@{get\_registered\_keys}}
\index{get\_registered\_keys@{get\_registered\_keys}!LookupTableFactory$<$ TIN, TOUT $>$@{LookupTableFactory$<$ TIN, TOUT $>$}}
\doxyparagraph{\texorpdfstring{get\_registered\_keys()}{get\_registered\_keys()}}
{\footnotesize\ttfamily \label{classfunc_1_1LookupTableFactory_a6d4e5009808452986455797f1e2a61c7} 
template$<$typename TIN, typename TOUT$>$ \\
std\+::vector$<$ std\+::string $>$ get\+\_\+registered\+\_\+keys (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}

Return a container of the keys for table types that have been registered

Return a vector of the keys that have been registered 

The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
Lookup\+Table\+Factory.\+hpp\end{DoxyCompactItemize}
