\hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4}{}\section{efl\+:\+:eina\+:\+:optional$<$ T \& $>$ Struct Template Reference}
\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4}\index{efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef \mbox{\hyperlink{structefl_1_1eina_1_1optional}{optional}}$<$ T \& $>$ \mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a229fb7786e1a7c056db4e55627e42ed6}{\+\_\+self\+\_\+type}}
\begin{DoxyCompactList}\small\item\em Type for the optional class itself. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
constexpr \mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a2c7583584d4ecf85ac10f24d617a0837}{optional}} (std\+::nullptr\+\_\+t)
\begin{DoxyCompactList}\small\item\em Create a disengaged object. \end{DoxyCompactList}\item 
constexpr \mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a91ff35bedbb1e1dab98a89e0a16e03e2}{optional}} ()
\begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item 
\mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_aa9077e8121dbbb9ab051baff4d127b95}{optional}} (T \&other)
\begin{DoxyCompactList}\small\item\em Create an engaged object by moving {\ttfamily other} content. \end{DoxyCompactList}\item 
\mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_ab2f047e33682cfdbc1ca28109b4d782c}{optional}} (\mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a229fb7786e1a7c056db4e55627e42ed6}{\+\_\+self\+\_\+type}} const \&other)=default
\begin{DoxyCompactList}\small\item\em Copy constructor. \end{DoxyCompactList}\item 
\mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a229fb7786e1a7c056db4e55627e42ed6}{\+\_\+self\+\_\+type}} \& \mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a8513e117918ca278196f70906917bbbf}{operator=}} (\mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a229fb7786e1a7c056db4e55627e42ed6}{\+\_\+self\+\_\+type}} const \&other)=default
\begin{DoxyCompactList}\small\item\em Assign new content to the object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a6a69ebae4b7fc11f1be058c54ee20124}\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a6a69ebae4b7fc11f1be058c54ee20124}} 
void \mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a6a69ebae4b7fc11f1be058c54ee20124}{disengage}} ()
\begin{DoxyCompactList}\small\item\em Disengage the object, destroying the current contained value, if any. \end{DoxyCompactList}\item 
\mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a68e3810be6a57bf6533386058b81dea6}{operator bool}} () const
\begin{DoxyCompactList}\small\item\em Convert to {\ttfamily bool} based on whether the object is engaged or not. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_ad8992efbc9436e482ebc8aee4d9694ad}{operator!}} () const
\begin{DoxyCompactList}\small\item\em Convert to {\ttfamily bool} based on whether the object is engaged or not. \end{DoxyCompactList}\item 
T $\ast$ \mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a7cced114c9986f5f1c7dbffa1913ebf3}{operator-\/$>$}} ()
\begin{DoxyCompactList}\small\item\em Access member of the contained value. \end{DoxyCompactList}\item 
T const  $\ast$ \mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_ac318a237d33806a88a30a6932933f173}{operator-\/$>$}} () const
\begin{DoxyCompactList}\small\item\em Access constant member of the contained value. \end{DoxyCompactList}\item 
T \& \mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_affb458af3e243a265376952dda71293e}{operator$\ast$}} ()
\begin{DoxyCompactList}\small\item\em Get the contained value. \end{DoxyCompactList}\item 
T const  \& \mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_ad77ad13e7a039c5616e5672c77511bca}{operator$\ast$}} () const
\begin{DoxyCompactList}\small\item\em Get the contained value. \end{DoxyCompactList}\item 
T \& \mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_aa43f20c11ea4bc84c460a9c7211b0500}{get}} ()
\begin{DoxyCompactList}\small\item\em Get the contained value. \end{DoxyCompactList}\item 
T const  \& \mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_ad7198ca0b1f735b970220db55861a6cd}{get}} () const
\begin{DoxyCompactList}\small\item\em Get the contained value. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a7405ed7d7a68934e1b6ac74c63cad1d5}{swap}} (\mbox{\hyperlink{structefl_1_1eina_1_1optional}{optional}}$<$ T $>$ \&other)
\begin{DoxyCompactList}\small\item\em Swap content with another {\ttfamily \mbox{\hyperlink{structefl_1_1eina_1_1optional}{eina\+::optional}}} object. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a5694a830e55abd6bfc4bc890e45be54d}{is\+\_\+engaged}} () const
\begin{DoxyCompactList}\small\item\em Check if the object is engaged. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Member Typedef Documentation}
\mbox{\Hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a229fb7786e1a7c056db4e55627e42ed6}\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a229fb7786e1a7c056db4e55627e42ed6}} 
\index{efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}!\+\_\+self\+\_\+type@{\+\_\+self\+\_\+type}}
\index{\+\_\+self\+\_\+type@{\+\_\+self\+\_\+type}!efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}}
\subsubsection{\texorpdfstring{\+\_\+self\+\_\+type}{\_self\_type}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
typedef \mbox{\hyperlink{structefl_1_1eina_1_1optional}{optional}}$<$T\&$>$ \mbox{\hyperlink{structefl_1_1eina_1_1optional}{efl\+::eina\+::optional}}$<$ T \& $>$\+::\mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a229fb7786e1a7c056db4e55627e42ed6}{\+\_\+self\+\_\+type}}}



