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