\hypertarget{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_01not_01557fe13c13926477c639e43c2a41263d}{}\section{kblib\+:\+:detail\+:\+:value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+:\+:enable\+\_\+if\+\_\+t$<$ not 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_01not_01557fe13c13926477c639e43c2a41263d}\index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not 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_01not_01557fe13c13926477c639e43c2a41263d_a7907bff25e61df7c72aa6ba962d8d44f}{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_01not_01557fe13c13926477c639e43c2a41263d_a517107d15fda9aaf20ae5d244a3d6990}{value\+\_\+and\+\_\+index\+\_\+base} (Range \&\hyperlink{namespacekblib_a72690688922a2d4ae9a3e46ff0c1a9a9}{range}) \item auto \hyperlink{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_01not_01557fe13c13926477c639e43c2a41263d_a406499c414f67d92a80a624a6e91e335}{range\+\_\+begin} () -\/$>$ \hyperlink{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_01not_01557fe13c13926477c639e43c2a41263d_a7907bff25e61df7c72aa6ba962d8d44f}{iterator\+\_\+type} \item auto \hyperlink{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_01not_01557fe13c13926477c639e43c2a41263d_a003d5bf7c973cffff1846c7652c14063}{range\+\_\+end} () -\/$>$ \hyperlink{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_01not_01557fe13c13926477c639e43c2a41263d_a7907bff25e61df7c72aa6ba962d8d44f}{iterator\+\_\+type} \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_01not_01557fe13c13926477c639e43c2a41263d_a81a32a42a2fb1d415fe4bf7e555408e8}{range\+\_\+} \end{DoxyCompactItemize} \subsection{Detailed Description} \subsubsection*{template$<$typename Range$>$\newline struct kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$} Definition at line 1171 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_01not_01557fe13c13926477c639e43c2a41263d_a7907bff25e61df7c72aa6ba962d8d44f}\label{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_01not_01557fe13c13926477c639e43c2a41263d_a7907bff25e61df7c72aa6ba962d8d44f}} \index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not 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$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not 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$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$\+::\hyperlink{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_01not_01557fe13c13926477c639e43c2a41263d_a7907bff25e61df7c72aa6ba962d8d44f}{iterator\+\_\+type} = decltype(std\+::begin(std\+::declval$<$Range\&$>$()))} Definition at line 1174 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_01not_01557fe13c13926477c639e43c2a41263d_a517107d15fda9aaf20ae5d244a3d6990}\label{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_01not_01557fe13c13926477c639e43c2a41263d_a517107d15fda9aaf20ae5d244a3d6990}} \index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not 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$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not 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$<$ not 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 1176 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_01not_01557fe13c13926477c639e43c2a41263d_a406499c414f67d92a80a624a6e91e335}\label{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_01not_01557fe13c13926477c639e43c2a41263d_a406499c414f67d92a80a624a6e91e335}} \index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not 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$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$}} \subsubsection{\texorpdfstring{range\+\_\+begin()}{range\_begin()}} {\footnotesize\ttfamily template$<$typename Range $>$ \\ auto \hyperlink{structkblib_1_1detail_1_1value__and__index__base}{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$\+::range\+\_\+begin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) -\/$>$ \hyperlink{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_01not_01557fe13c13926477c639e43c2a41263d_a7907bff25e61df7c72aa6ba962d8d44f}{iterator\+\_\+type} \hspace{0.3cm}{\ttfamily [inline]}} Definition at line 1178 of file iterators.\+h. \mbox{\Hypertarget{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_01not_01557fe13c13926477c639e43c2a41263d_a003d5bf7c973cffff1846c7652c14063}\label{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_01not_01557fe13c13926477c639e43c2a41263d_a003d5bf7c973cffff1846c7652c14063}} \index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not 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$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$}} \subsubsection{\texorpdfstring{range\+\_\+end()}{range\_end()}} {\footnotesize\ttfamily template$<$typename Range $>$ \\ auto \hyperlink{structkblib_1_1detail_1_1value__and__index__base}{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base}$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$\+::range\+\_\+end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) -\/$>$ \hyperlink{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_01not_01557fe13c13926477c639e43c2a41263d_a7907bff25e61df7c72aa6ba962d8d44f}{iterator\+\_\+type} \hspace{0.3cm}{\ttfamily [inline]}} Definition at line 1180 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_01not_01557fe13c13926477c639e43c2a41263d_a81a32a42a2fb1d415fe4bf7e555408e8}\label{structkblib_1_1detail_1_1value__and__index__base_3_01_range_00_01std_1_1enable__if__t_3_01not_01557fe13c13926477c639e43c2a41263d_a81a32a42a2fb1d415fe4bf7e555408e8}} \index{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$}!range\+\_\+@{range\+\_\+}} \index{range\+\_\+@{range\+\_\+}!kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$@{kblib\+::detail\+::value\+\_\+and\+\_\+index\+\_\+base$<$ Range, std\+::enable\+\_\+if\+\_\+t$<$ not 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$<$ not std\+::is\+\_\+reference\+\_\+v$<$ Range $>$ $>$ $>$\+::range\+\_\+} Definition at line 1182 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}