\hypertarget{struct_k_b_l_i_b___n_s_1_1decrementer}{}\doxysection{KBLIB\+\_\+\+NS\+::decrementer Struct Reference}
\label{struct_k_b_l_i_b___n_s_1_1decrementer}\index{KBLIB\_NS::decrementer@{KBLIB\_NS::decrementer}}


A struct which decrements anything it is added to. Suitable for use as a Delta type for \mbox{\hyperlink{class_k_b_l_i_b___n_s_1_1range__t}{range\+\_\+t}}.  




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

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
constexpr \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1decrementer_ac16d3e03daba775bc03d60804127e4a2}{decrementer}} () noexcept=default
\item 
constexpr \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1decrementer_a0c6b1faedb657c28109666b61dcaf2ca}{decrementer}} (int) noexcept
\item 
constexpr \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1decrementer_add260b2ea30e21dd55fb7a714d9c33be}{operator int}} () const noexcept
\item 
{\footnotesize template$<$typename T $>$ }\\constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1decrementer_a6e8f3b7ca80581e91c664b9e2a3e8614}{operator()}} (T \&t) -\/$>$ T \&
\end{DoxyCompactItemize}
\doxysubsection*{Friends}
\begin{DoxyCompactItemize}
\item 
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1decrementer_a2bd9f4a70b2024ae47fe726eedb33faf}{operator$\ast$}} (std\+::ptrdiff\+\_\+t x, \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1decrementer}{decrementer}})
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
A struct which decrements anything it is added to. Suitable for use as a Delta type for \mbox{\hyperlink{class_k_b_l_i_b___n_s_1_1range__t}{range\+\_\+t}}. 

Definition at line \mbox{\hyperlink{iterators_8h_source_l00589}{589}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.



\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1decrementer_ac16d3e03daba775bc03d60804127e4a2}\label{struct_k_b_l_i_b___n_s_1_1decrementer_ac16d3e03daba775bc03d60804127e4a2}} 
\index{KBLIB\_NS::decrementer@{KBLIB\_NS::decrementer}!decrementer@{decrementer}}
\index{decrementer@{decrementer}!KBLIB\_NS::decrementer@{KBLIB\_NS::decrementer}}
\doxysubsubsection{\texorpdfstring{decrementer()}{decrementer()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily constexpr KBLIB\+\_\+\+NS\+::decrementer\+::decrementer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [constexpr]}, {\ttfamily [default]}, {\ttfamily [noexcept]}}

\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1decrementer_a0c6b1faedb657c28109666b61dcaf2ca}\label{struct_k_b_l_i_b___n_s_1_1decrementer_a0c6b1faedb657c28109666b61dcaf2ca}} 
\index{KBLIB\_NS::decrementer@{KBLIB\_NS::decrementer}!decrementer@{decrementer}}
\index{decrementer@{decrementer}!KBLIB\_NS::decrementer@{KBLIB\_NS::decrementer}}
\doxysubsubsection{\texorpdfstring{decrementer()}{decrementer()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily constexpr KBLIB\+\_\+\+NS\+::decrementer\+::decrementer (\begin{DoxyParamCaption}\item[{int}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{iterators_8h_source_l00591}{591}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1decrementer_add260b2ea30e21dd55fb7a714d9c33be}\label{struct_k_b_l_i_b___n_s_1_1decrementer_add260b2ea30e21dd55fb7a714d9c33be}} 
\index{KBLIB\_NS::decrementer@{KBLIB\_NS::decrementer}!operator int@{operator int}}
\index{operator int@{operator int}!KBLIB\_NS::decrementer@{KBLIB\_NS::decrementer}}
\doxysubsubsection{\texorpdfstring{operator int()}{operator int()}}
{\footnotesize\ttfamily constexpr KBLIB\+\_\+\+NS\+::decrementer\+::operator int (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{iterators_8h_source_l00592}{592}} of file \mbox{\hyperlink{iterators_8h_source}{iterators.\+h}}.

\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1decrementer_a6e8f3b7ca80581e91c664b9e2a3e8614}\label{struct_k_b_l_i_b___n_s_1_1decrementer_a6e8f3b7ca80581e91c664b9e2a3e8614}} 
\index{KBLIB\_NS::decrementer@{KBLIB\_NS::decrementer}!operator()@{operator()}}
\index{operator()@{operator()}!KBLIB\_NS::decrementer@{KBLIB\_NS::decrementer}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
constexpr auto KBLIB\+\_\+\+NS\+::decrementer\+::operator() (\begin{DoxyParamCaption}\item[{T \&}]{t }\end{DoxyParamCaption}) -\/$>$ T\& \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}}



Definition at line \mbox{\hyperlink{iterators_8h_source_l00597}{597}} 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_1decrementer_a2bd9f4a70b2024ae47fe726eedb33faf}\label{struct_k_b_l_i_b___n_s_1_1decrementer_a2bd9f4a70b2024ae47fe726eedb33faf}} 
\index{KBLIB\_NS::decrementer@{KBLIB\_NS::decrementer}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!KBLIB\_NS::decrementer@{KBLIB\_NS::decrementer}}
\doxysubsubsection{\texorpdfstring{operator$\ast$}{operator*}}
{\footnotesize\ttfamily constexpr auto operator$\ast$ (\begin{DoxyParamCaption}\item[{std\+::ptrdiff\+\_\+t}]{x,  }\item[{\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1decrementer}{decrementer}}}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}



Definition at line \mbox{\hyperlink{iterators_8h_source_l00593}{593}} 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}
