\hypertarget{structkblib_1_1punner}{}\doxysection{kblib\+::punner\texorpdfstring{$<$}{<} Types \texorpdfstring{$>$}{>} Struct Template Reference}
\label{structkblib_1_1punner}\index{kblib::punner$<$ Types $>$@{kblib::punner$<$ Types $>$}}


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



Inheritance diagram for kblib\+::punner\texorpdfstring{$<$}{<} Types \texorpdfstring{$>$}{>}\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{structkblib_1_1punner__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for kblib\+::punner\texorpdfstring{$<$}{<} Types \texorpdfstring{$>$}{>}\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{structkblib_1_1punner__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$std\+::size\+\_\+t I$>$ }\\using \mbox{\hyperlink{structkblib_1_1punner_a2f3304655dc864a32d86491414640252}{base\+\_\+t}} = \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el}{detail\+\_\+bits\+::pun\+\_\+el}}$<$ \mbox{\hyperlink{structkblib_1_1detail__bits_1_1punner__impl}{impl\+\_\+t}}, r\+\_\+element\+\_\+t$<$ I $>$, storage\+\_\+size, I $>$
\item 
{\footnotesize template$<$std\+::size\+\_\+t I$>$ }\\using \mbox{\hyperlink{structkblib_1_1punner_a3216617468adf41427b8dd5bcd5629f2}{element\+\_\+t}} = typename \mbox{\hyperlink{structkblib_1_1punner_a2f3304655dc864a32d86491414640252}{base\+\_\+t}}$<$ I $>$\+::type
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$std\+::size\+\_\+t I$>$ }\\auto \mbox{\hyperlink{structkblib_1_1punner_a2239fdbf6ac157757df3b599d0ee9f2b}{get}} () \&noexcept -\/$>$ decltype(auto)
\item 
{\footnotesize template$<$std\+::size\+\_\+t I$>$ }\\auto \mbox{\hyperlink{structkblib_1_1punner_a3fb0452080aeff65a203965a10e6b079}{get}} () const \&noexcept -\/$>$ decltype(auto)
\item 
{\footnotesize template$<$std\+::size\+\_\+t I$>$ }\\auto \mbox{\hyperlink{structkblib_1_1punner_a22f961dac0119c334054478d457bed58}{get}} () \&\&noexcept -\/$>$ decltype(auto)
\item 
{\footnotesize template$<$std\+::size\+\_\+t I$>$ }\\auto \mbox{\hyperlink{structkblib_1_1punner_ae1e87ac1d684a043ed7348f65c714495}{get}} () const \&\&noexcept -\/$>$ decltype(auto)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename... Types$>$\newline
struct kblib\+::punner$<$ Types $>$}


Definition at line \mbox{\hyperlink{bits_8h_source_l00679}{679}} of file \mbox{\hyperlink{bits_8h_source}{bits.\+h}}.



\doxysubsection{Member Typedef Documentation}
\mbox{\Hypertarget{structkblib_1_1punner_a2f3304655dc864a32d86491414640252}\label{structkblib_1_1punner_a2f3304655dc864a32d86491414640252}} 
\index{kblib::punner$<$ Types $>$@{kblib::punner$<$ Types $>$}!base\_t@{base\_t}}
\index{base\_t@{base\_t}!kblib::punner$<$ Types $>$@{kblib::punner$<$ Types $>$}}
\doxysubsubsection{\texorpdfstring{base\_t}{base\_t}}
{\footnotesize\ttfamily template$<$typename... Types$>$ \\
template$<$std\+::size\+\_\+t I$>$ \\
using \mbox{\hyperlink{structkblib_1_1punner}{kblib\+::punner}}$<$ Types $>$\+::base\+\_\+t =  \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el}{detail\+\_\+bits\+::pun\+\_\+el}}$<$\mbox{\hyperlink{structkblib_1_1detail__bits_1_1punner__impl}{impl\+\_\+t}}, r\+\_\+element\+\_\+t$<$I$>$, storage\+\_\+size, I$>$}



Definition at line \mbox{\hyperlink{bits_8h_source_l00696}{696}} of file \mbox{\hyperlink{bits_8h_source}{bits.\+h}}.

