\hypertarget{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd}{}\section{kblib\+:\+:detail\+:\+:value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+:\+:enable\+\_\+if\+\_\+t$<$!std\+:\+:is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$ Struct Template Reference}
\label{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd}\index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$}}


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

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
using \hyperlink{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd_a3e72aa8cabb0e481e91279e8d192376c}{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_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd_ac66cf7f314b0abda9c11aa6aee065c34}{value\+\_\+and\+\_\+index\+\_\+base} (Range \&\hyperlink{namespacekblib_a7c962dffe618cc9d1f8a70bf4a4a3be3}{range})
\item 
\hyperlink{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd_a3e72aa8cabb0e481e91279e8d192376c}{iterator\+\_\+type} \hyperlink{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd_af77ef1d0d0ae07495092df3258a5888e}{range\+\_\+begin} ()
\item 
\hyperlink{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd_a3e72aa8cabb0e481e91279e8d192376c}{iterator\+\_\+type} \hyperlink{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd_a4e3f3924527c9c91524b0756f25ce611}{range\+\_\+end} ()
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
Range \hyperlink{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd_a608ead9b8462a5d503f47383b42502ca}{range\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename Range$>$\newline
struct kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$}



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



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



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



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd_ac66cf7f314b0abda9c11aa6aee065c34}\label{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd_ac66cf7f314b0abda9c11aa6aee065c34}} 
\index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$}!value\+\_\+and\+\_\+index\+\_\+base@{value\+\_\+and\+\_\+index\+\_\+base}}
\index{value\+\_\+and\+\_\+index\+\_\+base@{value\+\_\+and\+\_\+index\+\_\+base}!kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$}}
\subsubsection{\texorpdfstring{value\+\_\+and\+\_\+index\+\_\+base()}{value\_and\_index\_base()}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
\hyperlink{structkblib_1_1detail_1_1value__and__index__base}{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$\+::\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 1030 of file iterators.\+h.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd_af77ef1d0d0ae07495092df3258a5888e}\label{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd_af77ef1d0d0ae07495092df3258a5888e}} 
\index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$}!range\+\_\+begin@{range\+\_\+begin}}
\index{range\+\_\+begin@{range\+\_\+begin}!kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$}}
\subsubsection{\texorpdfstring{range\+\_\+begin()}{range\_begin()}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
\hyperlink{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd_a3e72aa8cabb0e481e91279e8d192376c}{iterator\+\_\+type} \hyperlink{structkblib_1_1detail_1_1value__and__index__base}{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$\+::range\+\_\+begin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



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

\mbox{\Hypertarget{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd_a4e3f3924527c9c91524b0756f25ce611}\label{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd_a4e3f3924527c9c91524b0756f25ce611}} 
\index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$}!range\+\_\+end@{range\+\_\+end}}
\index{range\+\_\+end@{range\+\_\+end}!kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$}}
\subsubsection{\texorpdfstring{range\+\_\+end()}{range\_end()}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
\hyperlink{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd_a3e72aa8cabb0e481e91279e8d192376c}{iterator\+\_\+type} \hyperlink{structkblib_1_1detail_1_1value__and__index__base}{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$\+::range\+\_\+end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



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



\subsection{Member Data Documentation}
\mbox{\Hypertarget{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd_a608ead9b8462a5d503f47383b42502ca}\label{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_9std_1_1e59e9ad55a779ec85915db9040717fcd_a608ead9b8462a5d503f47383b42502ca}} 
\index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$}!range\+\_\+@{range\+\_\+}}
\index{range\+\_\+@{range\+\_\+}!kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$"!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$}}
\subsubsection{\texorpdfstring{range\+\_\+}{range\_}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
Range \hyperlink{structkblib_1_1detail_1_1value__and__index__base}{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$!std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$\+::range\+\_\+}



Definition at line 1036 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}
