\hypertarget{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4}{}\doxysection{kblib\+::enumerate\+\_\+t\texorpdfstring{$<$}{<} Range, void \texorpdfstring{$>$}{>} Struct Template Reference}
\label{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4}\index{kblib::enumerate\_t$<$ Range, void $>$@{kblib::enumerate\_t$<$ Range, void $>$}}


{\ttfamily \#include $<$kblib/enumerate-\/contrib-\/tw.\+h$>$}

\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
using \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_ad2c1cde392c03173c3cdd6b26970a965}{range\+\_\+t}} = typename std\+::remove\+\_\+reference\+\_\+t$<$ Range $>$
\item 
using \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a3c2ee598b8f601b5254f0ceaa9d6bf5f}{nested\+\_\+iterator}} = decltype(r.\+begin())
\item 
using \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a0ed0a825fe34005017ecaa322409b653}{nested\+\_\+end\+\_\+iterator}} = decltype(r.\+end())
\item 
using \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a4ad1793a529f0b95ae227fbd5466a641}{iterator}} = \mbox{\hyperlink{structkblib_1_1enumerate__iterator}{enumerate\+\_\+iterator}}$<$ \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a3c2ee598b8f601b5254f0ceaa9d6bf5f}{nested\+\_\+iterator}} $>$
\item 
using \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a6cfb32170b75e73e5bf2f3cef21a3415}{end\+\_\+iterator}} = \mbox{\hyperlink{structkblib_1_1enumerate__iterator}{enumerate\+\_\+iterator}}$<$ \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a0ed0a825fe34005017ecaa322409b653}{nested\+\_\+end\+\_\+iterator}} $>$
\item 
using \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a4c883faeb2db2d554f58371a4e0ad2c3}{nested\+\_\+const\+\_\+iterator}} = typename range\+\_\+t\+::const\+\_\+iterator
\item 
using \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a02c6424a7958cdb5068bafdce4d49bf7}{const\+\_\+iterator}} = \mbox{\hyperlink{structkblib_1_1enumerate__iterator}{enumerate\+\_\+iterator}}$<$ \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a4c883faeb2db2d554f58371a4e0ad2c3}{nested\+\_\+const\+\_\+iterator}} $>$
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
constexpr auto \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a9b59ebe1661222816bfbe1faea2f8f75}{begin}} () const \&noexcept(noexcept(r.\+cbegin())) -\/$>$ \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a02c6424a7958cdb5068bafdce4d49bf7}{const\+\_\+iterator}}
\item 
constexpr auto \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a67dc8e7927dda08a25b5e61323780b88}{begin}} () \&noexcept(noexcept(r.\+begin())) -\/$>$ \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a4ad1793a529f0b95ae227fbd5466a641}{iterator}}
\item 
constexpr auto \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a01433e2fb1737dca5a257ae2929536da}{end}} () const \&noexcept(noexcept(r.\+cend())) -\/$>$ \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a02c6424a7958cdb5068bafdce4d49bf7}{const\+\_\+iterator}}
\item 
constexpr auto \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_adfce2fd0ecef438641323983364cfbd6}{end}} () \&noexcept(noexcept(r.\+end())) -\/$>$ \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a6cfb32170b75e73e5bf2f3cef21a3415}{end\+\_\+iterator}}
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{namespacekblib_1_1detail_aca9cd901eb773c411961ea11739f3d40}{detail\+::no\+\_\+dangle\+\_\+t}}$<$ Range $>$ \mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_ae19fbdea36ebecfabb6a146a3813f020}{r}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Range$>$\newline
struct kblib\+::enumerate\+\_\+t$<$ Range, void $>$}
\begin{DoxyAuthor}{Author}
Tobias Widlund, killerbee 
\end{DoxyAuthor}
\begin{DoxyDate}{Date}
2018-\/2020 
\end{DoxyDate}
\begin{DoxyCopyright}{Copyright}
MIT license. 
\end{DoxyCopyright}


Definition at line \mbox{\hyperlink{enumerate-contrib-tw_8h_source_l00101}{101}} of file \mbox{\hyperlink{enumerate-contrib-tw_8h_source}{enumerate-\/contrib-\/tw.\+h}}.



\doxysubsection{Member Typedef Documentation}
\mbox{\Hypertarget{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a02c6424a7958cdb5068bafdce4d49bf7}\label{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a02c6424a7958cdb5068bafdce4d49bf7}} 
\index{kblib::enumerate\_t$<$ Range, void $>$@{kblib::enumerate\_t$<$ Range, void $>$}!const\_iterator@{const\_iterator}}
\index{const\_iterator@{const\_iterator}!kblib::enumerate\_t$<$ Range, void $>$@{kblib::enumerate\_t$<$ Range, void $>$}}
\doxysubsubsection{\texorpdfstring{const\_iterator}{const\_iterator}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
using \mbox{\hyperlink{structkblib_1_1enumerate__t}{kblib\+::enumerate\+\_\+t}}$<$ Range, void $>$\+::const\+\_\+iterator =  \mbox{\hyperlink{structkblib_1_1enumerate__iterator}{enumerate\+\_\+iterator}}$<$\mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a4c883faeb2db2d554f58371a4e0ad2c3}{nested\+\_\+const\+\_\+iterator}}$>$}



Definition at line \mbox{\hyperlink{enumerate-contrib-tw_8h_source_l00111}{111}} of file \mbox{\hyperlink{enumerate-contrib-tw_8h_source}{enumerate-\/contrib-\/tw.\+h}}.

