\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 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}{}\label{structefl_1_1eo_1_1wref_a80a35e5dde0c02496459cddc402eb623} 
\hyperlink{structefl_1_1eo_1_1wref_a80a35e5dde0c02496459cddc402eb623}{$\sim$wref} ()
\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 EO Object}. \end{DoxyCompactList}\item 
\hypertarget{structefl_1_1eo_1_1wref_a041646c46df811cf8331be897ee08b72}{}\label{structefl_1_1eo_1_1wref_a041646c46df811cf8331be897ee08b72} 
\hyperlink{structefl_1_1eo_1_1wref_a041646c46df811cf8331be897ee08b72}{wref} (\hyperlink{structefl_1_1eo_1_1wref}{wref} const \&other)
\begin{DoxyCompactList}\small\item\em Copy constructor. \end{DoxyCompactList}\item 
\hypertarget{structefl_1_1eo_1_1wref_a92dea1f80569cc39efb709bd594348c5}{}\label{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)
\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 Object}. 

\subsection{Constructor \& Destructor Documentation}
\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 $>$ \\
\hyperlink{structefl_1_1eo_1_1wref}{efl\+::eo\+::wref}$<$ T $>$\+::\hyperlink{structefl_1_1eo_1_1wref}{wref} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Default constructor. 

Create a empty weak reference. \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 $>$ \\
\hyperlink{structefl_1_1eo_1_1wref}{efl\+::eo\+::wref}$<$ T $>$\+::\hyperlink{structefl_1_1eo_1_1wref}{wref} (\begin{DoxyParamCaption}\item[{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{obj }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}



Class constructor. 


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



Class constructor. 


\begin{DoxyParams}{Parameters}
{\em obj} & The {\itshape EO 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}{}\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 $>$ \\
\hyperlink{structefl_1_1eina_1_1optional}{eina\+::optional}$<$T$>$ \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 Object}. 

This function checks whether the weak reference still points to a valid {\itshape EO 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 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().