\mbox{\Hypertarget{structkblib_1_1punner_a3216617468adf41427b8dd5bcd5629f2}\label{structkblib_1_1punner_a3216617468adf41427b8dd5bcd5629f2}} 
\index{kblib::punner$<$ Types $>$@{kblib::punner$<$ Types $>$}!element\_t@{element\_t}}
\index{element\_t@{element\_t}!kblib::punner$<$ Types $>$@{kblib::punner$<$ Types $>$}}
\doxysubsubsection{\texorpdfstring{element\_t}{element\_t}}
{\footnotesize\ttfamily template$<$typename... Types$>$ \\
template$<$std\+::size\+\_\+t I$>$ \\
using \mbox{\hyperlink{structkblib_1_1punner}{kblib\+::punner}}$<$ Types $>$\+::element\+\_\+t =  typename \mbox{\hyperlink{structkblib_1_1punner_a2f3304655dc864a32d86491414640252}{base\+\_\+t}}$<$I$>$\+::type}



Definition at line \mbox{\hyperlink{bits_8h_source_l00698}{698}} of file \mbox{\hyperlink{bits_8h_source}{bits.\+h}}.



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{structkblib_1_1punner_a22f961dac0119c334054478d457bed58}\label{structkblib_1_1punner_a22f961dac0119c334054478d457bed58}} 
\index{kblib::punner$<$ Types $>$@{kblib::punner$<$ Types $>$}!get@{get}}
\index{get@{get}!kblib::punner$<$ Types $>$@{kblib::punner$<$ Types $>$}}
\doxysubsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily template$<$typename... Types$>$ \\
template$<$std\+::size\+\_\+t I$>$ \\
auto \mbox{\hyperlink{structkblib_1_1punner}{kblib\+::punner}}$<$ Types $>$\+::get (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \&\& -\/$>$ decltype(auto) \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{bits_8h_source_l00710}{710}} of file \mbox{\hyperlink{bits_8h_source}{bits.\+h}}.

\mbox{\Hypertarget{structkblib_1_1punner_a2239fdbf6ac157757df3b599d0ee9f2b}\label{structkblib_1_1punner_a2239fdbf6ac157757df3b599d0ee9f2b}} 
\index{kblib::punner$<$ Types $>$@{kblib::punner$<$ Types $>$}!get@{get}}
\index{get@{get}!kblib::punner$<$ Types $>$@{kblib::punner$<$ Types $>$}}
\doxysubsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily template$<$typename... Types$>$ \\
template$<$std\+::size\+\_\+t I$>$ \\
auto \mbox{\hyperlink{structkblib_1_1punner}{kblib\+::punner}}$<$ Types $>$\+::get (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \& -\/$>$ decltype(auto) \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{bits_8h_source_l00701}{701}} of file \mbox{\hyperlink{bits_8h_source}{bits.\+h}}.

\mbox{\Hypertarget{structkblib_1_1punner_ae1e87ac1d684a043ed7348f65c714495}\label{structkblib_1_1punner_ae1e87ac1d684a043ed7348f65c714495}} 
\index{kblib::punner$<$ Types $>$@{kblib::punner$<$ Types $>$}!get@{get}}
\index{get@{get}!kblib::punner$<$ Types $>$@{kblib::punner$<$ Types $>$}}
\doxysubsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily template$<$typename... Types$>$ \\
template$<$std\+::size\+\_\+t I$>$ \\
auto \mbox{\hyperlink{structkblib_1_1punner}{kblib\+::punner}}$<$ Types $>$\+::get (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const \&\& -\/$>$ decltype(auto) \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{bits_8h_source_l00714}{714}} of file \mbox{\hyperlink{bits_8h_source}{bits.\+h}}.

\mbox{\Hypertarget{structkblib_1_1punner_a3fb0452080aeff65a203965a10e6b079}\label{structkblib_1_1punner_a3fb0452080aeff65a203965a10e6b079}} 
\index{kblib::punner$<$ Types $>$@{kblib::punner$<$ Types $>$}!get@{get}}
\index{get@{get}!kblib::punner$<$ Types $>$@{kblib::punner$<$ Types $>$}}
\doxysubsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily template$<$typename... Types$>$ \\
template$<$std\+::size\+\_\+t I$>$ \\
auto \mbox{\hyperlink{structkblib_1_1punner}{kblib\+::punner}}$<$ Types $>$\+::get (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const \& -\/$>$ decltype(auto) \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{bits_8h_source_l00706}{706}} of file \mbox{\hyperlink{bits_8h_source}{bits.\+h}}.



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