\section{booster\+:\+:shared\+\_\+ptr$<$ T $>$ Class Template Reference}
\label{classbooster_1_1shared__ptr}\index{booster\+::shared\+\_\+ptr$<$ T $>$@{booster\+::shared\+\_\+ptr$<$ T $>$}}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef T {\bfseries element\+\_\+type}\label{classbooster_1_1shared__ptr_a39185bbbcb2b45c05078b172aba40d18}

\item 
typedef T {\bfseries value\+\_\+type}\label{classbooster_1_1shared__ptr_a4e47f9bb1d99914dae9c423decd5b212}

\item 
typedef T $\ast$ {\bfseries pointer}\label{classbooster_1_1shared__ptr_aacdf919530faee7137bd7316c09b7858}

\item 
typedef {\bf booster\+::detail\+::shared\+\_\+ptr\+\_\+traits}$<$ T $>$\+::reference {\bfseries reference}\label{classbooster_1_1shared__ptr_af6612466646e048e063db10122e48099}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$class Y $>$ }\\{\bfseries shared\+\_\+ptr} (Y $\ast$p)\label{classbooster_1_1shared__ptr_a000d34a3137fb015ed5ae9db556e74ef}

\item 
{\footnotesize template$<$class Y , class D $>$ }\\{\bfseries shared\+\_\+ptr} (Y $\ast$p, D d)\label{classbooster_1_1shared__ptr_ab948babd840ab3e92749913822a8e35e}

\item 
{\footnotesize template$<$class Y , class D , class A $>$ }\\{\bfseries shared\+\_\+ptr} (Y $\ast$p, D d, A a)\label{classbooster_1_1shared__ptr_af89da328e704618bd72f004adb9774a8}

\item 
{\footnotesize template$<$class Y $>$ }\\{\bfseries shared\+\_\+ptr} ({\bf weak\+\_\+ptr}$<$ Y $>$ const \&r)\label{classbooster_1_1shared__ptr_aa560f8dcc41497299bce00164e38351f}

\item 
{\footnotesize template$<$class Y $>$ }\\{\bfseries shared\+\_\+ptr} ({\bf weak\+\_\+ptr}$<$ Y $>$ const \&r, {\bf booster\+::detail\+::sp\+\_\+nothrow\+\_\+tag})\label{classbooster_1_1shared__ptr_ae21dac4b7740cb0e7d4a9db2836467d2}

\item 
{\footnotesize template$<$class Y $>$ }\\{\bfseries shared\+\_\+ptr} ({\bf shared\+\_\+ptr}$<$ Y $>$ const \&r, typename {\bf detail\+::sp\+\_\+enable\+\_\+if\+\_\+convertible}$<$ Y, T $>$\+::type={\bf detail\+::sp\+\_\+empty}())\label{classbooster_1_1shared__ptr_a9bb741eb049e2a649559dfe4ece4f71c}

\item 
{\footnotesize template$<$class Y $>$ }\\{\bfseries shared\+\_\+ptr} ({\bf shared\+\_\+ptr}$<$ Y $>$ const \&r, T $\ast$p)\label{classbooster_1_1shared__ptr_a44784c6272196f79fb3444bde231e77e}

\item 
{\footnotesize template$<$class Y $>$ }\\{\bfseries shared\+\_\+ptr} ({\bf shared\+\_\+ptr}$<$ Y $>$ const \&r, {\bf booster\+::detail\+::static\+\_\+cast\+\_\+tag})\label{classbooster_1_1shared__ptr_adb9df3d8151db16629c27c0a0ba5d679}

\item 
{\footnotesize template$<$class Y $>$ }\\{\bfseries shared\+\_\+ptr} ({\bf shared\+\_\+ptr}$<$ Y $>$ const \&r, {\bf booster\+::detail\+::const\+\_\+cast\+\_\+tag})\label{classbooster_1_1shared__ptr_a54495528ad6cf397e70ee93229bb06d7}

\item 
{\footnotesize template$<$class Y $>$ }\\{\bfseries shared\+\_\+ptr} ({\bf shared\+\_\+ptr}$<$ Y $>$ const \&r, {\bf booster\+::detail\+::dynamic\+\_\+cast\+\_\+tag})\label{classbooster_1_1shared__ptr_a1dd5601d4269b3c910161b4e8e50909d}

\item 
{\footnotesize template$<$class Y $>$ }\\{\bfseries shared\+\_\+ptr} ({\bf shared\+\_\+ptr}$<$ Y $>$ const \&r, {\bf booster\+::detail\+::polymorphic\+\_\+cast\+\_\+tag})\label{classbooster_1_1shared__ptr_a8e409a60bd414785c527ab491f7dfdbd}

\item 
{\footnotesize template$<$class Y $>$ }\\{\bfseries shared\+\_\+ptr} (std\+::auto\+\_\+ptr$<$ Y $>$ \&r)\label{classbooster_1_1shared__ptr_a2f90610c40f0e09521f52ffe25eec577}

