\hypertarget{classebml_1_1ebml__weak__ptr}{}\section{ebml\+:\+:ebml\+\_\+weak\+\_\+ptr$<$ T $>$ Class Template Reference}
\label{classebml_1_1ebml__weak__ptr}\index{ebml\+::ebml\+\_\+weak\+\_\+ptr$<$ T $>$@{ebml\+::ebml\+\_\+weak\+\_\+ptr$<$ T $>$}}


A drop-\/in replacement for std\+::weak\+\_\+ptr tailored for E\+B\+ML objects.  




{\ttfamily \#include $<$ptrs.\+h$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr_a86594b7c692570d6df435d545053f8f7}{ebml\+\_\+weak\+\_\+ptr}} ()
\item 
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr_a6b1d9dbac556780bfd4a11b96b99b4f8}{ebml\+\_\+weak\+\_\+ptr}} (const std\+::nullptr\+\_\+t \&)
\item 
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr_ae766d92d74cc21037df50056f97aa4f1}{ebml\+\_\+weak\+\_\+ptr}} (const \mbox{\hyperlink{classebml_1_1ebml__shared__ptr}{ebml\+\_\+shared\+\_\+ptr}}$<$ T $>$ \&shared\+Ptr)
\item 
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr_ad539fc45b6bd3fdce4e04b46df810918}{ebml\+\_\+weak\+\_\+ptr}} (const \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$ \&other)
\item 
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr_a6a8f6fe0c2f61397738a91a98691715f}{ebml\+\_\+weak\+\_\+ptr}} (\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$ \&\&other)
\item 
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$ \& \mbox{\hyperlink{classebml_1_1ebml__weak__ptr_aa6626057e7b77645ecfab49684a05061}{operator=}} (const \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$ \&other)
\item 
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$ \& \mbox{\hyperlink{classebml_1_1ebml__weak__ptr_a47e16b7c9140fd31e64aefeb2cc51e10}{operator=}} (\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$ \&\&other)
\item 
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr_a54b3ba800f88a3de2d296d6f7cbf4659}{$\sim$ebml\+\_\+weak\+\_\+ptr}} ()
\item 
\mbox{\hyperlink{classebml_1_1ebml__shared__ptr}{ebml\+\_\+shared\+\_\+ptr}}$<$ T $>$ \mbox{\hyperlink{classebml_1_1ebml__weak__ptr_a8f2fb456f19f4f233c6feabca5bd107b}{lock}} () const
\item 
\mbox{\hyperlink{classebml_1_1ebml__shared__ptr}{ebml\+\_\+shared\+\_\+ptr}}$<$ const T $>$ \mbox{\hyperlink{classebml_1_1ebml__weak__ptr_a19f3841795e9b122277deb20aa268139}{c\+\_\+lock}} () const
\item 
{\footnotesize template$<$typename U $>$ }\\\mbox{\hyperlink{classebml_1_1ebml__shared__ptr}{ebml\+\_\+shared\+\_\+ptr}}$<$ U $>$ \mbox{\hyperlink{classebml_1_1ebml__weak__ptr_a2a4ca9d7b27c9b88d02499eacf28df14}{lock}} () const
\item 
{\footnotesize template$<$typename U $>$ }\\std\+::enable\+\_\+if\+\_\+t$<$!std\+::is\+\_\+same$<$ T, U $>$\+::value, \mbox{\hyperlink{classebml_1_1ebml__shared__ptr}{ebml\+\_\+shared\+\_\+ptr}}$<$ U $>$ $>$ \mbox{\hyperlink{classebml_1_1ebml__weak__ptr_a05eb0fa3fd4c400e781ae52d2d4a6a20}{c\+\_\+lock}} () const
\item 
bool \mbox{\hyperlink{classebml_1_1ebml__weak__ptr_ac68abdc96fc4285149c3e5ffce2f247d}{expired}} () const
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr_aa0e4b87807e50b663a30547e4022d6bb}{ebml\+\_\+weak\+\_\+ptr}} (\mbox{\hyperlink{structebml_1_1control__block}{control\+\_\+block}} $\ast$\mbox{\hyperlink{classebml_1_1ebml__weak__ptr_a826e8df946a09c39c233d7ef15b85880}{ctl}}, T $\ast$\mbox{\hyperlink{namespaceebml_a390a3cc4808943a10d4a6f1f912afaba}{ptr}})
\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
std\+::mutex \mbox{\hyperlink{classebml_1_1ebml__weak__ptr_a5d4d305244399a2a09bac73c5c95969a}{mutex}}
\item 
\mbox{\hyperlink{structebml_1_1control__block}{control\+\_\+block}} $\ast$ \mbox{\hyperlink{classebml_1_1ebml__weak__ptr_a826e8df946a09c39c233d7ef15b85880}{ctl}} = nullptr
\item 
T $\ast$ \mbox{\hyperlink{classebml_1_1ebml__weak__ptr_ac6197daa23f9f9608e21c47ecbadffd7}{ptr}} = nullptr
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename U , typename V $>$ }\\\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$ U $>$ \mbox{\hyperlink{classebml_1_1ebml__weak__ptr_a37dbc0fd03c6800895b69efaf61560c8}{ebml\+\_\+static\+\_\+pointer\+\_\+cast}} (const \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$ V $>$ \&)
\item 
{\footnotesize template$<$typename U , typename V $>$ }\\\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$ U $>$ \mbox{\hyperlink{classebml_1_1ebml__weak__ptr_a5dd4e7e2e471a580fe9e892340d7d682}{ebml\+\_\+dynamic\+\_\+pointer\+\_\+cast}} (const \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$ V $>$ \&)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class T$>$\newline
class ebml\+::ebml\+\_\+weak\+\_\+ptr$<$ T $>$}

