\hypertarget{structkblib_1_1indirect__range}{}\doxysection{kblib\+::indirect\+\_\+range\texorpdfstring{$<$}{<} Iter1, Iter2 \texorpdfstring{$>$}{>} Struct Template Reference}
\label{structkblib_1_1indirect__range}\index{kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}}


Allow range-\/for iteration of an iterator pair.  




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

\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
using \mbox{\hyperlink{structkblib_1_1indirect__range_a26edfee8ca72bfd7ffe206b6ebaf1470}{value\+\_\+type}} = decltype($\ast$\mbox{\hyperlink{structkblib_1_1indirect__range_ae8a6b6587d1bee513210907f3711c2ed}{begin\+\_\+}})
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
constexpr auto \mbox{\hyperlink{structkblib_1_1indirect__range_a6318194ec2d7ce22bda135ebc5148ccf}{begin}} () const noexcept -\/$>$ Iter1
\item 
constexpr auto \mbox{\hyperlink{structkblib_1_1indirect__range_ac40e4c1e0297d4784d6c939932386fb5}{end}} () const noexcept -\/$>$ Iter2
\item 
constexpr auto \mbox{\hyperlink{structkblib_1_1indirect__range_aeb42ed53296b44c639eafe6bf6e5d8f2}{rbegin}} () const noexcept -\/$>$ auto
\item 
constexpr auto \mbox{\hyperlink{structkblib_1_1indirect__range_a0b93a671559bc813f930df8acf39654d}{rend}} () const noexcept -\/$>$ auto
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
Iter1 \mbox{\hyperlink{structkblib_1_1indirect__range_ae8a6b6587d1bee513210907f3711c2ed}{begin\+\_\+}}
\item 
Iter2 \mbox{\hyperlink{structkblib_1_1indirect__range_a48c8a5f1dfb8cfe5f93419bad0a8bd2c}{end\+\_\+}}
\end{DoxyCompactItemize}
\doxysubsection*{Friends}
\begin{DoxyCompactItemize}
\item 
constexpr friend auto \mbox{\hyperlink{structkblib_1_1indirect__range_a0b9dfb07c7b3c219e120e02ca542fa08}{begin}} (const \mbox{\hyperlink{structkblib_1_1indirect__range}{indirect\+\_\+range}} \&r) noexcept -\/$>$ Iter1
\item 
constexpr friend auto \mbox{\hyperlink{structkblib_1_1indirect__range_a36b0e0282de329a9e368aaf422a0dd0b}{end}} (const \mbox{\hyperlink{structkblib_1_1indirect__range}{indirect\+\_\+range}} \&r) noexcept -\/$>$ Iter2
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Iter1, typename Iter2$>$\newline
struct kblib\+::indirect\+\_\+range$<$ Iter1, Iter2 $>$}
Allow range-\/for iteration of an iterator pair. 

Definition at line \mbox{\hyperlink{iterators_8h_source_l01030}{1030}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.



\doxysubsection{Member Typedef Documentation}
\mbox{\Hypertarget{structkblib_1_1indirect__range_a26edfee8ca72bfd7ffe206b6ebaf1470}\label{structkblib_1_1indirect__range_a26edfee8ca72bfd7ffe206b6ebaf1470}} 
\index{kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}!value\_type@{value\_type}}
\index{value\_type@{value\_type}!kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}}
\doxysubsubsection{\texorpdfstring{value\_type}{value\_type}}
{\footnotesize\ttfamily template$<$typename Iter1 , typename Iter2 $>$ \\
using \mbox{\hyperlink{structkblib_1_1indirect__range}{kblib\+::indirect\+\_\+range}}$<$ Iter1, Iter2 $>$\+::value\+\_\+type =  decltype($\ast$\mbox{\hyperlink{structkblib_1_1indirect__range_ae8a6b6587d1bee513210907f3711c2ed}{begin\+\_\+}})}