\item 
{\footnotesize template$<$class Ap $>$ }\\{\bfseries shared\+\_\+ptr} (Ap r, typename {\bf booster\+::detail\+::sp\+\_\+enable\+\_\+if\+\_\+auto\+\_\+ptr}$<$ Ap, int $>$\+::type=0)\label{classbooster_1_1shared__ptr_a9880988bc8604ef1aa3749f005cf8606}

\item 
{\bf shared\+\_\+ptr} \& {\bfseries operator=} ({\bf shared\+\_\+ptr} const \&r)\label{classbooster_1_1shared__ptr_a951b8a3df82ad97bdafc95597fdbf521}

\item 
{\footnotesize template$<$class Y $>$ }\\{\bf shared\+\_\+ptr} \& {\bfseries operator=} ({\bf shared\+\_\+ptr}$<$ Y $>$ const \&r)\label{classbooster_1_1shared__ptr_aa1bd334187b21a8a31ba5444d975bfd7}

\item 
{\footnotesize template$<$class Y $>$ }\\{\bf shared\+\_\+ptr} \& {\bfseries operator=} (std\+::auto\+\_\+ptr$<$ Y $>$ \&r)\label{classbooster_1_1shared__ptr_ac8a3db645f7de85640295868fbc4f026}

\item 
{\footnotesize template$<$class Ap $>$ }\\{\bf booster\+::detail\+::sp\+\_\+enable\+\_\+if\+\_\+auto\+\_\+ptr}$<$ Ap, {\bf shared\+\_\+ptr} \& $>$\+::type {\bfseries operator=} (Ap r)\label{classbooster_1_1shared__ptr_af5a66535e99a277e8978907cca6fff94}

\item 
void {\bfseries reset} ()\label{classbooster_1_1shared__ptr_a717dbef22f028012e7add2674b87729d}

\item 
{\footnotesize template$<$class Y $>$ }\\void {\bfseries reset} (Y $\ast$p)\label{classbooster_1_1shared__ptr_a4f4524d782c5e6a87ba28607bc99674e}

\item 
{\footnotesize template$<$class Y , class D $>$ }\\void {\bfseries reset} (Y $\ast$p, D d)\label{classbooster_1_1shared__ptr_aa04c7a4f022b560408d66518b7c116ff}

\item 
{\footnotesize template$<$class Y , class D , class A $>$ }\\void {\bfseries reset} (Y $\ast$p, D d, A a)\label{classbooster_1_1shared__ptr_acff6191062f3a6ba1c4cf4bb8477ea11}

\item 
{\footnotesize template$<$class Y $>$ }\\void {\bfseries reset} ({\bf shared\+\_\+ptr}$<$ Y $>$ const \&r, T $\ast$p)\label{classbooster_1_1shared__ptr_a982b7dd9a9897bc539194c0a69f56851}

\item 
reference {\bfseries operator$\ast$} () const \label{classbooster_1_1shared__ptr_a41d1cb065b9e10152333148be2124d59}

\item 
T $\ast$ {\bfseries operator-\/$>$} () const \label{classbooster_1_1shared__ptr_ab2f5866801861c8a80468d28be225459}

\item 
T $\ast$ {\bfseries get} () const \label{classbooster_1_1shared__ptr_a0b3b71ea33c2284ae4fc52c350ff19b4}

\item 
bool {\bfseries unique} () const \label{classbooster_1_1shared__ptr_a852bb19a9dbba89a526c3f10bee70489}

\item 
long {\bfseries use\+\_\+count} () const \label{classbooster_1_1shared__ptr_a99907f1bd1bc3b992d091b78455ca17c}

\item 
void {\bfseries swap} ({\bf shared\+\_\+ptr}$<$ T $>$ \&other)\label{classbooster_1_1shared__ptr_af3cbdb878ddb9e4691bea4dfffb6ffd5}

\item 
{\footnotesize template$<$class Y $>$ }\\bool {\bfseries \+\_\+internal\+\_\+less} ({\bf shared\+\_\+ptr}$<$ Y $>$ const \&rhs) const \label{classbooster_1_1shared__ptr_a3b4f56f5e1c30ed8c2c7ff206b1ce3d2}

\item 
void $\ast$ {\bfseries \+\_\+internal\+\_\+get\+\_\+deleter} (detail\+::sp\+\_\+typeinfo const \&ti) const \label{classbooster_1_1shared__ptr_ae1f59324d5aae7890617e51ebdeee365}

\item 
bool {\bfseries \+\_\+internal\+\_\+equiv} ({\bf shared\+\_\+ptr} const \&r) const \label{classbooster_1_1shared__ptr_a7da6eb1a5ea8e47fcc091785c28cf3dc}

\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$class Y $>$ }\\class {\bfseries shared\+\_\+ptr}\label{classbooster_1_1shared__ptr_ab2104fa6e839672da3c30400e8325e52}

\item 
{\footnotesize template$<$class Y $>$ }\\class {\bfseries weak\+\_\+ptr}\label{classbooster_1_1shared__ptr_a27df6e2a1650d985bdeda33f0303c83f}

\end{DoxyCompactItemize}


The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
booster/{\bf log.\+h}\item 
booster/shared\+\_\+ptr.\+h\end{DoxyCompactItemize}