A drop-\/in replacement for std\+::weak\+\_\+ptr tailored for E\+B\+ML objects. 

The \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}} provides a safe mechanism to observe an object managed by \mbox{\hyperlink{classebml_1_1ebml__shared__ptr}{ebml\+\_\+shared\+\_\+ptr}} without affecting its lifetime.


\begin{DoxyTemplParams}{Template Parameters}
{\em T} & Type of the object being observed. \\
\hline
\end{DoxyTemplParams}


\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_aa0e4b87807e50b663a30547e4022d6bb}\label{classebml_1_1ebml__weak__ptr_aa0e4b87807e50b663a30547e4022d6bb}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!ebml\+\_\+weak\+\_\+ptr@{ebml\+\_\+weak\+\_\+ptr}}
\index{ebml\+\_\+weak\+\_\+ptr@{ebml\+\_\+weak\+\_\+ptr}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{ebml\+\_\+weak\+\_\+ptr()}{ebml\_weak\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}}
{\footnotesize\ttfamily template$<$class T$>$ \\
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+::ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$\+::\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structebml_1_1control__block}{control\+\_\+block}} $\ast$}]{ctl,  }\item[{T $\ast$}]{ptr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [protected]}}

\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_a86594b7c692570d6df435d545053f8f7}\label{classebml_1_1ebml__weak__ptr_a86594b7c692570d6df435d545053f8f7}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!ebml\+\_\+weak\+\_\+ptr@{ebml\+\_\+weak\+\_\+ptr}}
\index{ebml\+\_\+weak\+\_\+ptr@{ebml\+\_\+weak\+\_\+ptr}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{ebml\+\_\+weak\+\_\+ptr()}{ebml\_weak\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}}
{\footnotesize\ttfamily template$<$class T$>$ \\
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+::ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$\+::\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_a6b1d9dbac556780bfd4a11b96b99b4f8}\label{classebml_1_1ebml__weak__ptr_a6b1d9dbac556780bfd4a11b96b99b4f8}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!ebml\+\_\+weak\+\_\+ptr@{ebml\+\_\+weak\+\_\+ptr}}
\index{ebml\+\_\+weak\+\_\+ptr@{ebml\+\_\+weak\+\_\+ptr}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{ebml\+\_\+weak\+\_\+ptr()}{ebml\_weak\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}}
{\footnotesize\ttfamily template$<$class T$>$ \\
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+::ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$\+::\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}} (\begin{DoxyParamCaption}\item[{const std\+::nullptr\+\_\+t \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_ae766d92d74cc21037df50056f97aa4f1}\label{classebml_1_1ebml__weak__ptr_ae766d92d74cc21037df50056f97aa4f1}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!ebml\+\_\+weak\+\_\+ptr@{ebml\+\_\+weak\+\_\+ptr}}
\index{ebml\+\_\+weak\+\_\+ptr@{ebml\+\_\+weak\+\_\+ptr}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{ebml\+\_\+weak\+\_\+ptr()}{ebml\_weak\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}}
{\footnotesize\ttfamily template$<$class T$>$ \\
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+::ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$\+::\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}} (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classebml_1_1ebml__shared__ptr}{ebml\+\_\+shared\+\_\+ptr}}$<$ T $>$ \&}]{shared\+Ptr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}

