\hypertarget{structkblib_1_1detail_1_1value__and__index__base}{}\section{kblib\+:\+:detail\+:\+:value\+\_\+and\+\_\+index\+\_\+base$<$ Range, typename $>$ Struct Template Reference}
\label{structkblib_1_1detail_1_1value__and__index__base}\index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, typename $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, typename $>$}}


{\ttfamily \#include $<$iterators.\+h$>$}

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
using \hyperlink{structkblib_1_1detail_1_1value__and__index__base_afee8dd378bbbc4070265c20a4eb443cf}{iterator\+\_\+type} = decltype(std\+::begin(std\+::declval$<$ Range \& $>$()))
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{structkblib_1_1detail_1_1value__and__index__base_a09ae7c20a98c9ee7c6c467184992db60}{value\+\_\+and\+\_\+index\+\_\+base} (Range \&\hyperlink{namespacekblib_a72690688922a2d4ae9a3e46ff0c1a9a9}{range})
\item 
auto \hyperlink{structkblib_1_1detail_1_1value__and__index__base_a8fdb403b1e0333fc89ab557d0b732b26}{range\+\_\+begin} () -\/$>$ \hyperlink{structkblib_1_1detail_1_1value__and__index__base_afee8dd378bbbc4070265c20a4eb443cf}{iterator\+\_\+type}
\item 
auto \hyperlink{structkblib_1_1detail_1_1value__and__index__base_a712a2ea6c8f038c69c3d60c0352da5af}{range\+\_\+end} () -\/$>$ \hyperlink{structkblib_1_1detail_1_1value__and__index__base_afee8dd378bbbc4070265c20a4eb443cf}{iterator\+\_\+type}
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{structkblib_1_1detail_1_1value__and__index__base_afee8dd378bbbc4070265c20a4eb443cf}{iterator\+\_\+type} \hyperlink{structkblib_1_1detail_1_1value__and__index__base_ac2a377f10fcbf10bfa4825f598fb2929}{range\+\_\+begin\+\_\+}
\item 
\hyperlink{structkblib_1_1detail_1_1value__and__index__base_afee8dd378bbbc4070265c20a4eb443cf}{iterator\+\_\+type} \hyperlink{structkblib_1_1detail_1_1value__and__index__base_a81bb63506a537be7b4c73000b6683a84}{range\+\_\+end\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename Range, typename = void$>$\newline
struct kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, typename $>$}



Definition at line 1155 of file iterators.\+h.



\subsection{Member Typedef Documentation}
\mbox{\Hypertarget{structkblib_1_1detail_1_1value__and__index__base_afee8dd378bbbc4070265c20a4eb443cf}\label{structkblib_1_1detail_1_1value__and__index__base_afee8dd378bbbc4070265c20a4eb443cf}} 
\index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}!iterator\+\_\+type@{iterator\+\_\+type}}
\index{iterator\+\_\+type@{iterator\+\_\+type}!kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}}
\subsubsection{\texorpdfstring{iterator\+\_\+type}{iterator\_type}}
{\footnotesize\ttfamily template$<$typename Range, typename  = void$>$ \\
using \hyperlink{structkblib_1_1detail_1_1value__and__index__base}{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}$<$ Range, typename $>$\+::\hyperlink{structkblib_1_1detail_1_1value__and__index__base_afee8dd378bbbc4070265c20a4eb443cf}{iterator\+\_\+type} =  decltype(std\+::begin(std\+::declval$<$Range\&$>$()))}



