\hypertarget{structkblib_1_1detail__memory_1_1on__destroy}{}\doxysection{kblib\+::detail\+\_\+memory\+::on\+\_\+destroy\texorpdfstring{$<$}{<} T, D \texorpdfstring{$>$}{>} Struct Template Reference}
\label{structkblib_1_1detail__memory_1_1on__destroy}\index{kblib::detail\_memory::on\_destroy$<$ T, D $>$@{kblib::detail\_memory::on\_destroy$<$ T, D $>$}}


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



Inheritance diagram for kblib\+::detail\+\_\+memory\+::on\+\_\+destroy\texorpdfstring{$<$}{<} T, D \texorpdfstring{$>$}{>}\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{structkblib_1_1detail__memory_1_1on__destroy__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for kblib\+::detail\+\_\+memory\+::on\+\_\+destroy\texorpdfstring{$<$}{<} T, D \texorpdfstring{$>$}{>}\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{structkblib_1_1detail__memory_1_1on__destroy__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy_a97c0c44afcdae9b505bc958190d73804}{on\+\_\+destroy}} () noexcept=default
\item 
\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy_a2b8a3d967a8dbdacce405d4b719818bb}{on\+\_\+destroy}} (const \mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}} \&) noexcept(std\+::is\+\_\+nothrow\+\_\+copy\+\_\+constructible$<$ T $>$\+::value and std\+::is\+\_\+nothrow\+\_\+copy\+\_\+constructible$<$ D $>$\+::value)=default
\item 
\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy_a32b46388bb256858dd226c1990ea4ac3}{on\+\_\+destroy}} (\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}} \&\&) noexcept(std\+::is\+\_\+nothrow\+\_\+move\+\_\+constructible$<$ T $>$\+::value and std\+::is\+\_\+nothrow\+\_\+move\+\_\+constructible$<$ D $>$\+::value)=default
\item 
\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}} \& \mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy_a81d0909b41ed8bc973c84a0ca120200a}{operator=}} (const \mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}} \&) noexcept(std\+::is\+\_\+nothrow\+\_\+copy\+\_\+assignable$<$ T $>$\+::value and std\+::is\+\_\+nothrow\+\_\+copy\+\_\+assignable$<$ D $>$\+::value)=default
\item 
\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}} \& \mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy_afcf89e357884090937dc14b9a7c8573e}{operator=}} (\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}} \&\&) noexcept(std\+::is\+\_\+nothrow\+\_\+move\+\_\+assignable$<$ T $>$\+::value and std\+::is\+\_\+nothrow\+\_\+move\+\_\+assignable$<$ D $>$\+::value)=default
\item 
\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy_ac034ef585f1cb76f96f445d831fc2d01}{operator T\&}} () noexcept
\item 
\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy_a22d7fa9918b58780c0fe9db3480f9cec}{operator const T \&}} () const noexcept
\item 
\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy_afd4a6ad450ac6cc6404af81539344c0e}{$\sim$on\+\_\+destroy}} ()
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename T, typename D$>$\newline
struct kblib\+::detail\+\_\+memory\+::on\+\_\+destroy$<$ T, D $>$}


Definition at line \mbox{\hyperlink{memory_8h_source_l00158}{158}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}.



\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{structkblib_1_1detail__memory_1_1on__destroy_a97c0c44afcdae9b505bc958190d73804}\label{structkblib_1_1detail__memory_1_1on__destroy_a97c0c44afcdae9b505bc958190d73804}} 
\index{kblib::detail\_memory::on\_destroy$<$ T, D $>$@{kblib::detail\_memory::on\_destroy$<$ T, D $>$}!on\_destroy@{on\_destroy}}
\index{on\_destroy@{on\_destroy}!kblib::detail\_memory::on\_destroy$<$ T, D $>$@{kblib::detail\_memory::on\_destroy$<$ T, D $>$}}
\doxysubsubsection{\texorpdfstring{on\_destroy()}{on\_destroy()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily template$<$typename T , typename D $>$ \\
\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{kblib\+::detail\+\_\+memory\+::on\+\_\+destroy}}$<$ T, D $>$\+::on\+\_\+destroy (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}, {\ttfamily [noexcept]}}

\mbox{\Hypertarget{structkblib_1_1detail__memory_1_1on__destroy_a2b8a3d967a8dbdacce405d4b719818bb}\label{structkblib_1_1detail__memory_1_1on__destroy_a2b8a3d967a8dbdacce405d4b719818bb}} 
\index{kblib::detail\_memory::on\_destroy$<$ T, D $>$@{kblib::detail\_memory::on\_destroy$<$ T, D $>$}!on\_destroy@{on\_destroy}}
\index{on\_destroy@{on\_destroy}!kblib::detail\_memory::on\_destroy$<$ T, D $>$@{kblib::detail\_memory::on\_destroy$<$ T, D $>$}}
\doxysubsubsection{\texorpdfstring{on\_destroy()}{on\_destroy()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily template$<$typename T , typename D $>$ \\
\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{kblib\+::detail\+\_\+memory\+::on\+\_\+destroy}}$<$ T, D $>$\+::on\+\_\+destroy (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}}$<$ T, D $>$ \&}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [default]}, {\ttfamily [noexcept]}}

