\hypertarget{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4}{}\doxysection{kblib\+::enumerator\+\_\+t\texorpdfstring{$<$}{<} Range, void \texorpdfstring{$>$}{>} Class Template Reference}
\label{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4}\index{kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}}


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

\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
using \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a84ce83b9ff25327bb0228cbf1da4b202}{range\+\_\+t}} = typename std\+::remove\+\_\+reference\+\_\+t$<$ Range $>$
\item 
using \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a85ff0f722ebf3fc42791b848a5b6d728}{nested\+\_\+iterator}} = decltype(r.\+begin())
\item 
using \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_ab798e42fa81b75e1b135ef81f9f37c18}{nested\+\_\+end\+\_\+iterator}} = decltype(r.\+end())
\item 
using \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_afdd32f18b0e63a77f0d6b0c8f8dcd8a0}{iterator}} = \mbox{\hyperlink{classkblib_1_1enumerator__iterator}{enumerator\+\_\+iterator}}$<$ \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a85ff0f722ebf3fc42791b848a5b6d728}{nested\+\_\+iterator}} $>$
\item 
using \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a22dcb153e02fefffbb7a0f7414270a70}{end\+\_\+iterator}} = \mbox{\hyperlink{classkblib_1_1enumerator__iterator}{enumerator\+\_\+iterator}}$<$ \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_ab798e42fa81b75e1b135ef81f9f37c18}{nested\+\_\+end\+\_\+iterator}} $>$
\item 
using \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a59f42e61ef2b63f8f8d4a8f9aac64902}{nested\+\_\+const\+\_\+iterator}} = typename range\+\_\+t\+::const\+\_\+iterator
\item 
using \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a0e04065874b30cd196097939749d3744}{const\+\_\+iterator}} = \mbox{\hyperlink{classkblib_1_1enumerator__iterator}{enumerator\+\_\+iterator}}$<$ \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a59f42e61ef2b63f8f8d4a8f9aac64902}{nested\+\_\+const\+\_\+iterator}} $>$
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
auto \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a8b353bd881ed069337d2f28a7601c3f6}{begin}} () const \&noexcept(noexcept(r.\+cbegin())) -\/$>$ \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a0e04065874b30cd196097939749d3744}{const\+\_\+iterator}}
\item 
auto \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_ab785629cea88041ca75c506d8f5d58d5}{begin}} () \&noexcept(noexcept(r.\+begin())) -\/$>$ \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_afdd32f18b0e63a77f0d6b0c8f8dcd8a0}{iterator}}
\item 
auto \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_ac248220cdfd601047f1bba39821842a7}{end}} () const \&noexcept(noexcept(r.\+cend())) -\/$>$ \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a0e04065874b30cd196097939749d3744}{const\+\_\+iterator}}
\item 
auto \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a77b5228358bcd320f2b41796282c00a9}{end}} () \&noexcept(noexcept(r.\+end())) -\/$>$ \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a22dcb153e02fefffbb7a0f7414270a70}{end\+\_\+iterator}}
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{namespacekblib_1_1detail_aca9cd901eb773c411961ea11739f3d40}{detail\+::no\+\_\+dangle\+\_\+t}}$<$ Range $>$ \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_ac043b63b7bb69e8c23b957061ca068b3}{r}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Range$>$\newline
class kblib\+::enumerator\+\_\+t$<$ Range, void $>$}


Definition at line \mbox{\hyperlink{iterators_8h_source_l00928}{928}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.



\doxysubsection{Member Typedef Documentation}
\mbox{\Hypertarget{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a0e04065874b30cd196097939749d3744}\label{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a0e04065874b30cd196097939749d3744}} 
\index{kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}!const\_iterator@{const\_iterator}}
\index{const\_iterator@{const\_iterator}!kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}}
\doxysubsubsection{\texorpdfstring{const\_iterator}{const\_iterator}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
using \mbox{\hyperlink{classkblib_1_1enumerator__t}{kblib\+::enumerator\+\_\+t}}$<$ Range, void $>$\+::const\+\_\+iterator =  \mbox{\hyperlink{classkblib_1_1enumerator__iterator}{enumerator\+\_\+iterator}}$<$\mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a59f42e61ef2b63f8f8d4a8f9aac64902}{nested\+\_\+const\+\_\+iterator}}$>$}



