\hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4}{}\doxysection{kblib\+::cond\+\_\+ptr\texorpdfstring{$<$}{<} T\mbox{[}\mbox{]}, Deleter \texorpdfstring{$>$}{>} Class Template Reference} \label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4}\index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} {\ttfamily \#include $<$kblib/memory.\+h$>$} Inheritance diagram for kblib\+::cond\+\_\+ptr\texorpdfstring{$<$}{<} T\mbox{[}\mbox{]}, Deleter \texorpdfstring{$>$}{>}\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=231pt]{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4__inherit__graph} \end{center} \end{figure} Collaboration diagram for kblib\+::cond\+\_\+ptr\texorpdfstring{$<$}{<} T\mbox{[}\mbox{]}, Deleter \texorpdfstring{$>$}{>}\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=231pt]{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4__coll__graph} \end{center} \end{figure} \doxysubsection*{Public Types} \begin{DoxyCompactItemize} \item using \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a48c12083d8301dad80a1f1644c427841}{pointer}} = \mbox{\hyperlink{namespacekblib_1_1detail__memory_a9cb8ba19f19eee413f3cb3a221bb3a60}{detail\+\_\+memory\+::filter\+\_\+deleter\+\_\+pointer\+\_\+t}}$<$ Deleter, T $>$ \item using \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a9bcd4894e8a1c90a2e3dddf1d7903c90}{element\+\_\+type}} = T \item using \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a3150c6330dbd2ac80a4d30864c67d7a4}{deleter\+\_\+type}} = Deleter \item using \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique}} = std\+::unique\+\_\+ptr$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \end{DoxyCompactItemize} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a6dd759ef278c5bd1361b187d612da8b5}{cond\+\_\+ptr}} () noexcept=default \item \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_af36f8d74ab016b573fa7a36a53bac483}{cond\+\_\+ptr}} (std\+::nullptr\+\_\+t) noexcept \item \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_aedbffcbfcd8e57960dc26610a10ab517}{cond\+\_\+ptr}} (T $\ast$p, bool owner=false, std\+::decay\+\_\+t$<$ Deleter $>$ del=\{\}) noexcept \item \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a373148c69e166f1e92e8bbbf05c620a6}{cond\+\_\+ptr}} (T $\ast$p, std\+::decay\+\_\+t$<$ Deleter $>$ del) noexcept \item \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7ae8e77f270a532e24a9ef5ce461e46a}{cond\+\_\+ptr}} (\mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique}} \&\&p) noexcept \item \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_ae93e3c7b77843a757d0572b8d9c67a19}{cond\+\_\+ptr}} (const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \&other)=delete \item \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a01a89778be0fb9fa6c9a6847ecf6f250}{cond\+\_\+ptr}} (\mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \&\&other) noexcept \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_afc4c77168bfb4d8b48c6cf4a34249250}{operator=}} (const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \&rhs) \&-\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \&=delete \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7355204599ce0942ac209cd63e8c8f5d}{operator=}} (\mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \&\&rhs) \&noexcept -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \& \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a15595f4205ce4f305d1fe5fb5e58b974}{operator=}} (\mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique}} \&\&rhs) -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \& \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a91d8990a847e41065015815da307d208}{to\+\_\+unique}} () \&\&noexcept -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique}} \begin{DoxyCompactList}\small\item\em Transfers ownership to a unique\+\_\+ptr if possible. If $\ast$this is not owning, returns nullptr. \end{DoxyCompactList}\item \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_acf0ff1f4067129b135dfb63f1416feb1}{operator unique}} () \&\&noexcept \item \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7777ea471605666bd375dac4377615c2}{$\sim$cond\+\_\+ptr}} () noexcept \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_ac8406b39f6fafb27ae7e275bf327b19d}{weak}} () const \&noexcept -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_af611c691eddf7ca679f3b7c00ab4601f}{owns}} () const noexcept -\/$>$ bool \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a0454f4b8040139139dbe7373772a170e}{release}} () \&noexcept -\/$>$ T $\ast$ \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a59b64b2b7531650761a28aaaa017fa00}{get\+\_\+deleter}} () noexcept -\/$>$ Deleter \& \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a01eace688378fed665329906cee1ef94}{get\+\_\+deleter}} () const noexcept -\/$>$ const Deleter \& \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a9d845b09ab52c539f265aa99c9913e18}{reset}} (T $\ast$p=nullptr, bool owner=false, std\+::decay\+\_\+t$<$ Deleter $>$ del=\{\}) \&noexcept -\/$>$ void \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_ad51a29b7255981c5f093197dbbdaf6a4}{reset}} (T $\ast$p, std\+::decay\+\_\+t$<$ Deleter $>$ del=\{\}) \&noexcept -\/$>$ void \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a29e9a6c77df27230b4f1c26ceda675ab}{swap}} (\mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \&other) -\/$>$ void \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a827a1eb96b8ce18d8d42386d2ca4bfda}{get}} () \&noexcept -\/$>$ T $\ast$ \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_ae6cba8b0ca1bd342dd6d9f59c128ea6f}{get}} () const \&noexcept -\/$>$ const T $\ast$ \item \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_acc70a9c63f4c91157a21d12a4fcdbdab}{operator bool}} () const noexcept \item T \& \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a6438356c37ebd1a4e025fbe66ab86fcd}{operator\mbox{[}$\,$\mbox{]}}} (std\+::size\+\_\+t index) \&noexcept \item const T \& \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a5a0911ca2209ae811fb2303cee71ade1}{operator\mbox{[}$\,$\mbox{]}}} (std\+::size\+\_\+t index) const \&noexcept \end{DoxyCompactItemize} \doxysubsection*{Static Public Member Functions} \begin{DoxyCompactItemize} \item static auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_acdfd0da37245fc27491a9f86419fd42d}{adopt}} (T $\ast$p) noexcept -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \item static auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a0f8eb4b08447bd98c3c61cc2f2063e98}{adopt}} (T $\ast$p, \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a3150c6330dbd2ac80a4d30864c67d7a4}{deleter\+\_\+type}} del) noexcept -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \end{DoxyCompactItemize} \doxysubsection*{Friends} \begin{DoxyCompactItemize} \item constexpr auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_af61e5b452edde39ca5d0cdde94fd65ea}{operator==}} (const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \&lhs, const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \&rhs) noexcept -\/$>$ bool \item constexpr auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a92b1d18c8db327093cb7978c80a2a00a}{operator==}} (const \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique}} \&lhs, const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \&rhs) noexcept -\/$>$ bool \item constexpr auto \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_ae57a614a50b0c04e6958395ef8898e25}{operator==}} (const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \&lhs, const \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique}} \&rhs) noexcept -\/$>$ bool \end{DoxyCompactItemize} \doxysubsection{Detailed Description} \subsubsection*{template$<$typename T, typename Deleter$>$\newline class kblib\+::cond\+\_\+ptr$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$} Definition at line \mbox{\hyperlink{memory_8h_source_l00607}{607}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \doxysubsection{Member Typedef Documentation} \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a3150c6330dbd2ac80a4d30864c67d7a4}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a3150c6330dbd2ac80a4d30864c67d7a4}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!deleter\_type@{deleter\_type}} \index{deleter\_type@{deleter\_type}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{deleter\_type}{deleter\_type}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ using \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::deleter\+\_\+type = Deleter} Definition at line \mbox{\hyperlink{memory_8h_source_l00613}{613}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a9bcd4894e8a1c90a2e3dddf1d7903c90}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a9bcd4894e8a1c90a2e3dddf1d7903c90}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!element\_type@{element\_type}} \index{element\_type@{element\_type}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{element\_type}{element\_type}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ using \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::element\+\_\+type = T} Definition at line \mbox{\hyperlink{memory_8h_source_l00612}{612}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a48c12083d8301dad80a1f1644c427841}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a48c12083d8301dad80a1f1644c427841}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!pointer@{pointer}} \index{pointer@{pointer}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{pointer}{pointer}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ using \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::pointer = \mbox{\hyperlink{namespacekblib_1_1detail__memory_a9cb8ba19f19eee413f3cb3a221bb3a60}{detail\+\_\+memory\+::filter\+\_\+deleter\+\_\+pointer\+\_\+t}}$<$Deleter, T$>$} Definition at line \mbox{\hyperlink{memory_8h_source_l00611}{611}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!unique@{unique}} \index{unique@{unique}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{unique}{unique}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ using \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::unique = std\+::unique\+\_\+ptr$<$T\mbox{[}$\,$\mbox{]}, Deleter$>$} Definition at line \mbox{\hyperlink{memory_8h_source_l00620}{620}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \doxysubsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a6dd759ef278c5bd1361b187d612da8b5}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a6dd759ef278c5bd1361b187d612da8b5}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!cond\_ptr@{cond\_ptr}} \index{cond\_ptr@{cond\_ptr}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{cond\_ptr()}{cond\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [1/7]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::cond\+\_\+ptr (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}, {\ttfamily [noexcept]}} \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_af36f8d74ab016b573fa7a36a53bac483}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_af36f8d74ab016b573fa7a36a53bac483}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!cond\_ptr@{cond\_ptr}} \index{cond\_ptr@{cond\_ptr}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{cond\_ptr()}{cond\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [2/7]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::cond\+\_\+ptr (\begin{DoxyParamCaption}\item[{std\+::nullptr\+\_\+t}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00623}{623}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_aedbffcbfcd8e57960dc26610a10ab517}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_aedbffcbfcd8e57960dc26610a10ab517}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!cond\_ptr@{cond\_ptr}} \index{cond\_ptr@{cond\_ptr}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{cond\_ptr()}{cond\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [3/7]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::cond\+\_\+ptr (\begin{DoxyParamCaption}\item[{T $\ast$}]{p, }\item[{bool}]{owner = {\ttfamily false}, }\item[{std\+::decay\+\_\+t$<$ Deleter $>$}]{del = {\ttfamily \{\}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00625}{625}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a373148c69e166f1e92e8bbbf05c620a6}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a373148c69e166f1e92e8bbbf05c620a6}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!cond\_ptr@{cond\_ptr}} \index{cond\_ptr@{cond\_ptr}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{cond\_ptr()}{cond\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [4/7]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::cond\+\_\+ptr (\begin{DoxyParamCaption}\item[{T $\ast$}]{p, }\item[{std\+::decay\+\_\+t$<$ Deleter $>$}]{del }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00630}{630}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7ae8e77f270a532e24a9ef5ce461e46a}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7ae8e77f270a532e24a9ef5ce461e46a}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!cond\_ptr@{cond\_ptr}} \index{cond\_ptr@{cond\_ptr}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{cond\_ptr()}{cond\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [5/7]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::cond\+\_\+ptr (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique}} \&\&}]{p }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00634}{634}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_ae93e3c7b77843a757d0572b8d9c67a19}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_ae93e3c7b77843a757d0572b8d9c67a19}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!cond\_ptr@{cond\_ptr}} \index{cond\_ptr@{cond\_ptr}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{cond\_ptr()}{cond\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [6/7]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::cond\+\_\+ptr (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}} \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a01a89778be0fb9fa6c9a6847ecf6f250}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a01a89778be0fb9fa6c9a6847ecf6f250}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!cond\_ptr@{cond\_ptr}} \index{cond\_ptr@{cond\_ptr}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{cond\_ptr()}{cond\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [7/7]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::cond\+\_\+ptr (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&\&}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00642}{642}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7777ea471605666bd375dac4377615c2}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7777ea471605666bd375dac4377615c2}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!````~cond\_ptr@{$\sim$cond\_ptr}} \index{````~cond\_ptr@{$\sim$cond\_ptr}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{$\sim$cond\_ptr()}{~cond\_ptr()}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::$\sim$\mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00701}{701}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_acdfd0da37245fc27491a9f86419fd42d}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_acdfd0da37245fc27491a9f86419fd42d}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!adopt@{adopt}} \index{adopt@{adopt}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{adopt()}{adopt()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ static auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::adopt (\begin{DoxyParamCaption}\item[{T $\ast$}]{p }\end{DoxyParamCaption}) -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00647}{647}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a0f8eb4b08447bd98c3c61cc2f2063e98}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a0f8eb4b08447bd98c3c61cc2f2063e98}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!adopt@{adopt}} \index{adopt@{adopt}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{adopt()}{adopt()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ static auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::adopt (\begin{DoxyParamCaption}\item[{T $\ast$}]{p, }\item[{\mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a3150c6330dbd2ac80a4d30864c67d7a4}{deleter\+\_\+type}}}]{del }\end{DoxyParamCaption}) -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00650}{650}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a827a1eb96b8ce18d8d42386d2ca4bfda}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a827a1eb96b8ce18d8d42386d2ca4bfda}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!get@{get}} \index{get@{get}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::get (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \& -\/$>$ T$\ast$ \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00747}{747}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_ae6cba8b0ca1bd342dd6d9f59c128ea6f}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_ae6cba8b0ca1bd342dd6d9f59c128ea6f}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!get@{get}} \index{get@{get}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::get (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const \& -\/$>$ const T$\ast$ \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00749}{749}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a01eace688378fed665329906cee1ef94}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a01eace688378fed665329906cee1ef94}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!get\_deleter@{get\_deleter}} \index{get\_deleter@{get\_deleter}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{get\_deleter()}{get\_deleter()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::get\+\_\+deleter (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const -\/$>$ const Deleter\& \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00719}{719}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a59b64b2b7531650761a28aaaa017fa00}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a59b64b2b7531650761a28aaaa017fa00}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!get\_deleter@{get\_deleter}} \index{get\_deleter@{get\_deleter}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{get\_deleter()}{get\_deleter()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::get\+\_\+deleter (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) -\/$>$ Deleter\& \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00717}{717}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_acc70a9c63f4c91157a21d12a4fcdbdab}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_acc70a9c63f4c91157a21d12a4fcdbdab}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!operator bool@{operator bool}} \index{operator bool@{operator bool}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator bool()}{operator bool()}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::operator bool (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00751}{751}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_acf0ff1f4067129b135dfb63f1416feb1}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_acf0ff1f4067129b135dfb63f1416feb1}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!operator unique@{operator unique}} \index{operator unique@{operator unique}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator unique()}{operator unique()}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::operator \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \&\&\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00697}{697}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7355204599ce0942ac209cd63e8c8f5d}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7355204599ce0942ac209cd63e8c8f5d}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!operator=@{operator=}} \index{operator=@{operator=}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::operator= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&\&}]{rhs }\end{DoxyParamCaption}) \& -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}\& \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00664}{664}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_afc4c77168bfb4d8b48c6cf4a34249250}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_afc4c77168bfb4d8b48c6cf4a34249250}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!operator=@{operator=}} \index{operator=@{operator=}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&}]{rhs }\end{DoxyParamCaption}) \& -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \&=delete\hspace{0.3cm}{\ttfamily [delete]}} \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a15595f4205ce4f305d1fe5fb5e58b974}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a15595f4205ce4f305d1fe5fb5e58b974}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!operator=@{operator=}} \index{operator=@{operator=}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::operator= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique}} \&\&}]{rhs }\end{DoxyParamCaption}) -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}\& \hspace{0.3cm}{\ttfamily [inline]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00672}{672}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a6438356c37ebd1a4e025fbe66ab86fcd}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a6438356c37ebd1a4e025fbe66ab86fcd}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!operator\mbox{[}\mbox{]}@{operator[]}} \index{operator\mbox{[}\mbox{]}@{operator[]}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ T \& \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{index }\end{DoxyParamCaption}) \&\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00753}{753}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a5a0911ca2209ae811fb2303cee71ade1}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a5a0911ca2209ae811fb2303cee71ade1}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!operator\mbox{[}\mbox{]}@{operator[]}} \index{operator\mbox{[}\mbox{]}@{operator[]}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ const T \& \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{index }\end{DoxyParamCaption}) const \&\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00757}{757}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_af611c691eddf7ca679f3b7c00ab4601f}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_af611c691eddf7ca679f3b7c00ab4601f}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!owns@{owns}} \index{owns@{owns}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{owns()}{owns()}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::owns (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const -\/$>$ bool \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00711}{711}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a0454f4b8040139139dbe7373772a170e}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a0454f4b8040139139dbe7373772a170e}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!release@{release}} \index{release@{release}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{release()}{release()}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::release (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \& -\/$>$ T$\ast$ \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00712}{712}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_ad51a29b7255981c5f093197dbbdaf6a4}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_ad51a29b7255981c5f093197dbbdaf6a4}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!reset@{reset}} \index{reset@{reset}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{reset()}{reset()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::reset (\begin{DoxyParamCaption}\item[{T $\ast$}]{p, }\item[{std\+::decay\+\_\+t$<$ Deleter $>$}]{del = {\ttfamily \{\}} }\end{DoxyParamCaption}) \& -\/$>$ void \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00732}{732}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a9d845b09ab52c539f265aa99c9913e18}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a9d845b09ab52c539f265aa99c9913e18}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!reset@{reset}} \index{reset@{reset}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{reset()}{reset()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::reset (\begin{DoxyParamCaption}\item[{T $\ast$}]{p = {\ttfamily nullptr}, }\item[{bool}]{owner = {\ttfamily false}, }\item[{std\+::decay\+\_\+t$<$ Deleter $>$}]{del = {\ttfamily \{\}} }\end{DoxyParamCaption}) \& -\/$>$ void \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00723}{723}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a29e9a6c77df27230b4f1c26ceda675ab}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a29e9a6c77df27230b4f1c26ceda675ab}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!swap@{swap}} \index{swap@{swap}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{swap()}{swap()}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::swap (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&}]{other }\end{DoxyParamCaption}) -\/$>$ void \hspace{0.3cm}{\ttfamily [inline]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00741}{741}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a91d8990a847e41065015815da307d208}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a91d8990a847e41065015815da307d208}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!to\_unique@{to\_unique}} \index{to\_unique@{to\_unique}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{to\_unique()}{to\_unique()}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::to\+\_\+unique (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \&\& -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique}} \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Transfers ownership to a unique\+\_\+ptr if possible. If $\ast$this is not owning, returns nullptr. \begin{DoxyPostcond}{Postcondition} If ownership was transferred, $\ast$this is null. Otherwise, does nothing. \end{DoxyPostcond} \begin{DoxyReturn}{Returns} std\+::unique\+\_\+ptr$<$\+T, Deleter$>$ Either a pointer which owns what $\ast$this owned, or a null pointer. \end{DoxyReturn} Definition at line \mbox{\hyperlink{memory_8h_source_l00689}{689}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_ac8406b39f6fafb27ae7e275bf327b19d}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_ac8406b39f6fafb27ae7e275bf327b19d}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!weak@{weak}} \index{weak@{weak}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{weak()}{weak()}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::weak (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const \& -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00707}{707}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \doxysubsection{Friends And Related Function Documentation} \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_af61e5b452edde39ca5d0cdde94fd65ea}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_af61e5b452edde39ca5d0cdde94fd65ea}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!operator==@{operator==}} \index{operator==@{operator==}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator==}{operator==}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ constexpr auto operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&}]{rhs }\end{DoxyParamCaption}) -\/$>$ bool \hspace{0.3cm}{\ttfamily [friend]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00761}{761}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_ae57a614a50b0c04e6958395ef8898e25}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_ae57a614a50b0c04e6958395ef8898e25}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!operator==@{operator==}} \index{operator==@{operator==}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator==}{operator==}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ constexpr auto operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique}} \&}]{rhs }\end{DoxyParamCaption}) -\/$>$ bool \hspace{0.3cm}{\ttfamily [friend]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00771}{771}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a92b1d18c8db327093cb7978c80a2a00a}\label{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a92b1d18c8db327093cb7978c80a2a00a}} \index{kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}!operator==@{operator==}} \index{operator==@{operator==}!kblib::cond\_ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib::cond\_ptr$<$ T[], Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator==}{operator==}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\ constexpr auto operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classkblib_1_1cond__ptr_3_01_t_0f_0e_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique}} \&}]{lhs, }\item[{const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&}]{rhs }\end{DoxyParamCaption}) -\/$>$ bool \hspace{0.3cm}{\ttfamily [friend]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00766}{766}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item kblib/\mbox{\hyperlink{memory_8h}{memory.\+h}}\end{DoxyCompactItemize}