\mbox{\Hypertarget{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a6cfb32170b75e73e5bf2f3cef21a3415}\label{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a6cfb32170b75e73e5bf2f3cef21a3415}} 
\index{kblib::enumerate\_t$<$ Range, void $>$@{kblib::enumerate\_t$<$ Range, void $>$}!end\_iterator@{end\_iterator}}
\index{end\_iterator@{end\_iterator}!kblib::enumerate\_t$<$ Range, void $>$@{kblib::enumerate\_t$<$ Range, void $>$}}
\doxysubsubsection{\texorpdfstring{end\_iterator}{end\_iterator}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
using \mbox{\hyperlink{structkblib_1_1enumerate__t}{kblib\+::enumerate\+\_\+t}}$<$ Range, void $>$\+::end\+\_\+iterator =  \mbox{\hyperlink{structkblib_1_1enumerate__iterator}{enumerate\+\_\+iterator}}$<$\mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a0ed0a825fe34005017ecaa322409b653}{nested\+\_\+end\+\_\+iterator}}$>$}



Definition at line \mbox{\hyperlink{enumerate-contrib-tw_8h_source_l00108}{108}} of file \mbox{\hyperlink{enumerate-contrib-tw_8h_source}{enumerate-\/contrib-\/tw.\+h}}.

\mbox{\Hypertarget{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a4ad1793a529f0b95ae227fbd5466a641}\label{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a4ad1793a529f0b95ae227fbd5466a641}} 
\index{kblib::enumerate\_t$<$ Range, void $>$@{kblib::enumerate\_t$<$ Range, void $>$}!iterator@{iterator}}
\index{iterator@{iterator}!kblib::enumerate\_t$<$ Range, void $>$@{kblib::enumerate\_t$<$ Range, void $>$}}
\doxysubsubsection{\texorpdfstring{iterator}{iterator}}
{\footnotesize\ttfamily template$<$typename Range $>$ \\
using \mbox{\hyperlink{structkblib_1_1enumerate__t}{kblib\+::enumerate\+\_\+t}}$<$ Range, void $>$\+::iterator =  \mbox{\hyperlink{structkblib_1_1enumerate__iterator}{enumerate\+\_\+iterator}}$<$\mbox{\hyperlink{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_a3c2ee598b8f601b5254f0ceaa9d6bf5f}{nested\+\_\+iterator}}$>$}



Definition at line \mbox{\hyperlink{enumerate-contrib-tw_8h_source_l00107}{107}} of file \mbox{\hyperlink{enumerate-contrib-tw_8h_source}{enumerate-\/contrib-\/tw.\+h}}.

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



Definition at line \mbox{\hyperlink{enumerate-contrib-tw_8h_source_l00110}{110}} of file \mbox{\hyperlink{enumerate-contrib-tw_8h_source}{enumerate-\/contrib-\/tw.\+h}}.

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



Definition at line \mbox{\hyperlink{enumerate-contrib-tw_8h_source_l00106}{106}} of file \mbox{\hyperlink{enumerate-contrib-tw_8h_source}{enumerate-\/contrib-\/tw.\+h}}.

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



Definition at line \mbox{\hyperlink{enumerate-contrib-tw_8h_source_l00105}{105}} of file \mbox{\hyperlink{enumerate-contrib-tw_8h_source}{enumerate-\/contrib-\/tw.\+h}}.

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



Definition at line \mbox{\hyperlink{enumerate-contrib-tw_8h_source_l00104}{104}} of file \mbox{\hyperlink{enumerate-contrib-tw_8h_source}{enumerate-\/contrib-\/tw.\+h}}.



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



Definition at line \mbox{\hyperlink{enumerate-contrib-tw_8h_source_l00117}{117}} of file \mbox{\hyperlink{enumerate-contrib-tw_8h_source}{enumerate-\/contrib-\/tw.\+h}}.

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



Definition at line \mbox{\hyperlink{enumerate-contrib-tw_8h_source_l00113}{113}} of file \mbox{\hyperlink{enumerate-contrib-tw_8h_source}{enumerate-\/contrib-\/tw.\+h}}.

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



Definition at line \mbox{\hyperlink{enumerate-contrib-tw_8h_source_l00124}{124}} of file \mbox{\hyperlink{enumerate-contrib-tw_8h_source}{enumerate-\/contrib-\/tw.\+h}}.

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



Definition at line \mbox{\hyperlink{enumerate-contrib-tw_8h_source_l00121}{121}} of file \mbox{\hyperlink{enumerate-contrib-tw_8h_source}{enumerate-\/contrib-\/tw.\+h}}.



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_ae19fbdea36ebecfabb6a146a3813f020}\label{structkblib_1_1enumerate__t_3_01_range_00_01void_01_4_ae19fbdea36ebecfabb6a146a3813f020}} 
\index{kblib::enumerate\_t$<$ Range, void $>$@{kblib::enumerate\_t$<$ Range, void $>$}!r@{r}}
\index{r@{r}!kblib::enumerate\_t$<$ Range, void $>$@{kblib::enumerate\_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{structkblib_1_1enumerate__t}{kblib\+::enumerate\+\_\+t}}$<$ Range, void $>$\+::r}



Definition at line \mbox{\hyperlink{enumerate-contrib-tw_8h_source_l00102}{102}} of file \mbox{\hyperlink{enumerate-contrib-tw_8h_source}{enumerate-\/contrib-\/tw.\+h}}.



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
kblib/\mbox{\hyperlink{enumerate-contrib-tw_8h}{enumerate-\/contrib-\/tw.\+h}}\end{DoxyCompactItemize}