\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_ad539fc45b6bd3fdce4e04b46df810918}\label{classebml_1_1ebml__weak__ptr_ad539fc45b6bd3fdce4e04b46df810918}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!ebml\+\_\+weak\+\_\+ptr@{ebml\+\_\+weak\+\_\+ptr}}
\index{ebml\+\_\+weak\+\_\+ptr@{ebml\+\_\+weak\+\_\+ptr}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{ebml\+\_\+weak\+\_\+ptr()}{ebml\_weak\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}}
{\footnotesize\ttfamily template$<$class T$>$ \\
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+::ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$\+::\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}} (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$ \&}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_a6a8f6fe0c2f61397738a91a98691715f}\label{classebml_1_1ebml__weak__ptr_a6a8f6fe0c2f61397738a91a98691715f}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!ebml\+\_\+weak\+\_\+ptr@{ebml\+\_\+weak\+\_\+ptr}}
\index{ebml\+\_\+weak\+\_\+ptr@{ebml\+\_\+weak\+\_\+ptr}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{ebml\+\_\+weak\+\_\+ptr()}{ebml\_weak\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}}
{\footnotesize\ttfamily template$<$class T$>$ \\
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+::ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$\+::\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$ \&\&}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_a54b3ba800f88a3de2d296d6f7cbf4659}\label{classebml_1_1ebml__weak__ptr_a54b3ba800f88a3de2d296d6f7cbf4659}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!````~ebml\+\_\+weak\+\_\+ptr@{$\sim$ebml\+\_\+weak\+\_\+ptr}}
\index{````~ebml\+\_\+weak\+\_\+ptr@{$\sim$ebml\+\_\+weak\+\_\+ptr}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{$\sim$ebml\+\_\+weak\+\_\+ptr()}{~ebml\_weak\_ptr()}}
{\footnotesize\ttfamily template$<$class T$>$ \\
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+::ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$\+::$\sim$\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_a19f3841795e9b122277deb20aa268139}\label{classebml_1_1ebml__weak__ptr_a19f3841795e9b122277deb20aa268139}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!c\+\_\+lock@{c\+\_\+lock}}
\index{c\+\_\+lock@{c\+\_\+lock}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{c\+\_\+lock()}{c\_lock()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class T$>$ \\
\mbox{\hyperlink{classebml_1_1ebml__shared__ptr}{ebml\+\_\+shared\+\_\+ptr}}$<$const T$>$ \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+::ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$\+::c\+\_\+lock (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_a05eb0fa3fd4c400e781ae52d2d4a6a20}\label{classebml_1_1ebml__weak__ptr_a05eb0fa3fd4c400e781ae52d2d4a6a20}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!c\+\_\+lock@{c\+\_\+lock}}
\index{c\+\_\+lock@{c\+\_\+lock}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{c\+\_\+lock()}{c\_lock()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class T$>$ \\
template$<$typename U $>$ \\
std\+::enable\+\_\+if\+\_\+t$<$!std\+::is\+\_\+same$<$T, U$>$\+::value, \mbox{\hyperlink{classebml_1_1ebml__shared__ptr}{ebml\+\_\+shared\+\_\+ptr}}$<$U$>$ $>$ \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+::ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$\+::c\+\_\+lock (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_ac68abdc96fc4285149c3e5ffce2f247d}\label{classebml_1_1ebml__weak__ptr_ac68abdc96fc4285149c3e5ffce2f247d}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!expired@{expired}}
\index{expired@{expired}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{expired()}{expired()}}
{\footnotesize\ttfamily template$<$class T$>$ \\
bool \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+::ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$\+::expired (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_a8f2fb456f19f4f233c6feabca5bd107b}\label{classebml_1_1ebml__weak__ptr_a8f2fb456f19f4f233c6feabca5bd107b}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!lock@{lock}}
\index{lock@{lock}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{lock()}{lock()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class T$>$ \\
\mbox{\hyperlink{classebml_1_1ebml__shared__ptr}{ebml\+\_\+shared\+\_\+ptr}}$<$T$>$ \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+::ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$\+::lock (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_a2a4ca9d7b27c9b88d02499eacf28df14}\label{classebml_1_1ebml__weak__ptr_a2a4ca9d7b27c9b88d02499eacf28df14}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!lock@{lock}}
\index{lock@{lock}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{lock()}{lock()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class T$>$ \\
template$<$typename U $>$ \\
\mbox{\hyperlink{classebml_1_1ebml__shared__ptr}{ebml\+\_\+shared\+\_\+ptr}}$<$U$>$ \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+::ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$\+::lock (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_aa6626057e7b77645ecfab49684a05061}\label{classebml_1_1ebml__weak__ptr_aa6626057e7b77645ecfab49684a05061}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!operator=@{operator=}}
\index{operator=@{operator=}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class T$>$ \\
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$T$>$\& \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+::ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$ \&}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_a47e16b7c9140fd31e64aefeb2cc51e10}\label{classebml_1_1ebml__weak__ptr_a47e16b7c9140fd31e64aefeb2cc51e10}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!operator=@{operator=}}
\index{operator=@{operator=}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class T$>$ \\
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$T$>$\& \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+::ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$\+::operator= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$ \&\&}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



\subsection{Friends And Related Function Documentation}
\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_a5dd4e7e2e471a580fe9e892340d7d682}\label{classebml_1_1ebml__weak__ptr_a5dd4e7e2e471a580fe9e892340d7d682}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!ebml\+\_\+dynamic\+\_\+pointer\+\_\+cast@{ebml\+\_\+dynamic\+\_\+pointer\+\_\+cast}}
\index{ebml\+\_\+dynamic\+\_\+pointer\+\_\+cast@{ebml\+\_\+dynamic\+\_\+pointer\+\_\+cast}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{ebml\+\_\+dynamic\+\_\+pointer\+\_\+cast}{ebml\_dynamic\_pointer\_cast}}
{\footnotesize\ttfamily template$<$class T$>$ \\
template$<$typename U , typename V $>$ \\
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$U$>$ ebml\+\_\+dynamic\+\_\+pointer\+\_\+cast (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$ V $>$ \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}

\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_a37dbc0fd03c6800895b69efaf61560c8}\label{classebml_1_1ebml__weak__ptr_a37dbc0fd03c6800895b69efaf61560c8}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!ebml\+\_\+static\+\_\+pointer\+\_\+cast@{ebml\+\_\+static\+\_\+pointer\+\_\+cast}}
\index{ebml\+\_\+static\+\_\+pointer\+\_\+cast@{ebml\+\_\+static\+\_\+pointer\+\_\+cast}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{ebml\+\_\+static\+\_\+pointer\+\_\+cast}{ebml\_static\_pointer\_cast}}
{\footnotesize\ttfamily template$<$class T$>$ \\
template$<$typename U , typename V $>$ \\
\mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$U$>$ ebml\+\_\+static\+\_\+pointer\+\_\+cast (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+\_\+weak\+\_\+ptr}}$<$ V $>$ \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}



