\hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{}\doxysection{KBLIB\+\_\+\+NS\+::range\+\_\+t\texorpdfstring{$<$}{<} Value, Delta \texorpdfstring{$>$}{>}\+::iterator Struct Reference} \label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}\index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} A helper struct which acts as an iterator for the range elements, as they are generated on the fly. {\ttfamily \#include $<$kblib/iterators.\+h$>$} \doxysubsection*{Public Types} \begin{DoxyCompactItemize} \item using \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_ac1f5fbef6fbd6e0aa2f901f37034ac28}{difference\+\_\+type}} = std\+::ptrdiff\+\_\+t \item using \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a7ef4708eb2cf747f57283c935535621d}{value\+\_\+type}} = Value \item using \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_accd6c91fd638d2904fb3a12d34978d1e}{pointer}} = const Value $\ast$ \item using \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a8443bebbf5bc86221af77521d0d4082d}{reference}} = Value \item using \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_ad58ff0940e7768ed30effa6d0eb14fc4}{iterator\+\_\+category}} = std\+::input\+\_\+iterator\+\_\+tag \end{DoxyCompactItemize} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a214bb3451ebf716d71d547344e3b4b61}{operator$\ast$}} () const noexcept(nothrow\+\_\+copyable) -\/$>$ Value \begin{DoxyCompactList}\small\item\em Return the \char`\"{}pointed-\/to\char`\"{} value. \end{DoxyCompactList}\item constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a057299e2b622b6c14d2ae6dfa20af74e}{operator-\/$>$}} () const noexcept -\/$>$ \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_accd6c91fd638d2904fb3a12d34978d1e}{pointer}} \begin{DoxyCompactList}\small\item\em Return a pointer to the value. \end{DoxyCompactList}\item constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a0765e94044c9c2496ae251be3a7ee91e}{operator++}} () \&noexcept(nothrow\+\_\+steppable) -\/$>$ \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}} \& \begin{DoxyCompactList}\small\item\em Prefix increment. Advance to the next value in the range. \end{DoxyCompactList}\item constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a4b8cb51b264c35faf2c096f1f1450e19}{operator++}} (int) noexcept(nothrow\+\_\+steppable) -\/$>$ \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}} \begin{DoxyCompactList}\small\item\em Postfix increment. Advance to the next value in the range, but return the current value. \end{DoxyCompactList}\item constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_aedd06216c5ac2ca2813f87ede77c12f9}{operator\mbox{[}$\,$\mbox{]}}} (std\+::ptrdiff\+\_\+t x) const noexcept -\/$>$ Value \item {\footnotesize template$<$typename Integral $>$ }\\constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_afa0fbdac2d98f931e619ae729e07a9b2}{operator\mbox{[}$\,$\mbox{]}}} (Integral x) const noexcept -\/$>$ Value \end{DoxyCompactItemize} \doxysubsection*{Public Attributes} \begin{DoxyCompactItemize} \item Value \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_acf40ee74ea7b2bab2a5da5a06a66266d}{val}} \item Delta \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a6791ef1d75f5233b2f93c29d94174783}{step}} \end{DoxyCompactItemize} \doxysubsection*{Friends} \begin{DoxyCompactItemize} \item constexpr friend auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_ae3414fe5601b97423c7c90b08f393ab6}{operator==}} (\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}} l, \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}} r) noexcept -\/$>$ bool \begin{DoxyCompactList}\small\item\em Compare two range iterators for equality. \end{DoxyCompactList}\item constexpr friend auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a316eeb0da30d5d2e13e4f74535642c9e}{operator!=}} (\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}} l, \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}} r) noexcept -\/$>$ bool \begin{DoxyCompactList}\small\item\em Compare two range iterators for inequality. \end{DoxyCompactList}\item constexpr friend auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a34aba56ce509f4dfa3cf37b8a8de7f4b}{operator$<$}} (\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}} l, \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}} r) noexcept -\/$>$ bool \begin{DoxyCompactList}\small\item\em Compare two range iterators. \end{DoxyCompactList}\item constexpr friend auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a71a14c52ef5888860d2f4886e772e570}{operator$<$=}} (\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}} l, \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}} r) noexcept -\/$>$ bool \begin{DoxyCompactList}\small\item\em Compare two range iterators. \end{DoxyCompactList}\item constexpr friend auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a24fcdc24ff283706e475458b78987beb}{operator$>$}} (\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}} l, \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}} r) noexcept -\/$>$ bool \begin{DoxyCompactList}\small\item\em Compare two range iterators. \end{DoxyCompactList}\item constexpr friend auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a574d1c5a42025e001b54abb21ce3a2ba}{operator$>$=}} (\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}} l, \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}} r) noexcept -\/$>$ bool \begin{DoxyCompactList}\small\item\em Compare two range iterators. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Detailed Description} \subsubsection*{template$<$typename Value, typename Delta$>$\newline struct KBLIB\+\_\+\+NS\+::range\+\_\+t$<$ Value, Delta $>$\+::iterator} A helper struct which acts as an iterator for the range elements, as they are generated on the fly. Definition at line \mbox{\hyperlink{iterators_8h_source_l00259}{259}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \doxysubsection{Member Typedef Documentation} \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_ac1f5fbef6fbd6e0aa2f901f37034ac28}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_ac1f5fbef6fbd6e0aa2f901f37034ac28}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!difference\_type@{difference\_type}} \index{difference\_type@{difference\_type}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{difference\_type}{difference\_type}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ using \mbox{\hyperlink{class_k_b_l_i_b___n_s_1_1range__t}{KBLIB\+\_\+\+NS\+::range\+\_\+t}}$<$ Value, Delta $>$\+::iterator\+::difference\+\_\+type = std\+::ptrdiff\+\_\+t} Definition at line \mbox{\hyperlink{iterators_8h_source_l00263}{263}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_ad58ff0940e7768ed30effa6d0eb14fc4}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_ad58ff0940e7768ed30effa6d0eb14fc4}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!iterator\_category@{iterator\_category}} \index{iterator\_category@{iterator\_category}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{iterator\_category}{iterator\_category}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ using \mbox{\hyperlink{class_k_b_l_i_b___n_s_1_1range__t}{KBLIB\+\_\+\+NS\+::range\+\_\+t}}$<$ Value, Delta $>$\+::iterator\+::iterator\+\_\+category = std\+::input\+\_\+iterator\+\_\+tag} Definition at line \mbox{\hyperlink{iterators_8h_source_l00267}{267}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_accd6c91fd638d2904fb3a12d34978d1e}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_accd6c91fd638d2904fb3a12d34978d1e}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!pointer@{pointer}} \index{pointer@{pointer}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{pointer}{pointer}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ using \mbox{\hyperlink{class_k_b_l_i_b___n_s_1_1range__t}{KBLIB\+\_\+\+NS\+::range\+\_\+t}}$<$ Value, Delta $>$\+::iterator\+::pointer = const Value$\ast$} Definition at line \mbox{\hyperlink{iterators_8h_source_l00265}{265}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a8443bebbf5bc86221af77521d0d4082d}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a8443bebbf5bc86221af77521d0d4082d}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!reference@{reference}} \index{reference@{reference}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{reference}{reference}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ using \mbox{\hyperlink{class_k_b_l_i_b___n_s_1_1range__t}{KBLIB\+\_\+\+NS\+::range\+\_\+t}}$<$ Value, Delta $>$\+::iterator\+::reference = Value} Definition at line \mbox{\hyperlink{iterators_8h_source_l00266}{266}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a7ef4708eb2cf747f57283c935535621d}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a7ef4708eb2cf747f57283c935535621d}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!value\_type@{value\_type}} \index{value\_type@{value\_type}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{value\_type}{value\_type}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ using \mbox{\hyperlink{class_k_b_l_i_b___n_s_1_1range__t}{KBLIB\+\_\+\+NS\+::range\+\_\+t}}$<$ Value, Delta $>$\+::iterator\+::value\+\_\+type = Value} Definition at line \mbox{\hyperlink{iterators_8h_source_l00264}{264}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a214bb3451ebf716d71d547344e3b4b61}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a214bb3451ebf716d71d547344e3b4b61}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!operator$\ast$@{operator$\ast$}} \index{operator$\ast$@{operator$\ast$}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{operator$\ast$()}{operator*()}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ constexpr auto \mbox{\hyperlink{class_k_b_l_i_b___n_s_1_1range__t}{KBLIB\+\_\+\+NS\+::range\+\_\+t}}$<$ Value, Delta $>$\+::iterator\+::operator$\ast$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const -\/$>$ Value \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}} Return the \char`\"{}pointed-\/to\char`\"{} value. \begin{DoxyReturn}{Returns} Value The value in the range this iterator corresponds to. \end{DoxyReturn} Definition at line \mbox{\hyperlink{iterators_8h_source_l00274}{274}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a0765e94044c9c2496ae251be3a7ee91e}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a0765e94044c9c2496ae251be3a7ee91e}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!operator++@{operator++}} \index{operator++@{operator++}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{operator++()}{operator++()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ constexpr auto \mbox{\hyperlink{class_k_b_l_i_b___n_s_1_1range__t}{KBLIB\+\_\+\+NS\+::range\+\_\+t}}$<$ Value, Delta $>$\+::iterator\+::operator++ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \& -\/$>$ \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}}\& \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}} Prefix increment. Advance to the next value in the range. \begin{DoxyReturn}{Returns} iterator\& $\ast$this. \end{DoxyReturn} Definition at line \mbox{\hyperlink{iterators_8h_source_l00289}{289}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a4b8cb51b264c35faf2c096f1f1450e19}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a4b8cb51b264c35faf2c096f1f1450e19}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!operator++@{operator++}} \index{operator++@{operator++}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{operator++()}{operator++()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ constexpr auto \mbox{\hyperlink{class_k_b_l_i_b___n_s_1_1range__t}{KBLIB\+\_\+\+NS\+::range\+\_\+t}}$<$ Value, Delta $>$\+::iterator\+::operator++ (\begin{DoxyParamCaption}\item[{int}]{ }\end{DoxyParamCaption}) -\/$>$ \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}} \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}} Postfix increment. Advance to the next value in the range, but return the current value. \begin{DoxyReturn}{Returns} iterator A copy of the pre-\/incrementing value of $\ast$this. \end{DoxyReturn} Definition at line \mbox{\hyperlink{iterators_8h_source_l00299}{299}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a057299e2b622b6c14d2ae6dfa20af74e}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a057299e2b622b6c14d2ae6dfa20af74e}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!operator-\/$>$@{operator-\/$>$}} \index{operator-\/$>$@{operator-\/$>$}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{operator-\/$>$()}{operator->()}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ constexpr auto \mbox{\hyperlink{class_k_b_l_i_b___n_s_1_1range__t}{KBLIB\+\_\+\+NS\+::range\+\_\+t}}$<$ Value, Delta $>$\+::iterator\+::operator-\/$>$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const -\/$>$ \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_accd6c91fd638d2904fb3a12d34978d1e}{pointer}} \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}} Return a pointer to the value. \begin{DoxyReturn}{Returns} pointer A pointer to a value equivalent to $\ast$($\ast$this). Valid until the iterator is modified in any way or destroyed. \end{DoxyReturn} Definition at line \mbox{\hyperlink{iterators_8h_source_l00283}{283}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_afa0fbdac2d98f931e619ae729e07a9b2}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_afa0fbdac2d98f931e619ae729e07a9b2}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!operator\mbox{[}\mbox{]}@{operator[]}} \index{operator\mbox{[}\mbox{]}@{operator[]}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ template$<$typename Integral $>$ \\ constexpr auto \mbox{\hyperlink{class_k_b_l_i_b___n_s_1_1range__t}{KBLIB\+\_\+\+NS\+::range\+\_\+t}}$<$ Value, Delta $>$\+::iterator\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{Integral}]{x }\end{DoxyParamCaption}) const -\/$>$ Value \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{iterators_8h_source_l00369}{369}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_aedd06216c5ac2ca2813f87ede77c12f9}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_aedd06216c5ac2ca2813f87ede77c12f9}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!operator\mbox{[}\mbox{]}@{operator[]}} \index{operator\mbox{[}\mbox{]}@{operator[]}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ constexpr auto \mbox{\hyperlink{class_k_b_l_i_b___n_s_1_1range__t}{KBLIB\+\_\+\+NS\+::range\+\_\+t}}$<$ Value, Delta $>$\+::iterator\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{std\+::ptrdiff\+\_\+t}]{x }\end{DoxyParamCaption}) const -\/$>$ Value \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{iterators_8h_source_l00365}{365}} 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_1range__t_1_1iterator_a316eeb0da30d5d2e13e4f74535642c9e}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a316eeb0da30d5d2e13e4f74535642c9e}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!operator"!=@{operator"!=}} \index{operator"!=@{operator"!=}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{operator"!=}{operator!=}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ constexpr friend auto operator!= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}}}]{l, }\item[{\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}}}]{r }\end{DoxyParamCaption}) -\/$>$ bool \hspace{0.3cm}{\ttfamily [friend]}} Compare two range iterators for inequality. Range iterators compare equal if they point to the same value and have the same step. Definition at line \mbox{\hyperlink{iterators_8h_source_l00320}{320}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a34aba56ce509f4dfa3cf37b8a8de7f4b}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a34aba56ce509f4dfa3cf37b8a8de7f4b}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!operator$<$@{operator$<$}} \index{operator$<$@{operator$<$}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{operator$<$}{operator<}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ constexpr friend auto operator$<$ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}}}]{l, }\item[{\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}}}]{r }\end{DoxyParamCaption}) -\/$>$ bool \hspace{0.3cm}{\ttfamily [friend]}} Compare two range iterators. For range iterators, (A \texorpdfstring{$<$}{<} B) is true when A can be advanced until ($\ast$A -\/ $\ast$B) changes sign. Definition at line \mbox{\hyperlink{iterators_8h_source_l00330}{330}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a71a14c52ef5888860d2f4886e772e570}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a71a14c52ef5888860d2f4886e772e570}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!operator$<$=@{operator$<$=}} \index{operator$<$=@{operator$<$=}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{operator$<$=}{operator<=}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ constexpr friend auto operator$<$= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}}}]{l, }\item[{\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}}}]{r }\end{DoxyParamCaption}) -\/$>$ bool \hspace{0.3cm}{\ttfamily [friend]}} Compare two range iterators. For range iterators, (A \texorpdfstring{$<$}{<} B) is true when A can be advanced until ($\ast$A -\/ $\ast$B) changes sign. Definition at line \mbox{\hyperlink{iterators_8h_source_l00342}{342}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_ae3414fe5601b97423c7c90b08f393ab6}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_ae3414fe5601b97423c7c90b08f393ab6}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!operator==@{operator==}} \index{operator==@{operator==}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{operator==}{operator==}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ constexpr friend auto operator== (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}}}]{l, }\item[{\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}}}]{r }\end{DoxyParamCaption}) -\/$>$ bool \hspace{0.3cm}{\ttfamily [friend]}} Compare two range iterators for equality. Range iterators compare equal if they point to the same value and have the same step. Definition at line \mbox{\hyperlink{iterators_8h_source_l00310}{310}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a24fcdc24ff283706e475458b78987beb}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a24fcdc24ff283706e475458b78987beb}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!operator$>$@{operator$>$}} \index{operator$>$@{operator$>$}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{operator$>$}{operator>}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ constexpr friend auto operator$>$ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}}}]{l, }\item[{\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}}}]{r }\end{DoxyParamCaption}) -\/$>$ bool \hspace{0.3cm}{\ttfamily [friend]}} Compare two range iterators. For range iterators, (A \texorpdfstring{$<$}{<} B) is true when A can be advanced until ($\ast$A -\/ $\ast$B) changes sign. Definition at line \mbox{\hyperlink{iterators_8h_source_l00352}{352}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a574d1c5a42025e001b54abb21ce3a2ba}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a574d1c5a42025e001b54abb21ce3a2ba}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!operator$>$=@{operator$>$=}} \index{operator$>$=@{operator$>$=}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{operator$>$=}{operator>=}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ constexpr friend auto operator$>$= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}}}]{l, }\item[{\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator}{iterator}}}]{r }\end{DoxyParamCaption}) -\/$>$ bool \hspace{0.3cm}{\ttfamily [friend]}} Compare two range iterators. For range iterators, (A \texorpdfstring{$<$}{<} B) is true when A can be advanced until ($\ast$A -\/ $\ast$B) changes sign. Definition at line \mbox{\hyperlink{iterators_8h_source_l00361}{361}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \doxysubsection{Member Data Documentation} \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a6791ef1d75f5233b2f93c29d94174783}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_a6791ef1d75f5233b2f93c29d94174783}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!step@{step}} \index{step@{step}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{step}{step}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ Delta \mbox{\hyperlink{class_k_b_l_i_b___n_s_1_1range__t}{KBLIB\+\_\+\+NS\+::range\+\_\+t}}$<$ Value, Delta $>$\+::iterator\+::step} Definition at line \mbox{\hyperlink{iterators_8h_source_l00261}{261}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}. \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_acf40ee74ea7b2bab2a5da5a06a66266d}\label{struct_k_b_l_i_b___n_s_1_1range__t_1_1iterator_acf40ee74ea7b2bab2a5da5a06a66266d}} \index{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}!val@{val}} \index{val@{val}!KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator@{KBLIB\_NS::range\_t$<$ Value, Delta $>$::iterator}} \doxysubsubsection{\texorpdfstring{val}{val}} {\footnotesize\ttfamily template$<$typename Value , typename Delta $>$ \\ Value \mbox{\hyperlink{class_k_b_l_i_b___n_s_1_1range__t}{KBLIB\+\_\+\+NS\+::range\+\_\+t}}$<$ Value, Delta $>$\+::iterator\+::val} Definition at line \mbox{\hyperlink{iterators_8h_source_l00260}{260}} 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}