Type for the optional class itself. 



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a2c7583584d4ecf85ac10f24d617a0837}\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a2c7583584d4ecf85ac10f24d617a0837}} 
\index{efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}!optional@{optional}}
\index{optional@{optional}!efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}}
\subsubsection{\texorpdfstring{optional()}{optional()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
constexpr \mbox{\hyperlink{structefl_1_1eina_1_1optional}{efl\+::eina\+::optional}}$<$ T \& $>$\+::\mbox{\hyperlink{structefl_1_1eina_1_1optional}{optional}} (\begin{DoxyParamCaption}\item[{std\+::nullptr\+\_\+t}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Create a disengaged object. 

This constructor creates a disengaged {\ttfamily \mbox{\hyperlink{structefl_1_1eina_1_1optional}{eina\+::optional}}} object. \mbox{\Hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a91ff35bedbb1e1dab98a89e0a16e03e2}\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a91ff35bedbb1e1dab98a89e0a16e03e2}} 
\index{efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}!optional@{optional}}
\index{optional@{optional}!efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}}
\subsubsection{\texorpdfstring{optional()}{optional()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
constexpr \mbox{\hyperlink{structefl_1_1eina_1_1optional}{efl\+::eina\+::optional}}$<$ T \& $>$\+::\mbox{\hyperlink{structefl_1_1eina_1_1optional}{optional}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Default constructor. 

Create a disengaged object. \mbox{\Hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_aa9077e8121dbbb9ab051baff4d127b95}\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_aa9077e8121dbbb9ab051baff4d127b95}} 
\index{efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}!optional@{optional}}
\index{optional@{optional}!efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}}
\subsubsection{\texorpdfstring{optional()}{optional()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{structefl_1_1eina_1_1optional}{efl\+::eina\+::optional}}$<$ T \& $>$\+::\mbox{\hyperlink{structefl_1_1eina_1_1optional}{optional}} (\begin{DoxyParamCaption}\item[{T \&}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Create an engaged object by moving {\ttfamily other} content. 


\begin{DoxyParams}{Parameters}
{\em other} & R-\/value reference to the desired type.\\
\hline
\end{DoxyParams}
This constructor creates an {\ttfamily \mbox{\hyperlink{structefl_1_1eina_1_1optional}{eina\+::optional}}} object in an engaged state. The contained value is initialized by moving {\ttfamily other}. \mbox{\Hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_ab2f047e33682cfdbc1ca28109b4d782c}\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_ab2f047e33682cfdbc1ca28109b4d782c}} 
\index{efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}!optional@{optional}}
\index{optional@{optional}!efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}}
\subsubsection{\texorpdfstring{optional()}{optional()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{structefl_1_1eina_1_1optional}{efl\+::eina\+::optional}}$<$ T \& $>$\+::\mbox{\hyperlink{structefl_1_1eina_1_1optional}{optional}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a229fb7786e1a7c056db4e55627e42ed6}{\+\_\+self\+\_\+type}} const \&}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}}



Copy constructor. 

