\doxysubsection{Composite\+Lookup\+Table\texorpdfstring{$<$}{<} TIN, TOUT \texorpdfstring{$>$}{>} Class Template Reference}
\hypertarget{classfunc_1_1CompositeLookupTable}{}\label{classfunc_1_1CompositeLookupTable}\index{CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}}


Approximate a single $1$D function with \$\+M\$ LUTs over pairwise disjoint subintervals of its domain. {\ttfamily \doxylink{classfunc_1_1CompositeLookupTable}{Composite\+Lookup\+Table}} works well for functions with disconnected domains, or unused regions, or regions with difficult to approximate behaviour.  




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

Inheritance diagram for Composite\+Lookup\+Table\texorpdfstring{$<$}{<} TIN, TOUT \texorpdfstring{$>$}{>}\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classfunc_1_1CompositeLookupTable}
\end{center}
\end{figure}
\doxysubsubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classfunc_1_1CompositeLookupTable_a8f5e20bff569953791f94984051913f8}{Composite\+Lookup\+Table}} (const \mbox{\hyperlink{classfunc_1_1FunctionContainer}{Function\+Container}}$<$ TIN, TOUT $>$ \&func\+\_\+container, const std\+::vector$<$ std\+::tuple$<$ std\+::string, TIN, TIN, TIN $>$ $>$ \&name\+\_\+l\+\_\+r\+\_\+steps)
\item 
\mbox{\hyperlink{classfunc_1_1CompositeLookupTable_a8c13e5500217b6acd657e2912c877e8b}{Composite\+Lookup\+Table}} (const \mbox{\hyperlink{classfunc_1_1FunctionContainer}{Function\+Container}}$<$ TIN, TOUT $>$ \&func\+\_\+container, const std\+::vector$<$ std\+::tuple$<$ std\+::string, TIN, TIN, TIN, TIN $>$ $>$ \&name\+\_\+l\+\_\+r\+\_\+atol\+\_\+rtols)
\item 
TOUT \mbox{\hyperlink{classfunc_1_1CompositeLookupTable_a10047eb2c0e68f488037419e770084e6}{operator()}} (TIN x) const final
\item 
std\+::string \mbox{\hyperlink{classfunc_1_1CompositeLookupTable_accba19b44801ed79bb97513319885f31}{name}} () const final
\item 
TIN \mbox{\hyperlink{classfunc_1_1CompositeLookupTable_a0476b531891a0e1e33696d1a737661d0}{min\+\_\+arg}} () const final
\item 
TIN \mbox{\hyperlink{classfunc_1_1CompositeLookupTable_a546555a620601a06a71c12a15f7a2769}{max\+\_\+arg}} () const final
\item 
unsigned int \mbox{\hyperlink{classfunc_1_1CompositeLookupTable_a001c4e4c752e91195b970be3edee0b6d}{order}} () const final
\item 
std\+::size\+\_\+t \mbox{\hyperlink{classfunc_1_1CompositeLookupTable_a5e82e200bee26238c342218d6d4f7042}{size}} () const final
\item 
unsigned int \mbox{\hyperlink{classfunc_1_1CompositeLookupTable_a269a97d89895944456f32f2be1d37109}{num\+\_\+subintervals}} () const final
\item 
TIN \mbox{\hyperlink{classfunc_1_1CompositeLookupTable_a0b483cc80497aa809bead8161f14a284}{step\+\_\+size}} () const final
\item 
std\+::pair$<$ TIN, TIN $>$ \mbox{\hyperlink{classfunc_1_1CompositeLookupTable_aea8465ad30b6260a0948d4305d984d9d}{bounds\+\_\+of\+\_\+subinterval}} (unsigned int interval\+Number) const final
\item 
void \mbox{\hyperlink{classfunc_1_1CompositeLookupTable_a16138bbe5fe761854a353362ba7d9b2f}{print\+\_\+json}} (std\+::ostream \&out) const final
\item 
std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classfunc_1_1LookupTable}{Lookup\+Table}}$<$ TIN, TOUT $>$ $>$ \mbox{\hyperlink{classfunc_1_1CompositeLookupTable_a9c2a30bdcf47af36380b962248833e36}{get\+\_\+table}} (TIN x)
\end{DoxyCompactItemize}
\doxyparagraph*{Public Member Functions inherited from \mbox{\hyperlink{classfunc_1_1LookupTable}{Lookup\+Table$<$ TIN, TIN $>$}}}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classfunc_1_1LookupTable_acd94ebee613378fb31e86a83d34eaf4c}{Lookup\+Table}} ()=default
\end{DoxyCompactItemize}
\doxysubsubsubsection*{Additional Inherited Members}
\doxyparagraph*{Public Types inherited from \mbox{\hyperlink{classfunc_1_1LookupTable}{Lookup\+Table$<$ TIN, TIN $>$}}}
\begin{DoxyCompactItemize}
\item 
using {\bfseries input\+\_\+type}
\item 
using {\bfseries output\+\_\+type}
\end{DoxyCompactItemize}


