\hypertarget{structkblib_1_1detail_1_1on__destroy}{}\section{kblib\+:\+:detail\+:\+:on\+\_\+destroy$<$ T, D $>$ Struct Template Reference}
\label{structkblib_1_1detail_1_1on__destroy}\index{kblib\+::detail\+::on\+\_\+destroy$<$ T, D $>$@{kblib\+::detail\+::on\+\_\+destroy$<$ T, D $>$}}


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



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


Collaboration diagram for kblib\+:\+:detail\+:\+:on\+\_\+destroy$<$ T, D $>$\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=316pt]{structkblib_1_1detail_1_1on__destroy__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{structkblib_1_1detail_1_1on__destroy_ab0470398a8bebc7f0157b5c84aa39b9f}{on\+\_\+destroy} () noexcept=default
\item 
\hyperlink{structkblib_1_1detail_1_1on__destroy_a8888709ff27aabdbf1e08b41a3baf283}{on\+\_\+destroy} (const \hyperlink{structkblib_1_1detail_1_1on__destroy}{on\+\_\+destroy} \&) noexcept(std\+::is\+\_\+nothrow\+\_\+copy\+\_\+constructible$<$ T $>$\+::value and std\+::is\+\_\+nothrow\+\_\+copy\+\_\+constructible$<$ D $>$\+::value)=default
\item 
\hyperlink{structkblib_1_1detail_1_1on__destroy_a64ace585c96c00cc32261ab0fb78e525}{on\+\_\+destroy} (\hyperlink{structkblib_1_1detail_1_1on__destroy}{on\+\_\+destroy} \&\&) noexcept(std\+::is\+\_\+nothrow\+\_\+move\+\_\+constructible$<$ T $>$\+::value and std\+::is\+\_\+nothrow\+\_\+move\+\_\+constructible$<$ D $>$\+::value)=default
\item 
\hyperlink{structkblib_1_1detail_1_1on__destroy}{on\+\_\+destroy} \& \hyperlink{structkblib_1_1detail_1_1on__destroy_ab2726676e645bf5e6b77de25a7d98f7a}{operator=} (const \hyperlink{structkblib_1_1detail_1_1on__destroy}{on\+\_\+destroy} \&) noexcept(std\+::is\+\_\+nothrow\+\_\+copy\+\_\+assignable$<$ T $>$\+::value and std\+::is\+\_\+nothrow\+\_\+copy\+\_\+assignable$<$ D $>$\+::value)=default
\item 
\hyperlink{structkblib_1_1detail_1_1on__destroy}{on\+\_\+destroy} \& \hyperlink{structkblib_1_1detail_1_1on__destroy_af30eea6a45b234048b8ae3a223924bf3}{operator=} (\hyperlink{structkblib_1_1detail_1_1on__destroy}{on\+\_\+destroy} \&\&) noexcept(std\+::is\+\_\+nothrow\+\_\+move\+\_\+assignable$<$ T $>$\+::value and std\+::is\+\_\+nothrow\+\_\+move\+\_\+assignable$<$ D $>$\+::value)=default
\item 
\hyperlink{structkblib_1_1detail_1_1on__destroy_ac998b77c907c5d1ae202e94dd0d293ff}{operator T \&} () noexcept
\item 
\hyperlink{structkblib_1_1detail_1_1on__destroy_afd87c91f9623b68f22a7e7d9044f1531}{operator const T \&} () const noexcept
\item 
\hyperlink{structkblib_1_1detail_1_1on__destroy_af55aa393730de6816620b5023c93cdbf}{$\sim$on\+\_\+destroy} ()
\end{DoxyCompactItemize}


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



Definition at line 124 of file memory.\+h.



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

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

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

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



Definition at line 143 of file memory.\+h.



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



Definition at line 141 of file memory.\+h.

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



Definition at line 140 of file memory.\+h.

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

\mbox{\Hypertarget{structkblib_1_1detail_1_1on__destroy_af30eea6a45b234048b8ae3a223924bf3}\label{structkblib_1_1detail_1_1on__destroy_af30eea6a45b234048b8ae3a223924bf3}} 
\index{kblib\+::detail\+::on\+\_\+destroy@{kblib\+::detail\+::on\+\_\+destroy}!operator=@{operator=}}
\index{operator=@{operator=}!kblib\+::detail\+::on\+\_\+destroy@{kblib\+::detail\+::on\+\_\+destroy}}
\subsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename T, typename D$>$ \\
\hyperlink{structkblib_1_1detail_1_1on__destroy}{on\+\_\+destroy}\& \hyperlink{structkblib_1_1detail_1_1on__destroy}{kblib\+::detail\+::on\+\_\+destroy}$<$ T, D $>$\+::operator= (\begin{DoxyParamCaption}\item[{\hyperlink{structkblib_1_1detail_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/\hyperlink{memory_8h}{memory.\+h}\end{DoxyCompactItemize}
