\hypertarget{struct_k_b_l_i_b___n_s_1_1indirect__range}{}\doxysection{KBLIB\+\_\+\+NS\+::indirect\+\_\+range\texorpdfstring{$<$}{<} Iter1, Iter2 \texorpdfstring{$>$}{>} Struct Template Reference}
\label{struct_k_b_l_i_b___n_s_1_1indirect__range}\index{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::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{struct_k_b_l_i_b___n_s_1_1indirect__range_acb0101bed48609d7be1f59d2b68009e7}{value\+\_\+type}} = decltype($\ast$\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range_a5f519f801062480e0aeebd55c696a240}{begin\+\_\+}})
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range_a73b738b87ba9ea8a95e5622fb931fc67}{begin}} () const noexcept -\/$>$ Iter1
\item 
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range_ae6d4a8ab9e18c584c999f6bbf1118e1c}{end}} () const noexcept -\/$>$ Iter2
\item 
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range_af427e7cdec0ba8a245e09b93386105e4}{rbegin}} () const noexcept -\/$>$ auto
\item 
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range_a2b36383536e1bd6e6f2cf5ee526d4fc2}{rend}} () const noexcept -\/$>$ auto
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
Iter1 \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range_a5f519f801062480e0aeebd55c696a240}{begin\+\_\+}}
\item 
Iter2 \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range_a3a592d4c7cb126f3ccb11637add88c56}{end\+\_\+}}
\end{DoxyCompactItemize}
\doxysubsection*{Friends}
\begin{DoxyCompactItemize}
\item 
constexpr friend auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range_a0b9dfb07c7b3c219e120e02ca542fa08}{begin}} (const \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range}{indirect\+\_\+range}} \&r) noexcept -\/$>$ Iter1
\item 
constexpr friend auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range_a36b0e0282de329a9e368aaf422a0dd0b}{end}} (const \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range}{indirect\+\_\+range}} \&r) noexcept -\/$>$ Iter2
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Iter1, typename Iter2$>$\newline
struct KBLIB\+\_\+\+NS\+::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{struct_k_b_l_i_b___n_s_1_1indirect__range_acb0101bed48609d7be1f59d2b68009e7}\label{struct_k_b_l_i_b___n_s_1_1indirect__range_acb0101bed48609d7be1f59d2b68009e7}} 
\index{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$}!value\_type@{value\_type}}
\index{value\_type@{value\_type}!KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$}}
\doxysubsubsection{\texorpdfstring{value\_type}{value\_type}}
{\footnotesize\ttfamily template$<$typename Iter1 , typename Iter2 $>$ \\
using \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range}{KBLIB\+\_\+\+NS\+::indirect\+\_\+range}}$<$ Iter1, Iter2 $>$\+::value\+\_\+type =  decltype($\ast$\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range_a5f519f801062480e0aeebd55c696a240}{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{struct_k_b_l_i_b___n_s_1_1indirect__range_a73b738b87ba9ea8a95e5622fb931fc67}\label{struct_k_b_l_i_b___n_s_1_1indirect__range_a73b738b87ba9ea8a95e5622fb931fc67}} 
\index{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$}!begin@{begin}}
\index{begin@{begin}!KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$}}
\doxysubsubsection{\texorpdfstring{begin()}{begin()}}
{\footnotesize\ttfamily template$<$typename Iter1 , typename Iter2 $>$ \\
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range}{KBLIB\+\_\+\+NS\+::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{struct_k_b_l_i_b___n_s_1_1indirect__range_ae6d4a8ab9e18c584c999f6bbf1118e1c}\label{struct_k_b_l_i_b___n_s_1_1indirect__range_ae6d4a8ab9e18c584c999f6bbf1118e1c}} 
\index{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$}!end@{end}}
\index{end@{end}!KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$}}
\doxysubsubsection{\texorpdfstring{end()}{end()}}
{\footnotesize\ttfamily template$<$typename Iter1 , typename Iter2 $>$ \\
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range}{KBLIB\+\_\+\+NS\+::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{struct_k_b_l_i_b___n_s_1_1indirect__range_af427e7cdec0ba8a245e09b93386105e4}\label{struct_k_b_l_i_b___n_s_1_1indirect__range_af427e7cdec0ba8a245e09b93386105e4}} 
\index{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$}!rbegin@{rbegin}}
\index{rbegin@{rbegin}!KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$}}
\doxysubsubsection{\texorpdfstring{rbegin()}{rbegin()}}
{\footnotesize\ttfamily template$<$typename Iter1 , typename Iter2 $>$ \\
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range}{KBLIB\+\_\+\+NS\+::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{struct_k_b_l_i_b___n_s_1_1indirect__range_a2b36383536e1bd6e6f2cf5ee526d4fc2}\label{struct_k_b_l_i_b___n_s_1_1indirect__range_a2b36383536e1bd6e6f2cf5ee526d4fc2}} 
\index{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$}!rend@{rend}}
\index{rend@{rend}!KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$}}
\doxysubsubsection{\texorpdfstring{rend()}{rend()}}
{\footnotesize\ttfamily template$<$typename Iter1 , typename Iter2 $>$ \\
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range}{KBLIB\+\_\+\+NS\+::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{struct_k_b_l_i_b___n_s_1_1indirect__range_a0b9dfb07c7b3c219e120e02ca542fa08}\label{struct_k_b_l_i_b___n_s_1_1indirect__range_a0b9dfb07c7b3c219e120e02ca542fa08}} 
\index{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$}!begin@{begin}}
\index{begin@{begin}!KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::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{struct_k_b_l_i_b___n_s_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{struct_k_b_l_i_b___n_s_1_1indirect__range_a36b0e0282de329a9e368aaf422a0dd0b}\label{struct_k_b_l_i_b___n_s_1_1indirect__range_a36b0e0282de329a9e368aaf422a0dd0b}} 
\index{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$}!end@{end}}
\index{end@{end}!KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::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{struct_k_b_l_i_b___n_s_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{struct_k_b_l_i_b___n_s_1_1indirect__range_a5f519f801062480e0aeebd55c696a240}\label{struct_k_b_l_i_b___n_s_1_1indirect__range_a5f519f801062480e0aeebd55c696a240}} 
\index{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$}!begin\_@{begin\_}}
\index{begin\_@{begin\_}!KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$}}
\doxysubsubsection{\texorpdfstring{begin\_}{begin\_}}
{\footnotesize\ttfamily template$<$typename Iter1 , typename Iter2 $>$ \\
Iter1 \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range}{KBLIB\+\_\+\+NS\+::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{struct_k_b_l_i_b___n_s_1_1indirect__range_a3a592d4c7cb126f3ccb11637add88c56}\label{struct_k_b_l_i_b___n_s_1_1indirect__range_a3a592d4c7cb126f3ccb11637add88c56}} 
\index{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$}!end\_@{end\_}}
\index{end\_@{end\_}!KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$@{KBLIB\_NS::indirect\_range$<$ Iter1, Iter2 $>$}}
\doxysubsubsection{\texorpdfstring{end\_}{end\_}}
{\footnotesize\ttfamily template$<$typename Iter1 , typename Iter2 $>$ \\
Iter2 \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1indirect__range}{KBLIB\+\_\+\+NS\+::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}
