\hypertarget{struct_k_b_l_i_b___n_s_1_1shift__mask}{}\doxysection{KBLIB\+\_\+\+NS\+::shift\+\_\+mask\texorpdfstring{$<$}{<} UInt\+Type, shift, mask \texorpdfstring{$>$}{>} Struct Template Reference}
\label{struct_k_b_l_i_b___n_s_1_1shift__mask}\index{KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$@{KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$}}


{\ttfamily \#include $<$kblib/random.\+h$>$}

\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
using \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1shift__mask_a32e197cb414bbb4f1e0f1ed7b1d80698}{result\+\_\+type}} = UInt\+Type
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1shift__mask_a7181bed232ee58f59a3de3171888b8e8}{operator()}} (UInt\+Type in) const noexcept -\/$>$ UInt\+Type
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename UInt\+Input $>$ }\\static constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1shift__mask_aeaa366b31adac9555bedf1df71f20027}{g}} (UInt\+Input in) noexcept -\/$>$ UInt\+Type
\item 
static constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1shift__mask_a7e806f700e75d3a7888bfc5064798dd2}{min}} (UInt\+Type min, UInt\+Type \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1shift__mask_acef0fe54aa9b024f73015dfa8b03c514}{max}}) noexcept -\/$>$ UInt\+Type
\item 
static constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1shift__mask_acef0fe54aa9b024f73015dfa8b03c514}{max}} (UInt\+Type \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1shift__mask_a7e806f700e75d3a7888bfc5064798dd2}{min}}, UInt\+Type max) noexcept -\/$>$ UInt\+Type
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename UInt\+Type, UInt\+Type shift, UInt\+Type mask = max$>$\newline
struct KBLIB\+\_\+\+NS\+::shift\+\_\+mask$<$ UInt\+Type, shift, mask $>$}


Definition at line \mbox{\hyperlink{random_8h_source_l00295}{295}} of file \mbox{\hyperlink{random_8h_source}{random.\+h}}.



\doxysubsection{Member Typedef Documentation}
\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1shift__mask_a32e197cb414bbb4f1e0f1ed7b1d80698}\label{struct_k_b_l_i_b___n_s_1_1shift__mask_a32e197cb414bbb4f1e0f1ed7b1d80698}} 
\index{KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$@{KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$}!result\_type@{result\_type}}
\index{result\_type@{result\_type}!KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$@{KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$}}
\doxysubsubsection{\texorpdfstring{result\_type}{result\_type}}
{\footnotesize\ttfamily template$<$typename UInt\+Type , UInt\+Type shift, UInt\+Type mask = max$>$ \\
using \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1shift__mask}{KBLIB\+\_\+\+NS\+::shift\+\_\+mask}}$<$ UInt\+Type, shift, mask $>$\+::result\+\_\+type =  UInt\+Type}



Definition at line \mbox{\hyperlink{random_8h_source_l00296}{296}} of file \mbox{\hyperlink{random_8h_source}{random.\+h}}.



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1shift__mask_aeaa366b31adac9555bedf1df71f20027}\label{struct_k_b_l_i_b___n_s_1_1shift__mask_aeaa366b31adac9555bedf1df71f20027}} 
\index{KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$@{KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$}!g@{g}}
\index{g@{g}!KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$@{KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$}}
\doxysubsubsection{\texorpdfstring{g()}{g()}}
{\footnotesize\ttfamily template$<$typename UInt\+Type , UInt\+Type shift, UInt\+Type mask = max$>$ \\
template$<$typename UInt\+Input $>$ \\
static constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1shift__mask}{KBLIB\+\_\+\+NS\+::shift\+\_\+mask}}$<$ UInt\+Type, shift, mask $>$\+::g (\begin{DoxyParamCaption}\item[{UInt\+Input}]{in }\end{DoxyParamCaption}) -\/$>$ UInt\+Type \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{random_8h_source_l00299}{299}} of file \mbox{\hyperlink{random_8h_source}{random.\+h}}.

\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1shift__mask_acef0fe54aa9b024f73015dfa8b03c514}\label{struct_k_b_l_i_b___n_s_1_1shift__mask_acef0fe54aa9b024f73015dfa8b03c514}} 
\index{KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$@{KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$}!max@{max}}
\index{max@{max}!KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$@{KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$}}
\doxysubsubsection{\texorpdfstring{max()}{max()}}
{\footnotesize\ttfamily template$<$typename UInt\+Type , UInt\+Type shift, UInt\+Type mask = max$>$ \\
static constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1shift__mask}{KBLIB\+\_\+\+NS\+::shift\+\_\+mask}}$<$ UInt\+Type, shift, mask $>$\+::max (\begin{DoxyParamCaption}\item[{UInt\+Type}]{min,  }\item[{UInt\+Type}]{max }\end{DoxyParamCaption}) -\/$>$ UInt\+Type \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{random_8h_source_l00311}{311}} of file \mbox{\hyperlink{random_8h_source}{random.\+h}}.

\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1shift__mask_a7e806f700e75d3a7888bfc5064798dd2}\label{struct_k_b_l_i_b___n_s_1_1shift__mask_a7e806f700e75d3a7888bfc5064798dd2}} 
\index{KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$@{KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$}!min@{min}}
\index{min@{min}!KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$@{KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$}}
\doxysubsubsection{\texorpdfstring{min()}{min()}}
{\footnotesize\ttfamily template$<$typename UInt\+Type , UInt\+Type shift, UInt\+Type mask = max$>$ \\
static constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1shift__mask}{KBLIB\+\_\+\+NS\+::shift\+\_\+mask}}$<$ UInt\+Type, shift, mask $>$\+::min (\begin{DoxyParamCaption}\item[{UInt\+Type}]{min,  }\item[{UInt\+Type}]{max }\end{DoxyParamCaption}) -\/$>$ UInt\+Type \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{random_8h_source_l00306}{306}} of file \mbox{\hyperlink{random_8h_source}{random.\+h}}.

\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1shift__mask_a7181bed232ee58f59a3de3171888b8e8}\label{struct_k_b_l_i_b___n_s_1_1shift__mask_a7181bed232ee58f59a3de3171888b8e8}} 
\index{KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$@{KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$}!operator()@{operator()}}
\index{operator()@{operator()}!KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$@{KBLIB\_NS::shift\_mask$<$ UIntType, shift, mask $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}}
{\footnotesize\ttfamily template$<$typename UInt\+Type , UInt\+Type shift, UInt\+Type mask = max$>$ \\
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1shift__mask}{KBLIB\+\_\+\+NS\+::shift\+\_\+mask}}$<$ UInt\+Type, shift, mask $>$\+::operator() (\begin{DoxyParamCaption}\item[{UInt\+Type}]{in }\end{DoxyParamCaption}) const -\/$>$ UInt\+Type \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{random_8h_source_l00302}{302}} of file \mbox{\hyperlink{random_8h_source}{random.\+h}}.



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
kblib/\mbox{\hyperlink{random_8h}{random.\+h}}\end{DoxyCompactItemize}