Create an object containing the same value as {\ttfamily other} and in the same state. 
\begin{DoxyParams}{Parameters}
{\em other} & Constant reference to another {\ttfamily \mbox{\hyperlink{structefl_1_1eina_1_1optional}{eina\+::optional}}} object that holds the same value type.\\
\hline
\end{DoxyParams}
This constructor creates an {\ttfamily \mbox{\hyperlink{structefl_1_1eina_1_1optional}{eina\+::optional}}} object with the same engagement state of {\ttfamily other}. If {\ttfamily other} is engaged then the contained value of the newly created object is initialized by copying the contained value of {\ttfamily other}. 

\subsection{Member Function Documentation}
\mbox{\Hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a8513e117918ca278196f70906917bbbf}\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a8513e117918ca278196f70906917bbbf}} 
\index{efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}!operator=@{operator=}}
\index{operator=@{operator=}!efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}}
\subsubsection{\texorpdfstring{operator=()}{operator=()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a229fb7786e1a7c056db4e55627e42ed6}{\+\_\+self\+\_\+type}}\& \mbox{\hyperlink{structefl_1_1eina_1_1optional}{efl\+::eina\+::optional}}$<$ T \& $>$\+::operator= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a229fb7786e1a7c056db4e55627e42ed6}{\+\_\+self\+\_\+type}} const \&}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}}



Assign new content to the object. 


