\hypertarget{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy}{}\doxysection{KBLIB\+\_\+\+NS\+::detail\+\_\+memory\+::on\+\_\+destroy\texorpdfstring{$<$}{<} T, D \texorpdfstring{$>$}{>} Struct Template Reference} \label{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy}\index{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$@{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$}} {\ttfamily \#include $<$kblib/memory.\+h$>$} Inheritance diagram for KBLIB\+\_\+\+NS\+::detail\+\_\+memory\+::on\+\_\+destroy\texorpdfstring{$<$}{<} T, D \texorpdfstring{$>$}{>}\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy__inherit__graph} \end{center} \end{figure} Collaboration diagram for KBLIB\+\_\+\+NS\+::detail\+\_\+memory\+::on\+\_\+destroy\texorpdfstring{$<$}{<} T, D \texorpdfstring{$>$}{>}\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy__coll__graph} \end{center} \end{figure} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_ac3cea643b72ec7fdc971d843031c40af}{on\+\_\+destroy}} () noexcept=default \item \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a585fd235a531c3bee5b7fe3844a0fe94}{on\+\_\+destroy}} (const \mbox{\hyperlink{struct_k_b_l_i_b___n_s_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{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a222e23e813a963bbe0fb9d65427a9029}{on\+\_\+destroy}} (\mbox{\hyperlink{struct_k_b_l_i_b___n_s_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{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}} \& \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a6729ee3437f35629ffa5e52305f2efbf}{operator=}} (const \mbox{\hyperlink{struct_k_b_l_i_b___n_s_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{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}} \& \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a6687ca265257eb9e0211d197ed407d9a}{operator=}} (\mbox{\hyperlink{struct_k_b_l_i_b___n_s_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{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_aef828d3880b0a4d0633514639bfaecdb}{operator T\&}} () noexcept \item \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a5a3bc0ad387f62ea240452ab2197dd98}{operator const T \&}} () const noexcept \item \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a10c476081e176c37b6f4e93ca70752e5}{$\sim$on\+\_\+destroy}} () \end{DoxyCompactItemize} \doxysubsection{Detailed Description} \subsubsection*{template$<$typename T, typename D$>$\newline struct KBLIB\+\_\+\+NS\+::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{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_ac3cea643b72ec7fdc971d843031c40af}\label{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_ac3cea643b72ec7fdc971d843031c40af}} \index{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$@{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$}!on\_destroy@{on\_destroy}} \index{on\_destroy@{on\_destroy}!KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$@{KBLIB\_NS::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{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy}{KBLIB\+\_\+\+NS\+::detail\+\_\+memory\+::on\+\_\+destroy}}$<$ T, D $>$\+::on\+\_\+destroy (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}, {\ttfamily [noexcept]}} \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a585fd235a531c3bee5b7fe3844a0fe94}\label{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a585fd235a531c3bee5b7fe3844a0fe94}} \index{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$@{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$}!on\_destroy@{on\_destroy}} \index{on\_destroy@{on\_destroy}!KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$@{KBLIB\_NS::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{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy}{KBLIB\+\_\+\+NS\+::detail\+\_\+memory\+::on\+\_\+destroy}}$<$ T, D $>$\+::on\+\_\+destroy (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}}$<$ T, D $>$ \&}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [default]}, {\ttfamily [noexcept]}} \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a222e23e813a963bbe0fb9d65427a9029}\label{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a222e23e813a963bbe0fb9d65427a9029}} \index{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$@{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$}!on\_destroy@{on\_destroy}} \index{on\_destroy@{on\_destroy}!KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$@{KBLIB\_NS::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{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy}{KBLIB\+\_\+\+NS\+::detail\+\_\+memory\+::on\+\_\+destroy}}$<$ T, D $>$\+::on\+\_\+destroy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}}$<$ T, D $>$ \&\&}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [default]}, {\ttfamily [noexcept]}} \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a10c476081e176c37b6f4e93ca70752e5}\label{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a10c476081e176c37b6f4e93ca70752e5}} \index{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$@{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$}!````~on\_destroy@{$\sim$on\_destroy}} \index{````~on\_destroy@{$\sim$on\_destroy}!KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$@{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$}} \doxysubsubsection{\texorpdfstring{$\sim$on\_destroy()}{~on\_destroy()}} {\footnotesize\ttfamily template$<$typename T , typename D $>$ \\ \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy}{KBLIB\+\_\+\+NS\+::detail\+\_\+memory\+::on\+\_\+destroy}}$<$ T, D $>$\+::$\sim$\mbox{\hyperlink{struct_k_b_l_i_b___n_s_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{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a5a3bc0ad387f62ea240452ab2197dd98}\label{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a5a3bc0ad387f62ea240452ab2197dd98}} \index{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$@{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$}!operator const T \&@{operator const T \&}} \index{operator const T \&@{operator const T \&}!KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$@{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$}} \doxysubsubsection{\texorpdfstring{operator const T \&()}{operator const T \&()}} {\footnotesize\ttfamily template$<$typename T , typename D $>$ \\ \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy}{KBLIB\+\_\+\+NS\+::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{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_aef828d3880b0a4d0633514639bfaecdb}\label{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_aef828d3880b0a4d0633514639bfaecdb}} \index{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$@{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$}!operator T\&@{operator T\&}} \index{operator T\&@{operator T\&}!KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$@{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$}} \doxysubsubsection{\texorpdfstring{operator T\&()}{operator T\&()}} {\footnotesize\ttfamily template$<$typename T , typename D $>$ \\ \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy}{KBLIB\+\_\+\+NS\+::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{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a6729ee3437f35629ffa5e52305f2efbf}\label{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a6729ee3437f35629ffa5e52305f2efbf}} \index{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$@{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$}!operator=@{operator=}} \index{operator=@{operator=}!KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$@{KBLIB\_NS::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{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}} \& \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy}{KBLIB\+\_\+\+NS\+::detail\+\_\+memory\+::on\+\_\+destroy}}$<$ T, D $>$\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}}$<$ T, D $>$ \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}, {\ttfamily [noexcept]}} \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a6687ca265257eb9e0211d197ed407d9a}\label{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy_a6687ca265257eb9e0211d197ed407d9a}} \index{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$@{KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$}!operator=@{operator=}} \index{operator=@{operator=}!KBLIB\_NS::detail\_memory::on\_destroy$<$ T, D $>$@{KBLIB\_NS::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{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy}{on\+\_\+destroy}} \& \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__memory_1_1on__destroy}{KBLIB\+\_\+\+NS\+::detail\+\_\+memory\+::on\+\_\+destroy}}$<$ T, D $>$\+::operator= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_k_b_l_i_b___n_s_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}