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