Definition at line 1157 of file iterators.\+h.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{structkblib_1_1detail_1_1value__and__index__base_a09ae7c20a98c9ee7c6c467184992db60}\label{structkblib_1_1detail_1_1value__and__index__base_a09ae7c20a98c9ee7c6c467184992db60}} 
\index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}!value\+\_\+and\+\_\+index\+\_\+base@{value\+\_\+and\+\_\+index\+\_\+base}}
\index{value\+\_\+and\+\_\+index\+\_\+base@{value\+\_\+and\+\_\+index\+\_\+base}!kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}}
\subsubsection{\texorpdfstring{value\+\_\+and\+\_\+index\+\_\+base()}{value\_and\_index\_base()}}
{\footnotesize\ttfamily template$<$typename Range, typename  = void$>$ \\
\hyperlink{structkblib_1_1detail_1_1value__and__index__base}{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}$<$ Range, typename $>$\+::\hyperlink{structkblib_1_1detail_1_1value__and__index__base}{value\+\_\+and\+\_\+index\+\_\+base} (\begin{DoxyParamCaption}\item[{Range \&}]{range }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Definition at line 1159 of file iterators.\+h.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{structkblib_1_1detail_1_1value__and__index__base_a8fdb403b1e0333fc89ab557d0b732b26}\label{structkblib_1_1detail_1_1value__and__index__base_a8fdb403b1e0333fc89ab557d0b732b26}} 
\index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}!range\+\_\+begin@{range\+\_\+begin}}
\index{range\+\_\+begin@{range\+\_\+begin}!kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}}
\subsubsection{\texorpdfstring{range\+\_\+begin()}{range\_begin()}}
{\footnotesize\ttfamily template$<$typename Range, typename  = void$>$ \\
auto \hyperlink{structkblib_1_1detail_1_1value__and__index__base}{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}$<$ Range, typename $>$\+::range\+\_\+begin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) -\/$>$ \hyperlink{structkblib_1_1detail_1_1value__and__index__base_afee8dd378bbbc4070265c20a4eb443cf}{iterator\+\_\+type} \hspace{0.3cm}{\ttfamily [inline]}}



Definition at line 1162 of file iterators.\+h.

\mbox{\Hypertarget{structkblib_1_1detail_1_1value__and__index__base_a712a2ea6c8f038c69c3d60c0352da5af}\label{structkblib_1_1detail_1_1value__and__index__base_a712a2ea6c8f038c69c3d60c0352da5af}} 
\index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}!range\+\_\+end@{range\+\_\+end}}
\index{range\+\_\+end@{range\+\_\+end}!kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}}
\subsubsection{\texorpdfstring{range\+\_\+end()}{range\_end()}}
{\footnotesize\ttfamily template$<$typename Range, typename  = void$>$ \\
auto \hyperlink{structkblib_1_1detail_1_1value__and__index__base}{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}$<$ Range, typename $>$\+::range\+\_\+end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) -\/$>$ \hyperlink{structkblib_1_1detail_1_1value__and__index__base_afee8dd378bbbc4070265c20a4eb443cf}{iterator\+\_\+type} \hspace{0.3cm}{\ttfamily [inline]}}



Definition at line 1164 of file iterators.\+h.



\subsection{Member Data Documentation}
\mbox{\Hypertarget{structkblib_1_1detail_1_1value__and__index__base_ac2a377f10fcbf10bfa4825f598fb2929}\label{structkblib_1_1detail_1_1value__and__index__base_ac2a377f10fcbf10bfa4825f598fb2929}} 
\index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}!range\+\_\+begin\+\_\+@{range\+\_\+begin\+\_\+}}
\index{range\+\_\+begin\+\_\+@{range\+\_\+begin\+\_\+}!kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}}
\subsubsection{\texorpdfstring{range\+\_\+begin\+\_\+}{range\_begin\_}}
{\footnotesize\ttfamily template$<$typename Range, typename  = void$>$ \\
\hyperlink{structkblib_1_1detail_1_1value__and__index__base_afee8dd378bbbc4070265c20a4eb443cf}{iterator\+\_\+type} \hyperlink{structkblib_1_1detail_1_1value__and__index__base}{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}$<$ Range, typename $>$\+::range\+\_\+begin\+\_\+}



Definition at line 1166 of file iterators.\+h.

\mbox{\Hypertarget{structkblib_1_1detail_1_1value__and__index__base_a81bb63506a537be7b4c73000b6683a84}\label{structkblib_1_1detail_1_1value__and__index__base_a81bb63506a537be7b4c73000b6683a84}} 
\index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}!range\+\_\+end\+\_\+@{range\+\_\+end\+\_\+}}
\index{range\+\_\+end\+\_\+@{range\+\_\+end\+\_\+}!kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}}
\subsubsection{\texorpdfstring{range\+\_\+end\+\_\+}{range\_end\_}}
{\footnotesize\ttfamily template$<$typename Range, typename  = void$>$ \\
\hyperlink{structkblib_1_1detail_1_1value__and__index__base_afee8dd378bbbc4070265c20a4eb443cf}{iterator\+\_\+type} \hyperlink{structkblib_1_1detail_1_1value__and__index__base}{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}$<$ Range, typename $>$\+::range\+\_\+end\+\_\+}



Definition at line 1167 of file iterators.\+h.



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