\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}
