\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_1concrete}{efl\+::eo\+::concrete}
\begin{DoxyCompactList}\small\item\em Creates concrete versions for {\itshape Eo} wrappers. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1extension__inheritance_3_01concrete_01_4_1_1type}{efl\+::eo\+::detail\+::extension\+\_\+inheritance$<$ concrete $>$\+::type$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1extension__inheritance_3_01concrete_01_4}{efl\+::eo\+::detail\+::extension\+\_\+inheritance$<$ concrete $>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1concrete__address__of}{efl\+::eo\+::detail\+::concrete\+\_\+address\+\_\+of}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1concrete__address__const__of}{efl\+::eo\+::detail\+::concrete\+\_\+address\+\_\+const\+\_\+of}
\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 concrete 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 concrete 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_gaa7b6db67f6dbc98dc9e5f9236cf36ac1}{}bool {\bfseries efl\+::eo\+::operator==} (concrete const \&lhs, concrete const \&rhs)\label{group__Efl__Cxx__API_gaa7b6db67f6dbc98dc9e5f9236cf36ac1}

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

\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(\+U object)}]{\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}
