\hypertarget{structefl_1_1eo_1_1wref}{\section{efl\+:\+:eo\+:\+:wref$<$ T $>$ Struct Template Reference}
\label{structefl_1_1eo_1_1wref}\index{efl\+::eo\+::wref$<$ T $>$@{efl\+::eo\+::wref$<$ T $>$}}
}


Weak references to an {\itshape E\+O Object}.  


\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{structefl_1_1eo_1_1wref_a4fcf7b23dd14f99672a8fbbd45220ba6}{wref} ()
\begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eo_1_1wref_a8e21bf59575358934d387a945176eea3}{wref} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Class constructor. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eo_1_1wref_a6ae0788f94525b79a9bc8efb42f138e1}{wref} (T obj)
\begin{DoxyCompactList}\small\item\em Class constructor. \end{DoxyCompactList}\item 
\hypertarget{structefl_1_1eo_1_1wref_a80a35e5dde0c02496459cddc402eb623}{\hyperlink{structefl_1_1eo_1_1wref_a80a35e5dde0c02496459cddc402eb623}{$\sim$wref} ()}\label{structefl_1_1eo_1_1wref_a80a35e5dde0c02496459cddc402eb623}

\begin{DoxyCompactList}\small\item\em Class destructor. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1optional}{eina\+::optional}$<$ T $>$ \hyperlink{structefl_1_1eo_1_1wref_aa7f79cfaf44543f59b03bd43287b0fe9}{lock} ()
\begin{DoxyCompactList}\small\item\em Try to acquire a strong reference to the underlying {\itshape E\+O Object}. \end{DoxyCompactList}\item 
\hypertarget{structefl_1_1eo_1_1wref_a041646c46df811cf8331be897ee08b72}{\hyperlink{structefl_1_1eo_1_1wref_a041646c46df811cf8331be897ee08b72}{wref} (\hyperlink{structefl_1_1eo_1_1wref}{wref} const \&other)}\label{structefl_1_1eo_1_1wref_a041646c46df811cf8331be897ee08b72}

\begin{DoxyCompactList}\small\item\em Copy constructor. \end{DoxyCompactList}\item 
\hypertarget{structefl_1_1eo_1_1wref_a92dea1f80569cc39efb709bd594348c5}{\hyperlink{structefl_1_1eo_1_1wref}{wref} \& \hyperlink{structefl_1_1eo_1_1wref_a92dea1f80569cc39efb709bd594348c5}{operator=} (\hyperlink{structefl_1_1eo_1_1wref}{wref} const \&other)}\label{structefl_1_1eo_1_1wref_a92dea1f80569cc39efb709bd594348c5}

\begin{DoxyCompactList}\small\item\em Assignment operator. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename T$>$struct efl\+::eo\+::wref$<$ T $>$}

Weak references to an {\itshape E\+O Object}. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{structefl_1_1eo_1_1wref_a4fcf7b23dd14f99672a8fbbd45220ba6}{\index{efl\+::eo\+::wref@{efl\+::eo\+::wref}!wref@{wref}}
\index{wref@{wref}!efl\+::eo\+::wref@{efl\+::eo\+::wref}}
\subsubsection[{wref}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ {\bf efl\+::eo\+::wref}$<$ T $>$\+::{\bf wref} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{structefl_1_1eo_1_1wref_a4fcf7b23dd14f99672a8fbbd45220ba6}


Default constructor. 

Create a empty weak reference. \hypertarget{structefl_1_1eo_1_1wref_a8e21bf59575358934d387a945176eea3}{\index{efl\+::eo\+::wref@{efl\+::eo\+::wref}!wref@{wref}}
\index{wref@{wref}!efl\+::eo\+::wref@{efl\+::eo\+::wref}}
\subsubsection[{wref}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ {\bf efl\+::eo\+::wref}$<$ T $>$\+::{\bf wref} (
\begin{DoxyParamCaption}
\item[{{\bf Eo} $\ast$}]{obj}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}}\label{structefl_1_1eo_1_1wref_a8e21bf59575358934d387a945176eea3}


Class constructor. 


\begin{DoxyParams}{Parameters}
{\em obj} & The {\itshape E\+O Object} to be referenced.\\
\hline
\end{DoxyParams}
Create a weak reference to {\ttfamily obj}. \hypertarget{structefl_1_1eo_1_1wref_a6ae0788f94525b79a9bc8efb42f138e1}{\index{efl\+::eo\+::wref@{efl\+::eo\+::wref}!wref@{wref}}
\index{wref@{wref}!efl\+::eo\+::wref@{efl\+::eo\+::wref}}
\subsubsection[{wref}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ {\bf efl\+::eo\+::wref}$<$ T $>$\+::{\bf wref} (
\begin{DoxyParamCaption}
\item[{T}]{obj}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{structefl_1_1eo_1_1wref_a6ae0788f94525b79a9bc8efb42f138e1}


Class constructor. 


\begin{DoxyParams}{Parameters}
{\em obj} & The {\itshape E\+O C++ Object} to be referenced.\\
\hline
\end{DoxyParams}
Create a weak reference to {\ttfamily obj}. 

\subsection{Member Function Documentation}
\hypertarget{structefl_1_1eo_1_1wref_aa7f79cfaf44543f59b03bd43287b0fe9}{\index{efl\+::eo\+::wref@{efl\+::eo\+::wref}!lock@{lock}}
\index{lock@{lock}!efl\+::eo\+::wref@{efl\+::eo\+::wref}}
\subsubsection[{lock}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ {\bf eina\+::optional}$<$T$>$ {\bf efl\+::eo\+::wref}$<$ T $>$\+::lock (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{structefl_1_1eo_1_1wref_aa7f79cfaf44543f59b03bd43287b0fe9}


Try to acquire a strong reference to the underlying {\itshape E\+O Object}. 

This function checks whether the weak reference still points to a valid {\itshape E\+O Object}. If the reference is still valid it increments the reference counter of the object and returns a pointer to it.

\begin{DoxyReturn}{Returns}
If the lock was successfully acquired it returns a strong reference to the {\itshape E\+O Object}. Otherwise it returns an empty \hyperlink{structefl_1_1eina_1_1optional}{eina\+::optional}. 
\end{DoxyReturn}


Referenced by efl\+::eo\+::wref$<$ T $>$\+::operator=(), efl\+::eo\+::wref$<$ T $>$\+::wref(), and efl\+::eo\+::wref$<$ T $>$\+::$\sim$wref().