Definition at line \mbox{\hyperlink{iterators_8h_source_l00939}{939}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.

\mbox{\Hypertarget{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a22dcb153e02fefffbb7a0f7414270a70}\label{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a22dcb153e02fefffbb7a0f7414270a70}} 
\index{kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}!end\_iterator@{end\_iterator}}
\index{end\_iterator@{end\_iterator}!kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}}
\doxysubsubsection{\texorpdfstring{end\_iterator}{end\_iterator}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
using \mbox{\hyperlink{classkblib_1_1enumerator__t}{kblib\+::enumerator\+\_\+t}}$<$ Range, void $>$\+::end\+\_\+iterator =  \mbox{\hyperlink{classkblib_1_1enumerator__iterator}{enumerator\+\_\+iterator}}$<$\mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_ab798e42fa81b75e1b135ef81f9f37c18}{nested\+\_\+end\+\_\+iterator}}$>$}



Definition at line \mbox{\hyperlink{iterators_8h_source_l00936}{936}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.

\mbox{\Hypertarget{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_afdd32f18b0e63a77f0d6b0c8f8dcd8a0}\label{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_afdd32f18b0e63a77f0d6b0c8f8dcd8a0}} 
\index{kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}!iterator@{iterator}}
\index{iterator@{iterator}!kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}}
\doxysubsubsection{\texorpdfstring{iterator}{iterator}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
using \mbox{\hyperlink{classkblib_1_1enumerator__t}{kblib\+::enumerator\+\_\+t}}$<$ Range, void $>$\+::iterator =  \mbox{\hyperlink{classkblib_1_1enumerator__iterator}{enumerator\+\_\+iterator}}$<$\mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a85ff0f722ebf3fc42791b848a5b6d728}{nested\+\_\+iterator}}$>$}



Definition at line \mbox{\hyperlink{iterators_8h_source_l00935}{935}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.

\mbox{\Hypertarget{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a59f42e61ef2b63f8f8d4a8f9aac64902}\label{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a59f42e61ef2b63f8f8d4a8f9aac64902}} 
\index{kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}!nested\_const\_iterator@{nested\_const\_iterator}}
\index{nested\_const\_iterator@{nested\_const\_iterator}!kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}}
\doxysubsubsection{\texorpdfstring{nested\_const\_iterator}{nested\_const\_iterator}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
using \mbox{\hyperlink{classkblib_1_1enumerator__t}{kblib\+::enumerator\+\_\+t}}$<$ Range, void $>$\+::nested\+\_\+const\+\_\+iterator =  typename range\+\_\+t\+::const\+\_\+iterator}



Definition at line \mbox{\hyperlink{iterators_8h_source_l00938}{938}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.

\mbox{\Hypertarget{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_ab798e42fa81b75e1b135ef81f9f37c18}\label{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_ab798e42fa81b75e1b135ef81f9f37c18}} 
\index{kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}!nested\_end\_iterator@{nested\_end\_iterator}}
\index{nested\_end\_iterator@{nested\_end\_iterator}!kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}}
\doxysubsubsection{\texorpdfstring{nested\_end\_iterator}{nested\_end\_iterator}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
using \mbox{\hyperlink{classkblib_1_1enumerator__t}{kblib\+::enumerator\+\_\+t}}$<$ Range, void $>$\+::nested\+\_\+end\+\_\+iterator =  decltype(r.\+end())}



Definition at line \mbox{\hyperlink{iterators_8h_source_l00934}{934}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.

\mbox{\Hypertarget{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a85ff0f722ebf3fc42791b848a5b6d728}\label{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a85ff0f722ebf3fc42791b848a5b6d728}} 
\index{kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}!nested\_iterator@{nested\_iterator}}
\index{nested\_iterator@{nested\_iterator}!kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}}
\doxysubsubsection{\texorpdfstring{nested\_iterator}{nested\_iterator}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
using \mbox{\hyperlink{classkblib_1_1enumerator__t}{kblib\+::enumerator\+\_\+t}}$<$ Range, void $>$\+::nested\+\_\+iterator =  decltype(r.\+begin())}



