\hypertarget{group__Efl__Cxx__API}{\section{Efl\+\_\+\+Cxx\+\_\+\+A\+P\+I}
\label{group__Efl__Cxx__API}\index{Efl\+\_\+\+Cxx\+\_\+\+A\+P\+I@{Efl\+\_\+\+Cxx\+\_\+\+A\+P\+I}}
}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structefl_1_1eo_1_1base}{efl\+::eo\+::base}
\begin{DoxyCompactList}\small\item\em A binding to the {\itshape E\+O Base Class}. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1extension__inheritance_3_01base_01_4}{efl\+::eo\+::detail\+::extension\+\_\+inheritance$<$ base $>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1extension__inheritance_3_01base_01_4_1_1type}{efl\+::eo\+::detail\+::extension\+\_\+inheritance$<$ base $>$\+::type$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1parent__type}{efl\+::eo\+::parent\+\_\+type}
\begin{DoxyCompactList}\small\item\em Type used to hold the parent passed to base Eo C++ constructors. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eo_1_1parent__expr}{efl\+::eo\+::parent\+\_\+expr}
\begin{DoxyCompactList}\small\item\em The expression type declaring the assignment operator used in the parent argument of the base Eo C++ class. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eo_1_1inherit}{efl\+::eo\+::inherit$<$ D, E $>$}
\begin{DoxyCompactList}\small\item\em Template-\/class that allows client code to inherit from {\itshape E\+O C++ Classes} without the need to make explicit calls to {\itshape E\+O} methods --- that would naturally be necessary to register itself in the {\itshape E\+O Subsystem}. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eo_1_1eo__init}{efl\+::eo\+::eo\+\_\+init}
\begin{DoxyCompactList}\small\item\em A simple R\+A\+I\+I implementation to initialize and terminate the {\itshape E\+O Subsystem}. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eo_1_1wref}{efl\+::eo\+::wref$<$ T $>$}
\begin{DoxyCompactList}\small\item\em Weak references to an {\itshape E\+O Object}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Efl__Cxx__API_ga4f175b4b7d8bda40dea3af04423e3b84}{bool {\bfseries efl\+::eo\+::operator==} (base const \&lhs, base const \&rhs)}\label{group__Efl__Cxx__API_ga4f175b4b7d8bda40dea3af04423e3b84}

\item 
\hypertarget{group__Efl__Cxx__API_ga8da45e43a714cc495ab3b66cbc8dcbba}{bool {\bfseries efl\+::eo\+::operator!=} (base const \&lhs, base const \&rhs)}\label{group__Efl__Cxx__API_ga8da45e43a714cc495ab3b66cbc8dcbba}

\item 
{\footnotesize template$<$typename T , typename U $>$ }\\T \hyperlink{group__Efl__Cxx__API_gad2f73bc0ae0cb49f99c45b6bfdd93359}{efl\+::eo\+::downcast} (U object)
\begin{DoxyCompactList}\small\item\em Downcast {\ttfamily U} to {\ttfamily T}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Efl__Cxx__API_ga9a67daec890c873d3df9cf33b2ddd187}{parent\+\_\+expr const \hyperlink{group__Efl__Cxx__API_ga9a67daec890c873d3df9cf33b2ddd187}{efl\+::eo\+::parent} = \{\}}\label{group__Efl__Cxx__API_ga9a67daec890c873d3df9cf33b2ddd187}

\begin{DoxyCompactList}\small\item\em Placeholder for the parent argument. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}


\subsection{Function Documentation}
\hypertarget{group__Efl__Cxx__API_gad2f73bc0ae0cb49f99c45b6bfdd93359}{\index{Efl\+\_\+\+Cxx\+\_\+\+A\+P\+I@{Efl\+\_\+\+Cxx\+\_\+\+A\+P\+I}!downcast@{downcast}}
\index{downcast@{downcast}!Efl\+\_\+\+Cxx\+\_\+\+A\+P\+I@{Efl\+\_\+\+Cxx\+\_\+\+A\+P\+I}}
\subsubsection[{downcast}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T , typename U $>$ T efl\+::eo\+::downcast (
\begin{DoxyParamCaption}
\item[{U}]{object}
\end{DoxyParamCaption}
)}}\label{group__Efl__Cxx__API_gad2f73bc0ae0cb49f99c45b6bfdd93359}


Downcast {\ttfamily U} to {\ttfamily T}. 


\begin{DoxyParams}{Parameters}
{\em T} & An {\itshape E\+O C++ Class}. \\
\hline
{\em U} & An {\itshape E\+O C++ Class}.\\
\hline
{\em object} & The target object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
This function returns a new instance of {\ttfamily T} if the downcast is successful --- otherwise it raises a {\ttfamily std\+::runtime\+\_\+error}. 
\end{DoxyReturn}