\begin{DoxyParams}{Parameters}
{\em other} & Constant reference to another {\ttfamily \mbox{\hyperlink{structefl_1_1eina_1_1optional}{eina\+::optional}}} object that holds the same value type.\\
\hline
\end{DoxyParams}
This operator replaces the current content of the object. If {\ttfamily other} is engaged its contained value is copied to this object, making {\ttfamily $\ast$this} be considered engaged too. If {\ttfamily other} is disengaged {\ttfamily $\ast$this} is also made disengaged and its contained value, if any, is simple destroyed. \mbox{\Hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a68e3810be6a57bf6533386058b81dea6}\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a68e3810be6a57bf6533386058b81dea6}} 
\index{efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}!operator bool@{operator bool}}
\index{operator bool@{operator bool}!efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}}
\subsubsection{\texorpdfstring{operator bool()}{operator bool()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{structefl_1_1eina_1_1optional}{efl\+::eina\+::optional}}$<$ T \& $>$\+::operator bool (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}



Convert to {\ttfamily bool} based on whether the object is engaged or not. 

\begin{DoxyReturn}{Returns}
{\ttfamily true} if the object is engaged, {\ttfamily false} otherwise. 
\end{DoxyReturn}
\mbox{\Hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_ad8992efbc9436e482ebc8aee4d9694ad}\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_ad8992efbc9436e482ebc8aee4d9694ad}} 
\index{efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}!operator"!@{operator"!}}
\index{operator"!@{operator"!}!efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}}
\subsubsection{\texorpdfstring{operator"!()}{operator!()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
bool \mbox{\hyperlink{structefl_1_1eina_1_1optional}{efl\+::eina\+::optional}}$<$ T \& $>$\+::operator! (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Convert to {\ttfamily bool} based on whether the object is engaged or not. 

\begin{DoxyReturn}{Returns}
{\ttfamily true} if the object is disengaged, {\ttfamily false} otherwise. 
\end{DoxyReturn}
\mbox{\Hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a7cced114c9986f5f1c7dbffa1913ebf3}\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a7cced114c9986f5f1c7dbffa1913ebf3}} 
\index{efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}!operator-\/$>$@{operator-\/$>$}}
\index{operator-\/$>$@{operator-\/$>$}!efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}}
\subsubsection{\texorpdfstring{operator-\/$>$()}{operator->()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
T$\ast$ \mbox{\hyperlink{structefl_1_1eina_1_1optional}{efl\+::eina\+::optional}}$<$ T \& $>$\+::operator-\/$>$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Access member of the contained value. 

\begin{DoxyReturn}{Returns}
Pointer to the contained value, whose member will be accessed. 
\end{DoxyReturn}
\mbox{\Hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_ac318a237d33806a88a30a6932933f173}\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_ac318a237d33806a88a30a6932933f173}} 
\index{efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}!operator-\/$>$@{operator-\/$>$}}
\index{operator-\/$>$@{operator-\/$>$}!efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}}
\subsubsection{\texorpdfstring{operator-\/$>$()}{operator->()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
T const$\ast$ \mbox{\hyperlink{structefl_1_1eina_1_1optional}{efl\+::eina\+::optional}}$<$ T \& $>$\+::operator-\/$>$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Access constant member of the contained value. 

\begin{DoxyReturn}{Returns}
Constant pointer to the contained value, whose member will be accessed. 
\end{DoxyReturn}
\mbox{\Hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_affb458af3e243a265376952dda71293e}\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_affb458af3e243a265376952dda71293e}} 
\index{efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}}
\subsubsection{\texorpdfstring{operator$\ast$()}{operator*()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
T\& \mbox{\hyperlink{structefl_1_1eina_1_1optional}{efl\+::eina\+::optional}}$<$ T \& $>$\+::operator$\ast$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get the contained value. 

\begin{DoxyReturn}{Returns}
Reference to the contained value. 
\end{DoxyReturn}
\mbox{\Hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_ad77ad13e7a039c5616e5672c77511bca}\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_ad77ad13e7a039c5616e5672c77511bca}} 
\index{efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}}
\subsubsection{\texorpdfstring{operator$\ast$()}{operator*()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
T const\& \mbox{\hyperlink{structefl_1_1eina_1_1optional}{efl\+::eina\+::optional}}$<$ T \& $>$\+::operator$\ast$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get the contained value. 

\begin{DoxyReturn}{Returns}
Constant reference to the contained value. 
\end{DoxyReturn}
\mbox{\Hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_aa43f20c11ea4bc84c460a9c7211b0500}\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_aa43f20c11ea4bc84c460a9c7211b0500}} 
\index{efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}!get@{get}}
\index{get@{get}!efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}}
\subsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
T\& \mbox{\hyperlink{structefl_1_1eina_1_1optional}{efl\+::eina\+::optional}}$<$ T \& $>$\+::get (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get the contained value. 

\begin{DoxyReturn}{Returns}
Reference to the contained value. 
\end{DoxyReturn}
\mbox{\Hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_ad7198ca0b1f735b970220db55861a6cd}\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_ad7198ca0b1f735b970220db55861a6cd}} 
\index{efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}!get@{get}}
\index{get@{get}!efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}}
\subsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
T const\& \mbox{\hyperlink{structefl_1_1eina_1_1optional}{efl\+::eina\+::optional}}$<$ T \& $>$\+::get (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get the contained value. 

\begin{DoxyReturn}{Returns}
Constant reference to the contained value. 
\end{DoxyReturn}
\mbox{\Hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a7405ed7d7a68934e1b6ac74c63cad1d5}\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a7405ed7d7a68934e1b6ac74c63cad1d5}} 
\index{efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}!swap@{swap}}
\index{swap@{swap}!efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}}
\subsubsection{\texorpdfstring{swap()}{swap()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
void \mbox{\hyperlink{structefl_1_1eina_1_1optional}{efl\+::eina\+::optional}}$<$ T \& $>$\+::swap (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structefl_1_1eina_1_1optional}{optional}}$<$ T $>$ \&}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Swap content with another {\ttfamily \mbox{\hyperlink{structefl_1_1eina_1_1optional}{eina\+::optional}}} object. 


\begin{DoxyParams}{Parameters}
{\em other} & Another {\ttfamily \mbox{\hyperlink{structefl_1_1eina_1_1optional}{eina\+::optional}}} object. \\
\hline
\end{DoxyParams}


References efl\+::eina\+::swap().

\mbox{\Hypertarget{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a5694a830e55abd6bfc4bc890e45be54d}\label{structefl_1_1eina_1_1optional_3_01T_01_6_01_4_a5694a830e55abd6bfc4bc890e45be54d}} 
\index{efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}!is\+\_\+engaged@{is\+\_\+engaged}}
\index{is\+\_\+engaged@{is\+\_\+engaged}!efl\+::eina\+::optional$<$ T \& $>$@{efl\+::eina\+::optional$<$ T \& $>$}}
\subsubsection{\texorpdfstring{is\+\_\+engaged()}{is\_engaged()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
bool \mbox{\hyperlink{structefl_1_1eina_1_1optional}{efl\+::eina\+::optional}}$<$ T \& $>$\+::is\+\_\+engaged (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Check if the object is engaged. 

\begin{DoxyReturn}{Returns}
{\ttfamily true} if the object is currently engaged, {\ttfamily false} otherwise. 
\end{DoxyReturn}
