\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 EO \mbox{\hyperlink{structefl_1_1Object}{Object}}}.  


\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{structefl_1_1eo_1_1wref_a4fcf7b23dd14f99672a8fbbd45220ba6}{wref}} ()
\begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item 
\mbox{\hyperlink{structefl_1_1eo_1_1wref_a8e21bf59575358934d387a945176eea3}{wref}} (\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$obj)
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{structefl_1_1Class}{Class}} constructor. \end{DoxyCompactList}\item 
\mbox{\hyperlink{structefl_1_1eo_1_1wref_a6ae0788f94525b79a9bc8efb42f138e1}{wref}} (T obj)
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{structefl_1_1Class}{Class}} constructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1wref_a80a35e5dde0c02496459cddc402eb623}\label{structefl_1_1eo_1_1wref_a80a35e5dde0c02496459cddc402eb623}} 
\mbox{\hyperlink{structefl_1_1eo_1_1wref_a80a35e5dde0c02496459cddc402eb623}{$\sim$wref}} ()
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{structefl_1_1Class}{Class}} destructor. \end{DoxyCompactList}\item 
\mbox{\hyperlink{structefl_1_1eina_1_1optional}{eina\+::optional}}$<$ T $>$ \mbox{\hyperlink{structefl_1_1eo_1_1wref_aa7f79cfaf44543f59b03bd43287b0fe9}{lock}} ()
\begin{DoxyCompactList}\small\item\em Try to acquire a strong reference to the underlying {\itshape EO \mbox{\hyperlink{structefl_1_1Object}{Object}}}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1wref_a041646c46df811cf8331be897ee08b72}\label{structefl_1_1eo_1_1wref_a041646c46df811cf8331be897ee08b72}} 
\mbox{\hyperlink{structefl_1_1eo_1_1wref_a041646c46df811cf8331be897ee08b72}{wref}} (\mbox{\hyperlink{structefl_1_1eo_1_1wref}{wref}} const \&other)
\begin{DoxyCompactList}\small\item\em Copy constructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1wref_a92dea1f80569cc39efb709bd594348c5}\label{structefl_1_1eo_1_1wref_a92dea1f80569cc39efb709bd594348c5}} 
\mbox{\hyperlink{structefl_1_1eo_1_1wref}{wref}} \& \mbox{\hyperlink{structefl_1_1eo_1_1wref_a92dea1f80569cc39efb709bd594348c5}{operator=}} (\mbox{\hyperlink{structefl_1_1eo_1_1wref}{wref}} const \&other)
\begin{DoxyCompactList}\small\item\em Assignment operator. \end{DoxyCompactList}\end{DoxyCompactItemize}


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

Weak references to an {\itshape EO \mbox{\hyperlink{structefl_1_1Object}{Object}}}. 

\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{structefl_1_1eo_1_1wref_a4fcf7b23dd14f99672a8fbbd45220ba6}\label{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{\texorpdfstring{wref()}{wref()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{structefl_1_1eo_1_1wref}{efl\+::eo\+::wref}}$<$ T $>$\+::\mbox{\hyperlink{structefl_1_1eo_1_1wref}{wref}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Default constructor. 

Create a empty weak reference. \mbox{\Hypertarget{structefl_1_1eo_1_1wref_a8e21bf59575358934d387a945176eea3}\label{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{\texorpdfstring{wref()}{wref()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{structefl_1_1eo_1_1wref}{efl\+::eo\+::wref}}$<$ T $>$\+::\mbox{\hyperlink{structefl_1_1eo_1_1wref}{wref}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$}]{obj }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}



\mbox{\hyperlink{structefl_1_1Class}{Class}} constructor. 


\begin{DoxyParams}{Parameters}
{\em obj} & The {\itshape EO \mbox{\hyperlink{structefl_1_1Object}{Object}}} to be referenced.\\
\hline
\end{DoxyParams}
Create a weak reference to {\ttfamily obj}. \mbox{\Hypertarget{structefl_1_1eo_1_1wref_a6ae0788f94525b79a9bc8efb42f138e1}\label{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{\texorpdfstring{wref()}{wref()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{structefl_1_1eo_1_1wref}{efl\+::eo\+::wref}}$<$ T $>$\+::\mbox{\hyperlink{structefl_1_1eo_1_1wref}{wref}} (\begin{DoxyParamCaption}\item[{T}]{obj }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



\mbox{\hyperlink{structefl_1_1Class}{Class}} constructor. 


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

\subsection{Member Function Documentation}
\mbox{\Hypertarget{structefl_1_1eo_1_1wref_aa7f79cfaf44543f59b03bd43287b0fe9}\label{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{\texorpdfstring{lock()}{lock()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{structefl_1_1eina_1_1optional}{eina\+::optional}}$<$T$>$ \mbox{\hyperlink{structefl_1_1eo_1_1wref}{efl\+::eo\+::wref}}$<$ T $>$\+::lock (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Try to acquire a strong reference to the underlying {\itshape EO \mbox{\hyperlink{structefl_1_1Object}{Object}}}. 

This function checks whether the weak reference still points to a valid {\itshape EO \mbox{\hyperlink{structefl_1_1Object}{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 EO \mbox{\hyperlink{structefl_1_1Object}{Object}}}. Otherwise it returns an empty \mbox{\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().