\mbox{\Hypertarget{structkblib_1_1detail__memory_1_1on__destroy_a32b46388bb256858dd226c1990ea4ac3}\label{structkblib_1_1detail__memory_1_1on__destroy_a32b46388bb256858dd226c1990ea4ac3}} 
\index{kblib::detail\_memory::on\_destroy$<$ T, D $>$@{kblib::detail\_memory::on\_destroy$<$ T, D $>$}!on\_destroy@{on\_destroy}}
\index{on\_destroy@{on\_destroy}!kblib::detail\_memory::on\_destroy$<$ T, D $>$@{kblib::detail\_memory::on\_destroy$<$ T, D $>$}}
\doxysubsubsection{\texorpdfstring{on\_destroy()}{on\_destroy()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily template$<$typename T , typename D $>$ \\
\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{kblib\+::detail\+\_\+memory\+::on\+\_\+destroy}}$<$ T, D $>$\+::on\+\_\+destroy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}}$<$ T, D $>$ \&\&}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [default]}, {\ttfamily [noexcept]}}

\mbox{\Hypertarget{structkblib_1_1detail__memory_1_1on__destroy_afd4a6ad450ac6cc6404af81539344c0e}\label{structkblib_1_1detail__memory_1_1on__destroy_afd4a6ad450ac6cc6404af81539344c0e}} 
\index{kblib::detail\_memory::on\_destroy$<$ T, D $>$@{kblib::detail\_memory::on\_destroy$<$ T, D $>$}!````~on\_destroy@{$\sim$on\_destroy}}
\index{````~on\_destroy@{$\sim$on\_destroy}!kblib::detail\_memory::on\_destroy$<$ T, D $>$@{kblib::detail\_memory::on\_destroy$<$ T, D $>$}}
\doxysubsubsection{\texorpdfstring{$\sim$on\_destroy()}{~on\_destroy()}}
{\footnotesize\ttfamily template$<$typename T , typename D $>$ \\
\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{kblib\+::detail\+\_\+memory\+::on\+\_\+destroy}}$<$ T, D $>$\+::$\sim$\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Definition at line \mbox{\hyperlink{memory_8h_source_l00183}{183}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}.



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{structkblib_1_1detail__memory_1_1on__destroy_a22d7fa9918b58780c0fe9db3480f9cec}\label{structkblib_1_1detail__memory_1_1on__destroy_a22d7fa9918b58780c0fe9db3480f9cec}} 
\index{kblib::detail\_memory::on\_destroy$<$ T, D $>$@{kblib::detail\_memory::on\_destroy$<$ T, D $>$}!operator const T \&@{operator const T \&}}
\index{operator const T \&@{operator const T \&}!kblib::detail\_memory::on\_destroy$<$ T, D $>$@{kblib::detail\_memory::on\_destroy$<$ T, D $>$}}
\doxysubsubsection{\texorpdfstring{operator const T \&()}{operator const T \&()}}
{\footnotesize\ttfamily template$<$typename T , typename D $>$ \\
\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{kblib\+::detail\+\_\+memory\+::on\+\_\+destroy}}$<$ T, D $>$\+::operator const T \& (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{memory_8h_source_l00181}{181}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}.

\mbox{\Hypertarget{structkblib_1_1detail__memory_1_1on__destroy_ac034ef585f1cb76f96f445d831fc2d01}\label{structkblib_1_1detail__memory_1_1on__destroy_ac034ef585f1cb76f96f445d831fc2d01}} 
\index{kblib::detail\_memory::on\_destroy$<$ T, D $>$@{kblib::detail\_memory::on\_destroy$<$ T, D $>$}!operator T\&@{operator T\&}}
\index{operator T\&@{operator T\&}!kblib::detail\_memory::on\_destroy$<$ T, D $>$@{kblib::detail\_memory::on\_destroy$<$ T, D $>$}}
\doxysubsubsection{\texorpdfstring{operator T\&()}{operator T\&()}}
{\footnotesize\ttfamily template$<$typename T , typename D $>$ \\
\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{kblib\+::detail\+\_\+memory\+::on\+\_\+destroy}}$<$ T, D $>$\+::operator T\& (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{memory_8h_source_l00180}{180}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}.

\mbox{\Hypertarget{structkblib_1_1detail__memory_1_1on__destroy_a81d0909b41ed8bc973c84a0ca120200a}\label{structkblib_1_1detail__memory_1_1on__destroy_a81d0909b41ed8bc973c84a0ca120200a}} 
\index{kblib::detail\_memory::on\_destroy$<$ T, D $>$@{kblib::detail\_memory::on\_destroy$<$ T, D $>$}!operator=@{operator=}}
\index{operator=@{operator=}!kblib::detail\_memory::on\_destroy$<$ T, D $>$@{kblib::detail\_memory::on\_destroy$<$ T, D $>$}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename T , typename D $>$ \\
\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}} \& \mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{kblib\+::detail\+\_\+memory\+::on\+\_\+destroy}}$<$ T, D $>$\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}}$<$ T, D $>$ \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}, {\ttfamily [noexcept]}}

\mbox{\Hypertarget{structkblib_1_1detail__memory_1_1on__destroy_afcf89e357884090937dc14b9a7c8573e}\label{structkblib_1_1detail__memory_1_1on__destroy_afcf89e357884090937dc14b9a7c8573e}} 
\index{kblib::detail\_memory::on\_destroy$<$ T, D $>$@{kblib::detail\_memory::on\_destroy$<$ T, D $>$}!operator=@{operator=}}
\index{operator=@{operator=}!kblib::detail\_memory::on\_destroy$<$ T, D $>$@{kblib::detail\_memory::on\_destroy$<$ T, D $>$}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename T , typename D $>$ \\
\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}} \& \mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{kblib\+::detail\+\_\+memory\+::on\+\_\+destroy}}$<$ T, D $>$\+::operator= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structkblib_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}}$<$ T, D $>$ \&\&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}, {\ttfamily [noexcept]}}



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