\doxysubsubsection{Detailed Description}
\subsubsection*{template$<$typename TIN, typename TOUT = TIN$>$\newline
class func\+::\+Composite\+Lookup\+Table$<$ TIN, TOUT $>$}
Approximate a single $1$D function with \$\+M\$ LUTs over pairwise disjoint subintervals of its domain. {\ttfamily \doxylink{classfunc_1_1CompositeLookupTable}{Composite\+Lookup\+Table}} works well for functions with disconnected domains, or unused regions, or regions with difficult to approximate behaviour. 

This is implemented with a {\ttfamily std\+::map} of $M$ {\ttfamily shared\+\_\+ptr\texorpdfstring{$<$}{<}\doxylink{classfunc_1_1LookupTable}{Lookup\+Table}\texorpdfstring{$>$}{>}}. The {\ttfamily operator()(\textbackslash{}tin\{\} x)} of a {\ttfamily \doxylink{classfunc_1_1CompositeLookupTable}{Composite\+Lookup\+Table}} calls {\ttfamily map\+::upper\textbackslash{}\+\_\+bound(x)} to perform a binary search over the right endpoint of each LUT. So, the hash is $O(\log M)$. The {\ttfamily operator()} caches the most recently used LUT and skips the binary search when repeatedly evaluating from the same LUT\textquotesingle{}s range.

This class works as a naive non-\/uniform lookup table.

Usage example\+: 
\begin{DoxyCode}{0}
\DoxyCodeLine{std::vector<std::tuple<std::string,TYPE,TYPE,TYPE>>\ v\{}
\DoxyCodeLine{\ \ \textcolor{comment}{//\ \{tableKey,\ left,\ right,\ step\},}}
\DoxyCodeLine{\ \ \{\textcolor{stringliteral}{"{}UniformExactInterpTable<3>"{}},MIN\_ARG,std::exp(7.7/13.0287),STEP\},}
\DoxyCodeLine{\ \ \{\textcolor{stringliteral}{"{}UniformExactInterpTable<3>"{}},std::exp(7.7/13.0287),MAX\_ARG,STEP\}}
\DoxyCodeLine{\};}
\DoxyCodeLine{FunctionContainer<TYPE>\ func\_container\{\mbox{\hyperlink{FunctionContainer_8hpp_af3f31bcf88f2eb106cc78940a7282fd2}{FUNC\_SET\_F}}(MyFunction,TYPE)\};}
\DoxyCodeLine{\mbox{\hyperlink{classfunc_1_1CompositeLookupTable_a8f5e20bff569953791f94984051913f8}{CompositeLookupTable<TYPE>}}\ C(func\_container,\ v);}
\DoxyCodeLine{std::cout\ <<\ \textcolor{stringliteral}{"{}C(0.01)\ =\ "{}}\ <<\ C(0.01)\ <<\ std::endl;}

\end{DoxyCode}


\begin{DoxyNote}{Note}
Constructs a \doxylink{classfunc_1_1LookupTableGenerator}{Lookup\+Table\+Generator} to construct each LUT. 

Each member function is marked const. 

Evaluate by using parentheses, just like a function. 

The number of subintervals is the sum of each encapsulated LUT\textquotesingle{}s subintervals, which is much greater than $n$
\end{DoxyNote}
\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000008}{Todo}}]Implement to/from\+\_\+json. We can use the unique\+\_\+ptr$<$\+Lookup\+Table$>$ version of from\+\_\+json in \doxylink{classfunc_1_1LookupTableFactory}{Lookup\+Table\+Factory} to build each member LUT easily \end{DoxyRefDesc}