\subsection{Member Data Documentation}
\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_a826e8df946a09c39c233d7ef15b85880}\label{classebml_1_1ebml__weak__ptr_a826e8df946a09c39c233d7ef15b85880}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!ctl@{ctl}}
\index{ctl@{ctl}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{ctl}{ctl}}
{\footnotesize\ttfamily template$<$class T$>$ \\
\mbox{\hyperlink{structebml_1_1control__block}{control\+\_\+block}}$\ast$ \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+::ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$\+::ctl = nullptr\hspace{0.3cm}{\ttfamily [mutable]}, {\ttfamily [protected]}}

\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_a5d4d305244399a2a09bac73c5c95969a}\label{classebml_1_1ebml__weak__ptr_a5d4d305244399a2a09bac73c5c95969a}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!mutex@{mutex}}
\index{mutex@{mutex}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{mutex}{mutex}}
{\footnotesize\ttfamily template$<$class T$>$ \\
std\+::mutex \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+::ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$\+::mutex\hspace{0.3cm}{\ttfamily [mutable]}, {\ttfamily [protected]}}

\mbox{\Hypertarget{classebml_1_1ebml__weak__ptr_ac6197daa23f9f9608e21c47ecbadffd7}\label{classebml_1_1ebml__weak__ptr_ac6197daa23f9f9608e21c47ecbadffd7}} 
\index{ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}!ptr@{ptr}}
\index{ptr@{ptr}!ebml\+::ebml\+\_\+weak\+\_\+ptr@{ebml\+::ebml\+\_\+weak\+\_\+ptr}}
\subsubsection{\texorpdfstring{ptr}{ptr}}
{\footnotesize\ttfamily template$<$class T$>$ \\
T$\ast$ \mbox{\hyperlink{classebml_1_1ebml__weak__ptr}{ebml\+::ebml\+\_\+weak\+\_\+ptr}}$<$ T $>$\+::\mbox{\hyperlink{namespaceebml_a390a3cc4808943a10d4a6f1f912afaba}{ptr}} = nullptr\hspace{0.3cm}{\ttfamily [protected]}}



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
src/libebml\+\_\+ng/\mbox{\hyperlink{ptrs_8h}{ptrs.\+h}}\end{DoxyCompactItemize}
