\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}