Definition at line \mbox{\hyperlink{iterators_8h_source_l01034}{1034}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{structkblib_1_1indirect__range_a6318194ec2d7ce22bda135ebc5148ccf}\label{structkblib_1_1indirect__range_a6318194ec2d7ce22bda135ebc5148ccf}} 
\index{kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}!begin@{begin}}
\index{begin@{begin}!kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}}
\doxysubsubsection{\texorpdfstring{begin()}{begin()}}
{\footnotesize\ttfamily template$<$typename Iter1 , typename Iter2 $>$ \\
constexpr auto \mbox{\hyperlink{structkblib_1_1indirect__range}{kblib\+::indirect\+\_\+range}}$<$ Iter1, Iter2 $>$\+::begin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const -\/$>$ Iter1 \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{iterators_8h_source_l01036}{1036}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.

\mbox{\Hypertarget{structkblib_1_1indirect__range_ac40e4c1e0297d4784d6c939932386fb5}\label{structkblib_1_1indirect__range_ac40e4c1e0297d4784d6c939932386fb5}} 
\index{kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}!end@{end}}
\index{end@{end}!kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}}
\doxysubsubsection{\texorpdfstring{end()}{end()}}
{\footnotesize\ttfamily template$<$typename Iter1 , typename Iter2 $>$ \\
constexpr auto \mbox{\hyperlink{structkblib_1_1indirect__range}{kblib\+::indirect\+\_\+range}}$<$ Iter1, Iter2 $>$\+::end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const -\/$>$ Iter2 \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{iterators_8h_source_l01037}{1037}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.

\mbox{\Hypertarget{structkblib_1_1indirect__range_aeb42ed53296b44c639eafe6bf6e5d8f2}\label{structkblib_1_1indirect__range_aeb42ed53296b44c639eafe6bf6e5d8f2}} 
\index{kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}!rbegin@{rbegin}}
\index{rbegin@{rbegin}!kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}}
\doxysubsubsection{\texorpdfstring{rbegin()}{rbegin()}}
{\footnotesize\ttfamily template$<$typename Iter1 , typename Iter2 $>$ \\
constexpr auto \mbox{\hyperlink{structkblib_1_1indirect__range}{kblib\+::indirect\+\_\+range}}$<$ Iter1, Iter2 $>$\+::rbegin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const -\/$>$ auto \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{iterators_8h_source_l01038}{1038}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.

\mbox{\Hypertarget{structkblib_1_1indirect__range_a0b93a671559bc813f930df8acf39654d}\label{structkblib_1_1indirect__range_a0b93a671559bc813f930df8acf39654d}} 
\index{kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}!rend@{rend}}
\index{rend@{rend}!kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}}
\doxysubsubsection{\texorpdfstring{rend()}{rend()}}
{\footnotesize\ttfamily template$<$typename Iter1 , typename Iter2 $>$ \\
constexpr auto \mbox{\hyperlink{structkblib_1_1indirect__range}{kblib\+::indirect\+\_\+range}}$<$ Iter1, Iter2 $>$\+::rend (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const -\/$>$ auto \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{iterators_8h_source_l01041}{1041}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.



\doxysubsection{Friends And Related Function Documentation}
\mbox{\Hypertarget{structkblib_1_1indirect__range_a0b9dfb07c7b3c219e120e02ca542fa08}\label{structkblib_1_1indirect__range_a0b9dfb07c7b3c219e120e02ca542fa08}} 
\index{kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}!begin@{begin}}
\index{begin@{begin}!kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}}
\doxysubsubsection{\texorpdfstring{begin}{begin}}
{\footnotesize\ttfamily template$<$typename Iter1 , typename Iter2 $>$ \\
constexpr friend auto begin (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structkblib_1_1indirect__range}{indirect\+\_\+range}}$<$ Iter1, Iter2 $>$ \&}]{r }\end{DoxyParamCaption}) -\/$>$ Iter1 \hspace{0.3cm}{\ttfamily [friend]}}



Definition at line \mbox{\hyperlink{iterators_8h_source_l01045}{1045}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.

\mbox{\Hypertarget{structkblib_1_1indirect__range_a36b0e0282de329a9e368aaf422a0dd0b}\label{structkblib_1_1indirect__range_a36b0e0282de329a9e368aaf422a0dd0b}} 
\index{kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}!end@{end}}
\index{end@{end}!kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}}
\doxysubsubsection{\texorpdfstring{end}{end}}
{\footnotesize\ttfamily template$<$typename Iter1 , typename Iter2 $>$ \\
constexpr friend auto end (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structkblib_1_1indirect__range}{indirect\+\_\+range}}$<$ Iter1, Iter2 $>$ \&}]{r }\end{DoxyParamCaption}) -\/$>$ Iter2 \hspace{0.3cm}{\ttfamily [friend]}}



Definition at line \mbox{\hyperlink{iterators_8h_source_l01048}{1048}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{structkblib_1_1indirect__range_ae8a6b6587d1bee513210907f3711c2ed}\label{structkblib_1_1indirect__range_ae8a6b6587d1bee513210907f3711c2ed}} 
\index{kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}!begin\_@{begin\_}}
\index{begin\_@{begin\_}!kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}}
\doxysubsubsection{\texorpdfstring{begin\_}{begin\_}}
{\footnotesize\ttfamily template$<$typename Iter1 , typename Iter2 $>$ \\
Iter1 \mbox{\hyperlink{structkblib_1_1indirect__range}{kblib\+::indirect\+\_\+range}}$<$ Iter1, Iter2 $>$\+::begin\+\_\+}



Definition at line \mbox{\hyperlink{iterators_8h_source_l01031}{1031}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.

\mbox{\Hypertarget{structkblib_1_1indirect__range_a48c8a5f1dfb8cfe5f93419bad0a8bd2c}\label{structkblib_1_1indirect__range_a48c8a5f1dfb8cfe5f93419bad0a8bd2c}} 
\index{kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}!end\_@{end\_}}
\index{end\_@{end\_}!kblib::indirect\_range$<$ Iter1, Iter2 $>$@{kblib::indirect\_range$<$ Iter1, Iter2 $>$}}
\doxysubsubsection{\texorpdfstring{end\_}{end\_}}
{\footnotesize\ttfamily template$<$typename Iter1 , typename Iter2 $>$ \\
Iter2 \mbox{\hyperlink{structkblib_1_1indirect__range}{kblib\+::indirect\+\_\+range}}$<$ Iter1, Iter2 $>$\+::end\+\_\+}



Definition at line \mbox{\hyperlink{iterators_8h_source_l01032}{1032}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.



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