\label{doc-constructors}
\Hypertarget{classfunc_1_1CompositeLookupTable_doc-constructors}
\doxysubsubsection{Constructor \& Destructor Documentation}
\Hypertarget{classfunc_1_1CompositeLookupTable_a8f5e20bff569953791f94984051913f8}\index{CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}!CompositeLookupTable@{CompositeLookupTable}}
\index{CompositeLookupTable@{CompositeLookupTable}!CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}}
\doxyparagraph{\texorpdfstring{CompositeLookupTable()}{CompositeLookupTable()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfunc_1_1CompositeLookupTable_a8f5e20bff569953791f94984051913f8} 
template$<$typename TIN, typename TOUT = TIN$>$ \\
\mbox{\hyperlink{classfunc_1_1CompositeLookupTable}{Composite\+Lookup\+Table}} (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classfunc_1_1FunctionContainer}{Function\+Container}}$<$ TIN, TOUT $>$ \&}]{func\+\_\+container}{, }\item[{const std\+::vector$<$ std\+::tuple$<$ std\+::string, TIN, TIN, TIN $>$ $>$ \&}]{name\+\_\+l\+\_\+r\+\_\+steps}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Construct a \doxylink{classfunc_1_1CompositeLookupTable}{Composite\+Lookup\+Table} from a \doxylink{classfunc_1_1FunctionContainer}{Function\+Container} and a vector of 4-\/tuples\+: n LUT names, n step sizes, n lower bounds, and n upper bounds. \Hypertarget{classfunc_1_1CompositeLookupTable_a8c13e5500217b6acd657e2912c877e8b}\index{CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}!CompositeLookupTable@{CompositeLookupTable}}
\index{CompositeLookupTable@{CompositeLookupTable}!CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}}
\doxyparagraph{\texorpdfstring{CompositeLookupTable()}{CompositeLookupTable()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfunc_1_1CompositeLookupTable_a8c13e5500217b6acd657e2912c877e8b} 
template$<$typename TIN, typename TOUT = TIN$>$ \\
\mbox{\hyperlink{classfunc_1_1CompositeLookupTable}{Composite\+Lookup\+Table}} (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classfunc_1_1FunctionContainer}{Function\+Container}}$<$ TIN, TOUT $>$ \&}]{func\+\_\+container}{, }\item[{const std\+::vector$<$ std\+::tuple$<$ std\+::string, TIN, TIN, TIN, TIN $>$ $>$ \&}]{name\+\_\+l\+\_\+r\+\_\+atol\+\_\+rtols}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Construct a \doxylink{classfunc_1_1CompositeLookupTable}{Composite\+Lookup\+Table} from a \doxylink{classfunc_1_1FunctionContainer}{Function\+Container} and a vector of 5-\/tuples\+: n LUT names, n lower bounds, n upper bounds, n absolute tolerances and n relative tolerances 

