\hypertarget{structkblib_1_1decrementer}{}\doxysection{kblib\+::decrementer Struct Reference}
\label{structkblib_1_1decrementer}\index{kblib::decrementer@{kblib::decrementer}}


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




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

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
constexpr \mbox{\hyperlink{structkblib_1_1decrementer_a9d51ac86883ff3161020304f31a65004}{decrementer}} () noexcept=default
\item 
constexpr \mbox{\hyperlink{structkblib_1_1decrementer_a0238f259021b327a61e7e08c919f7b6b}{decrementer}} (int) noexcept
\item 
constexpr \mbox{\hyperlink{structkblib_1_1decrementer_a040c6a4307291cba6da8b9e0be914cb4}{operator int}} () const noexcept
\item 
{\footnotesize template$<$typename T $>$ }\\constexpr auto \mbox{\hyperlink{structkblib_1_1decrementer_aadf94708e26cb234eace1fd2e8054a06}{operator()}} (T \&t) -\/$>$ T \&
\end{DoxyCompactItemize}
\doxysubsection*{Friends}
\begin{DoxyCompactItemize}
\item 
constexpr auto \mbox{\hyperlink{structkblib_1_1decrementer_a2bd9f4a70b2024ae47fe726eedb33faf}{operator$\ast$}} (std\+::ptrdiff\+\_\+t x, \mbox{\hyperlink{structkblib_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{classkblib_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{structkblib_1_1decrementer_a9d51ac86883ff3161020304f31a65004}\label{structkblib_1_1decrementer_a9d51ac86883ff3161020304f31a65004}} 
\index{kblib::decrementer@{kblib::decrementer}!decrementer@{decrementer}}
\index{decrementer@{decrementer}!kblib::decrementer@{kblib::decrementer}}
\doxysubsubsection{\texorpdfstring{decrementer()}{decrementer()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily constexpr kblib\+::decrementer\+::decrementer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [constexpr]}, {\ttfamily [default]}, {\ttfamily [noexcept]}}

\mbox{\Hypertarget{structkblib_1_1decrementer_a0238f259021b327a61e7e08c919f7b6b}\label{structkblib_1_1decrementer_a0238f259021b327a61e7e08c919f7b6b}} 
\index{kblib::decrementer@{kblib::decrementer}!decrementer@{decrementer}}
\index{decrementer@{decrementer}!kblib::decrementer@{kblib::decrementer}}
\doxysubsubsection{\texorpdfstring{decrementer()}{decrementer()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily constexpr kblib\+::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{structkblib_1_1decrementer_a040c6a4307291cba6da8b9e0be914cb4}\label{structkblib_1_1decrementer_a040c6a4307291cba6da8b9e0be914cb4}} 
\index{kblib::decrementer@{kblib::decrementer}!operator int@{operator int}}
\index{operator int@{operator int}!kblib::decrementer@{kblib::decrementer}}
\doxysubsubsection{\texorpdfstring{operator int()}{operator int()}}
{\footnotesize\ttfamily constexpr kblib\+::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{structkblib_1_1decrementer_aadf94708e26cb234eace1fd2e8054a06}\label{structkblib_1_1decrementer_aadf94708e26cb234eace1fd2e8054a06}} 
\index{kblib::decrementer@{kblib::decrementer}!operator()@{operator()}}
\index{operator()@{operator()}!kblib::decrementer@{kblib::decrementer}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
constexpr auto kblib\+::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{structkblib_1_1decrementer_a2bd9f4a70b2024ae47fe726eedb33faf}\label{structkblib_1_1decrementer_a2bd9f4a70b2024ae47fe726eedb33faf}} 
\index{kblib::decrementer@{kblib::decrementer}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!kblib::decrementer@{kblib::decrementer}}
\doxysubsubsection{\texorpdfstring{operator$\ast$}{operator*}}
{\footnotesize\ttfamily constexpr auto operator$\ast$ (\begin{DoxyParamCaption}\item[{std\+::ptrdiff\+\_\+t}]{x,  }\item[{\mbox{\hyperlink{structkblib_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}