Definition at line \mbox{\hyperlink{iterators_8h_source_l00933}{933}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.

\mbox{\Hypertarget{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a84ce83b9ff25327bb0228cbf1da4b202}\label{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a84ce83b9ff25327bb0228cbf1da4b202}} 
\index{kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}!range\_t@{range\_t}}
\index{range\_t@{range\_t}!kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}}
\doxysubsubsection{\texorpdfstring{range\_t}{range\_t}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
using \mbox{\hyperlink{classkblib_1_1enumerator__t}{kblib\+::enumerator\+\_\+t}}$<$ Range, void $>$\+::range\+\_\+t =  typename std\+::remove\+\_\+reference\+\_\+t$<$Range$>$}



Definition at line \mbox{\hyperlink{iterators_8h_source_l00932}{932}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_ab785629cea88041ca75c506d8f5d58d5}\label{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_ab785629cea88041ca75c506d8f5d58d5}} 
\index{kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}!begin@{begin}}
\index{begin@{begin}!kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}}
\doxysubsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
auto \mbox{\hyperlink{classkblib_1_1enumerator__t}{kblib\+::enumerator\+\_\+t}}$<$ Range, void $>$\+::begin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \& -\/$>$ \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_afdd32f18b0e63a77f0d6b0c8f8dcd8a0}{iterator}} \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{iterators_8h_source_l00944}{944}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.

\mbox{\Hypertarget{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a8b353bd881ed069337d2f28a7601c3f6}\label{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a8b353bd881ed069337d2f28a7601c3f6}} 
\index{kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}!begin@{begin}}
\index{begin@{begin}!kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}}
\doxysubsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
auto \mbox{\hyperlink{classkblib_1_1enumerator__t}{kblib\+::enumerator\+\_\+t}}$<$ Range, void $>$\+::begin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const \& -\/$>$ \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a0e04065874b30cd196097939749d3744}{const\+\_\+iterator}} \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{iterators_8h_source_l00941}{941}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.

\mbox{\Hypertarget{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a77b5228358bcd320f2b41796282c00a9}\label{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a77b5228358bcd320f2b41796282c00a9}} 
\index{kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}!end@{end}}
\index{end@{end}!kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}}
\doxysubsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
auto \mbox{\hyperlink{classkblib_1_1enumerator__t}{kblib\+::enumerator\+\_\+t}}$<$ Range, void $>$\+::end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \& -\/$>$ \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a22dcb153e02fefffbb7a0f7414270a70}{end\+\_\+iterator}} \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{iterators_8h_source_l00951}{951}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.

\mbox{\Hypertarget{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_ac248220cdfd601047f1bba39821842a7}\label{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_ac248220cdfd601047f1bba39821842a7}} 
\index{kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}!end@{end}}
\index{end@{end}!kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}}
\doxysubsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
auto \mbox{\hyperlink{classkblib_1_1enumerator__t}{kblib\+::enumerator\+\_\+t}}$<$ Range, void $>$\+::end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const \& -\/$>$ \mbox{\hyperlink{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_a0e04065874b30cd196097939749d3744}{const\+\_\+iterator}} \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{iterators_8h_source_l00948}{948}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_ac043b63b7bb69e8c23b957061ca068b3}\label{classkblib_1_1enumerator__t_3_01_range_00_01void_01_4_ac043b63b7bb69e8c23b957061ca068b3}} 
\index{kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}!r@{r}}
\index{r@{r}!kblib::enumerator\_t$<$ Range, void $>$@{kblib::enumerator\_t$<$ Range, void $>$}}
\doxysubsubsection{\texorpdfstring{r}{r}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
\mbox{\hyperlink{namespacekblib_1_1detail_aca9cd901eb773c411961ea11739f3d40}{detail\+::no\+\_\+dangle\+\_\+t}}$<$Range$>$ \mbox{\hyperlink{classkblib_1_1enumerator__t}{kblib\+::enumerator\+\_\+t}}$<$ Range, void $>$\+::r}



Definition at line \mbox{\hyperlink{iterators_8h_source_l00930}{930}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.



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