\label{doc-func-members}
\Hypertarget{classfunc_1_1CompositeLookupTable_doc-func-members}
\doxysubsubsection{Member Function Documentation}
\Hypertarget{classfunc_1_1CompositeLookupTable_aea8465ad30b6260a0948d4305d984d9d}\index{CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}!bounds\_of\_subinterval@{bounds\_of\_subinterval}}
\index{bounds\_of\_subinterval@{bounds\_of\_subinterval}!CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}}
\doxyparagraph{\texorpdfstring{bounds\_of\_subinterval()}{bounds\_of\_subinterval()}}
{\footnotesize\ttfamily \label{classfunc_1_1CompositeLookupTable_aea8465ad30b6260a0948d4305d984d9d} 
template$<$typename TIN, typename TOUT = TIN$>$ \\
std\+::pair$<$ TIN, TIN $>$ bounds\+\_\+of\+\_\+subinterval (\begin{DoxyParamCaption}\item[{unsigned int}]{interval\+Number}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}

Iterate through each LUT, counting each of its subintervals until we arrive upon the interval\+Number-\/th subinterval 

Implements \mbox{\hyperlink{classfunc_1_1LookupTable}{Lookup\+Table$<$ TIN, TIN $>$}}.

\Hypertarget{classfunc_1_1CompositeLookupTable_a9c2a30bdcf47af36380b962248833e36}\index{CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}!get\_table@{get\_table}}
\index{get\_table@{get\_table}!CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}}
\doxyparagraph{\texorpdfstring{get\_table()}{get\_table()}}
{\footnotesize\ttfamily \label{classfunc_1_1CompositeLookupTable_a9c2a30bdcf47af36380b962248833e36} 
template$<$typename TIN, typename TOUT = TIN$>$ \\
std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classfunc_1_1LookupTable}{Lookup\+Table}}$<$ TIN, TOUT $>$ $>$ get\+\_\+table (\begin{DoxyParamCaption}\item[{TIN}]{x}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Get the closest LUT such that this argument is less than its upper bound. \begin{DoxyNote}{Note}
x might be outside the return LUT\textquotesingle{}s bounds if the given function is not approximated with a single LUT over its entire domain 
\end{DoxyNote}
\Hypertarget{classfunc_1_1CompositeLookupTable_a546555a620601a06a71c12a15f7a2769}\index{CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}!max\_arg@{max\_arg}}
\index{max\_arg@{max\_arg}!CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}}
\doxyparagraph{\texorpdfstring{max\_arg()}{max\_arg()}}
{\footnotesize\ttfamily \label{classfunc_1_1CompositeLookupTable_a546555a620601a06a71c12a15f7a2769} 
template$<$typename TIN, typename TOUT = TIN$>$ \\
TIN max\+\_\+arg (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}



Implements \mbox{\hyperlink{classfunc_1_1LookupTable}{Lookup\+Table$<$ TIN, TIN $>$}}.

\Hypertarget{classfunc_1_1CompositeLookupTable_a0476b531891a0e1e33696d1a737661d0}\index{CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}!min\_arg@{min\_arg}}
\index{min\_arg@{min\_arg}!CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}}
\doxyparagraph{\texorpdfstring{min\_arg()}{min\_arg()}}
{\footnotesize\ttfamily \label{classfunc_1_1CompositeLookupTable_a0476b531891a0e1e33696d1a737661d0} 
template$<$typename TIN, typename TOUT = TIN$>$ \\
TIN min\+\_\+arg (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}



Implements \mbox{\hyperlink{classfunc_1_1LookupTable}{Lookup\+Table$<$ TIN, TIN $>$}}.

\Hypertarget{classfunc_1_1CompositeLookupTable_accba19b44801ed79bb97513319885f31}\index{CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}!name@{name}}
\index{name@{name}!CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}}
\doxyparagraph{\texorpdfstring{name()}{name()}}
{\footnotesize\ttfamily \label{classfunc_1_1CompositeLookupTable_accba19b44801ed79bb97513319885f31} 
template$<$typename TIN, typename TOUT = TIN$>$ \\
std\+::string name (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}



Implements \mbox{\hyperlink{classfunc_1_1LookupTable}{Lookup\+Table$<$ TIN, TIN $>$}}.

\Hypertarget{classfunc_1_1CompositeLookupTable_a269a97d89895944456f32f2be1d37109}\index{CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}!num\_subintervals@{num\_subintervals}}
\index{num\_subintervals@{num\_subintervals}!CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}}
\doxyparagraph{\texorpdfstring{num\_subintervals()}{num\_subintervals()}}
{\footnotesize\ttfamily \label{classfunc_1_1CompositeLookupTable_a269a97d89895944456f32f2be1d37109} 
template$<$typename TIN, typename TOUT = TIN$>$ \\
unsigned int num\+\_\+subintervals (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}



Implements \mbox{\hyperlink{classfunc_1_1LookupTable}{Lookup\+Table$<$ TIN, TIN $>$}}.

\Hypertarget{classfunc_1_1CompositeLookupTable_a10047eb2c0e68f488037419e770084e6}\index{CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}!operator()@{operator()}}
\index{operator()@{operator()}!CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}}
\doxyparagraph{\texorpdfstring{operator()()}{operator()()}}
{\footnotesize\ttfamily \label{classfunc_1_1CompositeLookupTable_a10047eb2c0e68f488037419e770084e6} 
template$<$typename TIN, typename TOUT = TIN$>$ \\
TOUT operator() (\begin{DoxyParamCaption}\item[{TIN}]{x}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}

Perform binary search for a LUT with the appropriate bounds and returns LUT(x). Resorts to the original function if arguments are out of bounds. Caches the most recently used LUT. 

Implements \mbox{\hyperlink{classfunc_1_1LookupTable}{Lookup\+Table$<$ TIN, TIN $>$}}.

\Hypertarget{classfunc_1_1CompositeLookupTable_a001c4e4c752e91195b970be3edee0b6d}\index{CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}!order@{order}}
\index{order@{order}!CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}}
\doxyparagraph{\texorpdfstring{order()}{order()}}
{\footnotesize\ttfamily \label{classfunc_1_1CompositeLookupTable_a001c4e4c752e91195b970be3edee0b6d} 
template$<$typename TIN, typename TOUT = TIN$>$ \\
unsigned int order (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}



Implements \mbox{\hyperlink{classfunc_1_1LookupTable}{Lookup\+Table$<$ TIN, TIN $>$}}.

\Hypertarget{classfunc_1_1CompositeLookupTable_a16138bbe5fe761854a353362ba7d9b2f}\index{CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}!print\_json@{print\_json}}
\index{print\_json@{print\_json}!CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}}
\doxyparagraph{\texorpdfstring{print\_json()}{print\_json()}}
{\footnotesize\ttfamily \label{classfunc_1_1CompositeLookupTable_a16138bbe5fe761854a353362ba7d9b2f} 
template$<$typename TIN, typename TOUT = TIN$>$ \\
void print\+\_\+json (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{out}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}

\begin{DoxyNote}{Note}
Every class implementing \doxylink{classfunc_1_1LookupTable}{Lookup\+Table} should call their implementation of nlohmann\textquotesingle{}s to\+\_\+json from print\+\_\+json 
\end{DoxyNote}


Implements \mbox{\hyperlink{classfunc_1_1LookupTable_a4b12bfc8ece1a97fa5ed8412d072e35d}{Lookup\+Table$<$ TIN, TIN $>$}}.

\Hypertarget{classfunc_1_1CompositeLookupTable_a5e82e200bee26238c342218d6d4f7042}\index{CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}!size@{size}}
\index{size@{size}!CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}}
\doxyparagraph{\texorpdfstring{size()}{size()}}
{\footnotesize\ttfamily \label{classfunc_1_1CompositeLookupTable_a5e82e200bee26238c342218d6d4f7042} 
template$<$typename TIN, typename TOUT = TIN$>$ \\
std\+::size\+\_\+t size (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}

Sum the sizes of each \doxylink{classfunc_1_1LookupTable}{Lookup\+Table} 

Implements \mbox{\hyperlink{classfunc_1_1LookupTable}{Lookup\+Table$<$ TIN, TIN $>$}}.

\Hypertarget{classfunc_1_1CompositeLookupTable_a0b483cc80497aa809bead8161f14a284}\index{CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}!step\_size@{step\_size}}
\index{step\_size@{step\_size}!CompositeLookupTable$<$ TIN, TOUT $>$@{CompositeLookupTable$<$ TIN, TOUT $>$}}
\doxyparagraph{\texorpdfstring{step\_size()}{step\_size()}}
{\footnotesize\ttfamily \label{classfunc_1_1CompositeLookupTable_a0b483cc80497aa809bead8161f14a284} 
template$<$typename TIN, typename TOUT = TIN$>$ \\
TIN step\+\_\+size (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [final]}, {\ttfamily [virtual]}}

Return the min step size of each \doxylink{classfunc_1_1LookupTable}{Lookup\+Table} 

Implements \mbox{\hyperlink{classfunc_1_1LookupTable}{Lookup\+Table$<$ TIN, TIN $>$}}.



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