\hypertarget{classkblib_1_1cond__ptr}{}\doxysection{kblib\+::cond\+\_\+ptr\texorpdfstring{$<$}{<} T, Deleter \texorpdfstring{$>$}{>} Class Template Reference} \label{classkblib_1_1cond__ptr}\index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} {\ttfamily \#include $<$kblib/memory.\+h$>$} Inheritance diagram for kblib\+::cond\+\_\+ptr\texorpdfstring{$<$}{<} T, Deleter \texorpdfstring{$>$}{>}\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=213pt]{classkblib_1_1cond__ptr__inherit__graph} \end{center} \end{figure} Collaboration diagram for kblib\+::cond\+\_\+ptr\texorpdfstring{$<$}{<} T, Deleter \texorpdfstring{$>$}{>}\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=213pt]{classkblib_1_1cond__ptr__coll__graph} \end{center} \end{figure} \doxysubsection*{Public Types} \begin{DoxyCompactItemize} \item using \mbox{\hyperlink{classkblib_1_1cond__ptr_ae2f122e7a4096237e00a5f1cbc7e487d}{pointer}} = \mbox{\hyperlink{namespacekblib_1_1detail__memory_a9cb8ba19f19eee413f3cb3a221bb3a60}{detail\+\_\+memory\+::filter\+\_\+deleter\+\_\+pointer\+\_\+t}}$<$ Deleter, T $>$ \item using \mbox{\hyperlink{classkblib_1_1cond__ptr_a7b63afcf80c825f1306bb54bcec71637}{element\+\_\+type}} = T \item using \mbox{\hyperlink{classkblib_1_1cond__ptr_a6bcd0bfc4aa82aa486846912c0559d4f}{deleter\+\_\+type}} = Deleter \item using \mbox{\hyperlink{classkblib_1_1cond__ptr_a4df32829014a485bd76ec1398454161a}{unique}} = std\+::unique\+\_\+ptr$<$ T, Deleter $>$ \end{DoxyCompactItemize} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classkblib_1_1cond__ptr_aac6b1d399fa73d06508b46a5aa076cab}{cond\+\_\+ptr}} () noexcept=default \item \mbox{\hyperlink{classkblib_1_1cond__ptr_a90368b6e23bfb184e3c0707c90600b82}{cond\+\_\+ptr}} (std\+::nullptr\+\_\+t) noexcept \item \mbox{\hyperlink{classkblib_1_1cond__ptr_a524a265215e1ca03b5929864a0bc41cd}{cond\+\_\+ptr}} (T $\ast$p, bool \mbox{\hyperlink{namespacekblib_a71909c4e14de14b43b7179d2ccb490e8}{owner}}=false, std\+::decay\+\_\+t$<$ Deleter $>$ del=\{\}) noexcept \item \mbox{\hyperlink{classkblib_1_1cond__ptr_a621a7ad8d3d84241eecf4d94fdc58d4a}{cond\+\_\+ptr}} (T $\ast$p, std\+::decay\+\_\+t$<$ Deleter $>$ del) noexcept \item \mbox{\hyperlink{classkblib_1_1cond__ptr_a9ba1534e6e693ee770b9fb30631a748a}{cond\+\_\+ptr}} (\mbox{\hyperlink{classkblib_1_1cond__ptr_a4df32829014a485bd76ec1398454161a}{unique}} \&\&p) noexcept \item \mbox{\hyperlink{classkblib_1_1cond__ptr_a6d313c971dd198e1f60b2b469f13fb28}{cond\+\_\+ptr}} (const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \&other)=delete \item \mbox{\hyperlink{classkblib_1_1cond__ptr_afee522bce600526a781a54300709801c}{cond\+\_\+ptr}} (\mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \&\&other) noexcept \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_a19e5d2c5635cc58baa90f8c69339394b}{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_a86b830b4462e4ab421817034b37ddd5b}{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_a82a6bdb60a59c2ae44612e458c7f0026}{operator=}} (\mbox{\hyperlink{classkblib_1_1cond__ptr_a4df32829014a485bd76ec1398454161a}{unique}} \&\&rhs) -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \& \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_ab3bbf0c8c3223f83971fb2c2928042e6}{to\+\_\+unique}} () \&\&noexcept -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr_a4df32829014a485bd76ec1398454161a}{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_a01c0993059485a01a450bbf4df40fb84}{operator unique}} () \&\&noexcept \item \mbox{\hyperlink{classkblib_1_1cond__ptr_a5aac6c6de760ec559f9ecf0e7f9f85f6}{$\sim$cond\+\_\+ptr}} () noexcept \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_adce65161246e16e2b8e2b0c77a9a9ed6}{weak}} () const \&noexcept -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_a518feab723272e3a07bfe33c7d1ac69a}{owns}} () const noexcept -\/$>$ bool \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_a44a71791e46c1c3a0539116399ea602f}{release}} () \&noexcept -\/$>$ T $\ast$ \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_a72205c4d0a79021139d8294692fc54df}{get\+\_\+deleter}} () noexcept -\/$>$ Deleter \& \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_a87e9cbd850657dbe09a0dffe9b9752d8}{get\+\_\+deleter}} () const noexcept -\/$>$ const Deleter \& \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_a25d228af46d3ff9d4c84b783add5a760}{reset}} (T $\ast$p=nullptr, bool \mbox{\hyperlink{namespacekblib_a71909c4e14de14b43b7179d2ccb490e8}{owner}}=false, std\+::decay\+\_\+t$<$ Deleter $>$ del=\{\}) \&noexcept -\/$>$ void \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_afc1f9b1d78436d3ca9b5f361ca12a1f4}{reset}} (T $\ast$p, std\+::decay\+\_\+t$<$ Deleter $>$ del=\{\}) \&noexcept -\/$>$ void \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_a5eaa86091ee75715679fda3a7e034a94}{swap}} (\mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \&other) noexcept(\mbox{\hyperlink{structkblib_1_1fakestd_1_1is__nothrow__swappable}{fakestd\+::is\+\_\+nothrow\+\_\+swappable}}$<$ Deleter $>$\+::value) -\/$>$ void \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_a63ab9e5f1b4056f14fa8b56a6df9c2fa}{get}} () \&noexcept -\/$>$ T $\ast$ \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_a9d978f8cc1cd2bf3dbd7ec799a0ce52b}{get}} () const \&noexcept -\/$>$ const T $\ast$ \item \mbox{\hyperlink{classkblib_1_1cond__ptr_a275f10e73f15a16e85c15d1a2c95cc07}{operator bool}} () const noexcept \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_a445411035d442cc40c988cbf87881ee5}{operator$\ast$}} () \&noexcept -\/$>$ T \& \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_a2defdf9d5dcfd8c6438d657beedc6a67}{operator$\ast$}} () const \&noexcept -\/$>$ const T \& \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_a2f1047a357e163499f526c22d2284f15}{operator-\/$>$}} () \&noexcept -\/$>$ T $\ast$ \item auto \mbox{\hyperlink{classkblib_1_1cond__ptr_ac19a5760b889244462fe72579cf23789}{operator-\/$>$}} () const \&noexcept -\/$>$ const T $\ast$ \end{DoxyCompactItemize} \doxysubsection*{Static Public Member Functions} \begin{DoxyCompactItemize} \item static auto \mbox{\hyperlink{classkblib_1_1cond__ptr_ac0a4d3eed94e5ca93e69fcf9b8792c20}{adopt}} (T $\ast$p) noexcept -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \item static auto \mbox{\hyperlink{classkblib_1_1cond__ptr_a214971a17b5ba7f8bac9cdb338d3679a}{adopt}} (T $\ast$p, \mbox{\hyperlink{classkblib_1_1cond__ptr_a6bcd0bfc4aa82aa486846912c0559d4f}{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_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_a92b1d18c8db327093cb7978c80a2a00a}{operator==}} (const \mbox{\hyperlink{classkblib_1_1cond__ptr_a4df32829014a485bd76ec1398454161a}{unique}} \&lhs, const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \&rhs) noexcept -\/$>$ bool \item constexpr auto \mbox{\hyperlink{classkblib_1_1cond__ptr_ae57a614a50b0c04e6958395ef8898e25}{operator==}} (const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \&lhs, const \mbox{\hyperlink{classkblib_1_1cond__ptr_a4df32829014a485bd76ec1398454161a}{unique}} \&rhs) noexcept -\/$>$ bool \end{DoxyCompactItemize} \doxysubsection{Detailed Description} \subsubsection*{template$<$typename T, typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$\newline class kblib\+::cond\+\_\+ptr$<$ T, Deleter $>$} Definition at line \mbox{\hyperlink{memory_8h_source_l00422}{422}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \doxysubsection{Member Typedef Documentation} \mbox{\Hypertarget{classkblib_1_1cond__ptr_a6bcd0bfc4aa82aa486846912c0559d4f}\label{classkblib_1_1cond__ptr_a6bcd0bfc4aa82aa486846912c0559d4f}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!deleter\_type@{deleter\_type}} \index{deleter\_type@{deleter\_type}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{deleter\_type}{deleter\_type}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ using \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::deleter\+\_\+type = Deleter} Definition at line \mbox{\hyperlink{memory_8h_source_l00428}{428}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a7b63afcf80c825f1306bb54bcec71637}\label{classkblib_1_1cond__ptr_a7b63afcf80c825f1306bb54bcec71637}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!element\_type@{element\_type}} \index{element\_type@{element\_type}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{element\_type}{element\_type}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ using \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::element\+\_\+type = T} Definition at line \mbox{\hyperlink{memory_8h_source_l00427}{427}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_ae2f122e7a4096237e00a5f1cbc7e487d}\label{classkblib_1_1cond__ptr_ae2f122e7a4096237e00a5f1cbc7e487d}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!pointer@{pointer}} \index{pointer@{pointer}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{pointer}{pointer}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ using \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, 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_l00426}{426}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a4df32829014a485bd76ec1398454161a}\label{classkblib_1_1cond__ptr_a4df32829014a485bd76ec1398454161a}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!unique@{unique}} \index{unique@{unique}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{unique}{unique}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ using \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::unique = std\+::unique\+\_\+ptr$<$T, Deleter$>$} Definition at line \mbox{\hyperlink{memory_8h_source_l00435}{435}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \doxysubsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classkblib_1_1cond__ptr_aac6b1d399fa73d06508b46a5aa076cab}\label{classkblib_1_1cond__ptr_aac6b1d399fa73d06508b46a5aa076cab}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!cond\_ptr@{cond\_ptr}} \index{cond\_ptr@{cond\_ptr}!kblib::cond\_ptr$<$ T, 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 = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::cond\+\_\+ptr (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}, {\ttfamily [noexcept]}} \mbox{\Hypertarget{classkblib_1_1cond__ptr_a90368b6e23bfb184e3c0707c90600b82}\label{classkblib_1_1cond__ptr_a90368b6e23bfb184e3c0707c90600b82}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!cond\_ptr@{cond\_ptr}} \index{cond\_ptr@{cond\_ptr}!kblib::cond\_ptr$<$ T, 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 = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, 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_l00438}{438}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a524a265215e1ca03b5929864a0bc41cd}\label{classkblib_1_1cond__ptr_a524a265215e1ca03b5929864a0bc41cd}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!cond\_ptr@{cond\_ptr}} \index{cond\_ptr@{cond\_ptr}!kblib::cond\_ptr$<$ T, 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 = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, 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_l00440}{440}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a621a7ad8d3d84241eecf4d94fdc58d4a}\label{classkblib_1_1cond__ptr_a621a7ad8d3d84241eecf4d94fdc58d4a}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!cond\_ptr@{cond\_ptr}} \index{cond\_ptr@{cond\_ptr}!kblib::cond\_ptr$<$ T, 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 = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, 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_l00445}{445}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a9ba1534e6e693ee770b9fb30631a748a}\label{classkblib_1_1cond__ptr_a9ba1534e6e693ee770b9fb30631a748a}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!cond\_ptr@{cond\_ptr}} \index{cond\_ptr@{cond\_ptr}!kblib::cond\_ptr$<$ T, 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 = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::cond\+\_\+ptr (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classkblib_1_1cond__ptr_a4df32829014a485bd76ec1398454161a}{unique}} \&\&}]{p }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00449}{449}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a6d313c971dd198e1f60b2b469f13fb28}\label{classkblib_1_1cond__ptr_a6d313c971dd198e1f60b2b469f13fb28}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!cond\_ptr@{cond\_ptr}} \index{cond\_ptr@{cond\_ptr}!kblib::cond\_ptr$<$ T, 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 = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::cond\+\_\+ptr (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T, Deleter $>$ \&}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}} \mbox{\Hypertarget{classkblib_1_1cond__ptr_afee522bce600526a781a54300709801c}\label{classkblib_1_1cond__ptr_afee522bce600526a781a54300709801c}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!cond\_ptr@{cond\_ptr}} \index{cond\_ptr@{cond\_ptr}!kblib::cond\_ptr$<$ T, 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 = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::cond\+\_\+ptr (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T, Deleter $>$ \&\&}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00457}{457}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a5aac6c6de760ec559f9ecf0e7f9f85f6}\label{classkblib_1_1cond__ptr_a5aac6c6de760ec559f9ecf0e7f9f85f6}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!````~cond\_ptr@{$\sim$cond\_ptr}} \index{````~cond\_ptr@{$\sim$cond\_ptr}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{$\sim$cond\_ptr()}{~cond\_ptr()}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, 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_l00517}{517}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{classkblib_1_1cond__ptr_ac0a4d3eed94e5ca93e69fcf9b8792c20}\label{classkblib_1_1cond__ptr_ac0a4d3eed94e5ca93e69fcf9b8792c20}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!adopt@{adopt}} \index{adopt@{adopt}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{adopt()}{adopt()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ static auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, 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_l00462}{462}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a214971a17b5ba7f8bac9cdb338d3679a}\label{classkblib_1_1cond__ptr_a214971a17b5ba7f8bac9cdb338d3679a}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!adopt@{adopt}} \index{adopt@{adopt}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{adopt()}{adopt()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ static auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::adopt (\begin{DoxyParamCaption}\item[{T $\ast$}]{p, }\item[{\mbox{\hyperlink{classkblib_1_1cond__ptr_a6bcd0bfc4aa82aa486846912c0559d4f}{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_l00465}{465}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a63ab9e5f1b4056f14fa8b56a6df9c2fa}\label{classkblib_1_1cond__ptr_a63ab9e5f1b4056f14fa8b56a6df9c2fa}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!get@{get}} \index{get@{get}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::get (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \& -\/$>$ T$\ast$ \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00567}{567}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a9d978f8cc1cd2bf3dbd7ec799a0ce52b}\label{classkblib_1_1cond__ptr_a9d978f8cc1cd2bf3dbd7ec799a0ce52b}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!get@{get}} \index{get@{get}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, 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_l00569}{569}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a87e9cbd850657dbe09a0dffe9b9752d8}\label{classkblib_1_1cond__ptr_a87e9cbd850657dbe09a0dffe9b9752d8}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!get\_deleter@{get\_deleter}} \index{get\_deleter@{get\_deleter}!kblib::cond\_ptr$<$ T, 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 = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, 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_l00537}{537}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a72205c4d0a79021139d8294692fc54df}\label{classkblib_1_1cond__ptr_a72205c4d0a79021139d8294692fc54df}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!get\_deleter@{get\_deleter}} \index{get\_deleter@{get\_deleter}!kblib::cond\_ptr$<$ T, 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 = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::get\+\_\+deleter (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) -\/$>$ Deleter\& \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00533}{533}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a275f10e73f15a16e85c15d1a2c95cc07}\label{classkblib_1_1cond__ptr_a275f10e73f15a16e85c15d1a2c95cc07}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!operator bool@{operator bool}} \index{operator bool@{operator bool}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator bool()}{operator bool()}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, 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_l00571}{571}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a01c0993059485a01a450bbf4df40fb84}\label{classkblib_1_1cond__ptr_a01c0993059485a01a450bbf4df40fb84}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!operator unique@{operator unique}} \index{operator unique@{operator unique}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator unique()}{operator unique()}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::operator \mbox{\hyperlink{classkblib_1_1cond__ptr_a4df32829014a485bd76ec1398454161a}{unique}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \&\&\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00513}{513}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a445411035d442cc40c988cbf87881ee5}\label{classkblib_1_1cond__ptr_a445411035d442cc40c988cbf87881ee5}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!operator$\ast$@{operator$\ast$}} \index{operator$\ast$@{operator$\ast$}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator$\ast$()}{operator*()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::operator$\ast$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \& -\/$>$ T\& \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00573}{573}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a2defdf9d5dcfd8c6438d657beedc6a67}\label{classkblib_1_1cond__ptr_a2defdf9d5dcfd8c6438d657beedc6a67}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!operator$\ast$@{operator$\ast$}} \index{operator$\ast$@{operator$\ast$}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator$\ast$()}{operator*()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::operator$\ast$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const \& -\/$>$ const T\& \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00575}{575}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a2f1047a357e163499f526c22d2284f15}\label{classkblib_1_1cond__ptr_a2f1047a357e163499f526c22d2284f15}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!operator-\/$>$@{operator-\/$>$}} \index{operator-\/$>$@{operator-\/$>$}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator-\/$>$()}{operator->()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::operator-\/$>$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \& -\/$>$ T$\ast$ \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00579}{579}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_ac19a5760b889244462fe72579cf23789}\label{classkblib_1_1cond__ptr_ac19a5760b889244462fe72579cf23789}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!operator-\/$>$@{operator-\/$>$}} \index{operator-\/$>$@{operator-\/$>$}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator-\/$>$()}{operator->()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::operator-\/$>$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const \& -\/$>$ const T$\ast$ \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00581}{581}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a86b830b4462e4ab421817034b37ddd5b}\label{classkblib_1_1cond__ptr_a86b830b4462e4ab421817034b37ddd5b}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!operator=@{operator=}} \index{operator=@{operator=}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::operator= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T, 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_l00479}{479}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a19e5d2c5635cc58baa90f8c69339394b}\label{classkblib_1_1cond__ptr_a19e5d2c5635cc58baa90f8c69339394b}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!operator=@{operator=}} \index{operator=@{operator=}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T, Deleter $>$ \&}]{rhs }\end{DoxyParamCaption}) \& -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}} \&=delete\hspace{0.3cm}{\ttfamily [delete]}} \mbox{\Hypertarget{classkblib_1_1cond__ptr_a82a6bdb60a59c2ae44612e458c7f0026}\label{classkblib_1_1cond__ptr_a82a6bdb60a59c2ae44612e458c7f0026}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!operator=@{operator=}} \index{operator=@{operator=}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::operator= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classkblib_1_1cond__ptr_a4df32829014a485bd76ec1398454161a}{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_l00488}{488}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a518feab723272e3a07bfe33c7d1ac69a}\label{classkblib_1_1cond__ptr_a518feab723272e3a07bfe33c7d1ac69a}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!owns@{owns}} \index{owns@{owns}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{owns()}{owns()}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::owns (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const -\/$>$ bool \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00527}{527}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a44a71791e46c1c3a0539116399ea602f}\label{classkblib_1_1cond__ptr_a44a71791e46c1c3a0539116399ea602f}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!release@{release}} \index{release@{release}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{release()}{release()}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::release (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \& -\/$>$ T$\ast$ \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00528}{528}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_afc1f9b1d78436d3ca9b5f361ca12a1f4}\label{classkblib_1_1cond__ptr_afc1f9b1d78436d3ca9b5f361ca12a1f4}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!reset@{reset}} \index{reset@{reset}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{reset()}{reset()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, 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_l00550}{550}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a25d228af46d3ff9d4c84b783add5a760}\label{classkblib_1_1cond__ptr_a25d228af46d3ff9d4c84b783add5a760}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!reset@{reset}} \index{reset@{reset}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{reset()}{reset()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, 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_l00541}{541}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a5eaa86091ee75715679fda3a7e034a94}\label{classkblib_1_1cond__ptr_a5eaa86091ee75715679fda3a7e034a94}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!swap@{swap}} \index{swap@{swap}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{swap()}{swap()}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::swap (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T, Deleter $>$ \&}]{other }\end{DoxyParamCaption}) -\/$>$ void \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00559}{559}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_ab3bbf0c8c3223f83971fb2c2928042e6}\label{classkblib_1_1cond__ptr_ab3bbf0c8c3223f83971fb2c2928042e6}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!to\_unique@{to\_unique}} \index{to\_unique@{to\_unique}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{to\_unique()}{to\_unique()}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, Deleter $>$\+::to\+\_\+unique (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \&\& -\/$>$ \mbox{\hyperlink{classkblib_1_1cond__ptr_a4df32829014a485bd76ec1398454161a}{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_l00505}{505}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_adce65161246e16e2b8e2b0c77a9a9ed6}\label{classkblib_1_1cond__ptr_adce65161246e16e2b8e2b0c77a9a9ed6}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!weak@{weak}} \index{weak@{weak}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{weak()}{weak()}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ auto \mbox{\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}}$<$ T, 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_l00523}{523}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \doxysubsection{Friends And Related Function Documentation} \mbox{\Hypertarget{classkblib_1_1cond__ptr_af61e5b452edde39ca5d0cdde94fd65ea}\label{classkblib_1_1cond__ptr_af61e5b452edde39ca5d0cdde94fd65ea}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!operator==@{operator==}} \index{operator==@{operator==}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator==}{operator==}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ constexpr auto operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T, Deleter $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T, Deleter $>$ \&}]{rhs }\end{DoxyParamCaption}) -\/$>$ bool \hspace{0.3cm}{\ttfamily [friend]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00585}{585}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_ae57a614a50b0c04e6958395ef8898e25}\label{classkblib_1_1cond__ptr_ae57a614a50b0c04e6958395ef8898e25}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!operator==@{operator==}} \index{operator==@{operator==}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator==}{operator==}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ constexpr auto operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T, Deleter $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{classkblib_1_1cond__ptr_a4df32829014a485bd76ec1398454161a}{unique}} \&}]{rhs }\end{DoxyParamCaption}) -\/$>$ bool \hspace{0.3cm}{\ttfamily [friend]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00595}{595}} of file \mbox{\hyperlink{memory_8h_source}{memory.\+h}}. \mbox{\Hypertarget{classkblib_1_1cond__ptr_a92b1d18c8db327093cb7978c80a2a00a}\label{classkblib_1_1cond__ptr_a92b1d18c8db327093cb7978c80a2a00a}} \index{kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}!operator==@{operator==}} \index{operator==@{operator==}!kblib::cond\_ptr$<$ T, Deleter $>$@{kblib::cond\_ptr$<$ T, Deleter $>$}} \doxysubsubsection{\texorpdfstring{operator==}{operator==}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}} {\footnotesize\ttfamily template$<$typename T , typename Deleter = std\+::default\+\_\+delete$<$\+T$>$$>$ \\ constexpr auto operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classkblib_1_1cond__ptr_a4df32829014a485bd76ec1398454161a}{unique}} \&}]{lhs, }\item[{const \mbox{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}}$<$ T, Deleter $>$ \&}]{rhs }\end{DoxyParamCaption}) -\/$>$ bool \hspace{0.3cm}{\ttfamily [friend]}} Definition at line \mbox{\hyperlink{memory_8h_source_l00590}{590}} 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}