\hypertarget{group__Efl__Cxx__Detail}{\section{Efl\+\_\+\+Cxx\+\_\+\+Detail}
\label{group__Efl__Cxx__Detail}\index{Efl\+\_\+\+Cxx\+\_\+\+Detail@{Efl\+\_\+\+Cxx\+\_\+\+Detail}}
}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1operation__description__size}{efl\+::eo\+::detail\+::operation\+\_\+description\+\_\+size$<$ E $>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1operation__description__size_3_01E0_00_01E_8_8_8_4}{efl\+::eo\+::detail\+::operation\+\_\+description\+\_\+size$<$ E0, E...$>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1operation__description__size_3_4}{efl\+::eo\+::detail\+::operation\+\_\+description\+\_\+size$<$$>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1is__args__class}{efl\+::eo\+::detail\+::is\+\_\+args\+\_\+class$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1is__args__class_3_01args__class_3_01T_00_01Tuple_01_4_01_4}{efl\+::eo\+::detail\+::is\+\_\+args\+\_\+class$<$ args\+\_\+class$<$ T, Tuple $>$ $>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1are__args__class}{efl\+::eo\+::detail\+::are\+\_\+args\+\_\+class$<$ Tuple $>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1are__args__class_3_01std_1_1tuple_3_4_01_4}{efl\+::eo\+::detail\+::are\+\_\+args\+\_\+class$<$ std\+::tuple$<$$>$ $>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1are__args__class_3_01std_1_1tuple_3_01T0_00_01T_8_8_8_4_01_4}{efl\+::eo\+::detail\+::are\+\_\+args\+\_\+class$<$ std\+::tuple$<$ T0, T...$>$ $>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1has__args__class}{efl\+::eo\+::detail\+::has\+\_\+args\+\_\+class$<$ T, Tuple $>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1has__args__class_3_01T_00_01std_1_1tuple_3_01detail_1_1args__class_7bdd742a3c297f35989669ac59efa112}{efl\+::eo\+::detail\+::has\+\_\+args\+\_\+class$<$ T, std\+::tuple$<$ detail\+::args\+\_\+class$<$ T, Tuple $>$, Args...$>$ $>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1has__args__class_3_01T_00_01std_1_1tuple_3_01T0_00_01Args_8_8_8_4_01_4}{efl\+::eo\+::detail\+::has\+\_\+args\+\_\+class$<$ T, std\+::tuple$<$ T0, Args...$>$ $>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1call__constructor__aux}{efl\+::eo\+::detail\+::call\+\_\+constructor\+\_\+aux$<$ T, N $>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1call__constructor__aux_3_01T_00_011u_01_4}{efl\+::eo\+::detail\+::call\+\_\+constructor\+\_\+aux$<$ T, 1u $>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1operation__description__index}{efl\+::eo\+::detail\+::operation\+\_\+description\+\_\+index$<$ I, E $>$}
\item 
struct \hyperlink{structefl_1_1eo_1_1detail_1_1operation__description__index_3_010u_00_01E_8_8_8_4}{efl\+::eo\+::detail\+::operation\+\_\+description\+\_\+index$<$ 0u, E...$>$}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Efl__Cxx__Detail_ga7604409e615a34205553ccf0302c4533}{typedef std\+::integral\+\_\+constant\\*
$<$ std\+::size\+\_\+t, 0u $>$ {\bfseries efl\+::eo\+::detail\+::has\+\_\+args\+\_\+class$<$ T, Tuple $>$\+::index}}\label{group__Efl__Cxx__Detail_ga7604409e615a34205553ccf0302c4533}

\item 
\hypertarget{group__Efl__Cxx__Detail_gab4e9e0806fa95ea175a4e2ac6d22b1e2}{typedef detail\+::args\+\_\+class$<$ T, \\*
Tuple $>$ {\bfseries efl\+::eo\+::detail\+::has\+\_\+args\+\_\+class$<$ T, std\+::tuple$<$ detail\+::args\+\_\+class$<$ T, Tuple $>$, Args...$>$ $>$\+::type}}\label{group__Efl__Cxx__Detail_gab4e9e0806fa95ea175a4e2ac6d22b1e2}

\item 
\hypertarget{group__Efl__Cxx__Detail_ga60d50be50b09acbc9267d37212055372}{typedef std\+::integral\+\_\+constant\\*
$<$ std\+::size\+\_\+t, 0u $>$ {\bfseries efl\+::eo\+::detail\+::has\+\_\+args\+\_\+class$<$ T, std\+::tuple$<$ detail\+::args\+\_\+class$<$ T, Tuple $>$, Args...$>$ $>$\+::index}}\label{group__Efl__Cxx__Detail_ga60d50be50b09acbc9267d37212055372}

\item 
\hypertarget{group__Efl__Cxx__Detail_gad4599606c0bdc58710c26b3b6459cad8}{typedef has\+\_\+args\+\_\+class$<$ T, \\*
std\+::tuple$<$ Args...$>$ $>$ {\bfseries efl\+::eo\+::detail\+::has\+\_\+args\+\_\+class$<$ T, std\+::tuple$<$ T0, Args...$>$ $>$\+::base\+\_\+type}}\label{group__Efl__Cxx__Detail_gad4599606c0bdc58710c26b3b6459cad8}

\item 
\hypertarget{group__Efl__Cxx__Detail_gaa133254631480d67fc2bfc6ab5cee388}{typedef std\+::integral\+\_\+constant\\*
$<$ std\+::size\+\_\+t, 1u+base\+\_\+type\+::index\+::value $>$ {\bfseries efl\+::eo\+::detail\+::has\+\_\+args\+\_\+class$<$ T, std\+::tuple$<$ T0, Args...$>$ $>$\+::index}}\label{group__Efl__Cxx__Detail_gaa133254631480d67fc2bfc6ab5cee388}

\item 
\hypertarget{group__Efl__Cxx__Detail_gacb759b15c73a7e4eaaaa87ce25c34663}{typedef std\+::tuple$<$ E...$>$ {\bfseries efl\+::eo\+::detail\+::operation\+\_\+description\+\_\+index$<$ I, E $>$\+::tuple\+\_\+type}}\label{group__Efl__Cxx__Detail_gacb759b15c73a7e4eaaaa87ce25c34663}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Efl__Cxx__Detail_gae8719dbd6fce4caaa8fb1d2017b97974}{{\footnotesize template$<$typename T , typename Args $>$ }\\void {\bfseries efl\+::eo\+::detail\+::call\+\_\+constructor} (efl\+::eo\+::detail\+::tag$<$ T $>$ tag, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$eo, \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} const $\ast$cls, Args args)}\label{group__Efl__Cxx__Detail_gae8719dbd6fce4caaa8fb1d2017b97974}

\item 
\hypertarget{group__Efl__Cxx__Detail_ga40ae92eeb5fbc0cfc5babe64df63b9e5}{{\footnotesize template$<$typename Args , typename P $>$ }\\static void {\bfseries efl\+::eo\+::detail\+::call\+\_\+constructor\+\_\+aux$<$ T, N $>$\+::do\+\_\+} (Args const \&, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$eo, \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} const $\ast$cls, P, typename std\+::enable\+\_\+if$<$!P\+::value $>$\+::type $\ast$=0)}\label{group__Efl__Cxx__Detail_ga40ae92eeb5fbc0cfc5babe64df63b9e5}

\item 
\hypertarget{group__Efl__Cxx__Detail_gaad70a1190b830ec483f83703b09e4c86}{{\footnotesize template$<$typename Args , typename P $>$ }\\static void {\bfseries efl\+::eo\+::detail\+::call\+\_\+constructor\+\_\+aux$<$ T, N $>$\+::do\+\_\+} (Args const \&args, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$eo, \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} const $\ast$cls, P, typename std\+::enable\+\_\+if$<$ P\+::value $>$\+::type $\ast$=0)}\label{group__Efl__Cxx__Detail_gaad70a1190b830ec483f83703b09e4c86}

\item 
\hypertarget{group__Efl__Cxx__Detail_gae08f0ccc909045dcdf6e55a425fa61ab}{{\footnotesize template$<$typename Args $>$ }\\static int {\bfseries efl\+::eo\+::detail\+::call\+\_\+constructor\+\_\+aux$<$ T, N $>$\+::do\+\_\+} (Args const \&args, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$eo, \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} const $\ast$cls)}\label{group__Efl__Cxx__Detail_gae08f0ccc909045dcdf6e55a425fa61ab}

\item 
\hypertarget{group__Efl__Cxx__Detail_ga9b6e51dae4c1137333d028991bd66152}{{\footnotesize template$<$typename Args $>$ }\\static void {\bfseries efl\+::eo\+::detail\+::call\+\_\+constructor\+\_\+aux$<$ T, 1u $>$\+::do\+\_\+} (Args const \&args, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$eo, \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} const $\ast$cls, std\+::true\+\_\+type)}\label{group__Efl__Cxx__Detail_ga9b6e51dae4c1137333d028991bd66152}

\item 
\hypertarget{group__Efl__Cxx__Detail_ga42ecf9110176a73868df42171c6d6331}{{\footnotesize template$<$typename Args $>$ }\\static void {\bfseries efl\+::eo\+::detail\+::call\+\_\+constructor\+\_\+aux$<$ T, 1u $>$\+::do\+\_\+} (Args const \&args, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$eo, \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} const $\ast$cls, std\+::false\+\_\+type)}\label{group__Efl__Cxx__Detail_ga42ecf9110176a73868df42171c6d6331}

\item 
\hypertarget{group__Efl__Cxx__Detail_ga5ac918980a22f02b84b09979659b4995}{{\footnotesize template$<$typename Args $>$ }\\static int {\bfseries efl\+::eo\+::detail\+::call\+\_\+constructor\+\_\+aux$<$ T, 1u $>$\+::do\+\_\+} (Args const \&args, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$eo, \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} const $\ast$cls)}\label{group__Efl__Cxx__Detail_ga5ac918980a22f02b84b09979659b4995}

\item 
\hypertarget{group__Efl__Cxx__Detail_ga1e060004b4bbcce46f993415a6e83452}{{\footnotesize template$<$typename... Args$>$ }\\void {\bfseries efl\+::eo\+::detail\+::call\+\_\+varargs} (Args...)}\label{group__Efl__Cxx__Detail_ga1e060004b4bbcce46f993415a6e83452}

\item 
\hypertarget{group__Efl__Cxx__Detail_ga39508cb27c028ded66149e9b14523e4d}{{\footnotesize template$<$typename D , typename Args , typename... E$>$ }\\void {\bfseries efl\+::eo\+::detail\+::inherit\+\_\+constructor\+\_\+impl} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, Inherit\+\_\+\+Private\+\_\+\+Data $\ast$self, void $\ast$this\+\_\+, Args args)}\label{group__Efl__Cxx__Detail_ga39508cb27c028ded66149e9b14523e4d}

\item 
\hypertarget{group__Efl__Cxx__Detail_ga6e0088db00a98a6765fad65a79669801}{{\footnotesize template$<$typename Args , typename... E$>$ }\\void {\bfseries efl\+::eo\+::detail\+::inherit\+\_\+constructor} (void $\ast$this\+\_\+, Args args)}\label{group__Efl__Cxx__Detail_ga6e0088db00a98a6765fad65a79669801}

\item 
\hypertarget{group__Efl__Cxx__Detail_ga825b1f1e336df897e0dd4dcae14b18c5}{{\footnotesize template$<$typename T $>$ }\\int {\bfseries efl\+::eo\+::detail\+::initialize\+\_\+operation\+\_\+description} (detail\+::tag$<$ void $>$, void $\ast$)}\label{group__Efl__Cxx__Detail_ga825b1f1e336df897e0dd4dcae14b18c5}

\item 
\hypertarget{group__Efl__Cxx__Detail_ga4184b08c2a5a5ba4c9280bb502edfa89}{{\footnotesize template$<$typename D , typename Args , typename... E, std\+::size\+\_\+t... S$>$ }\\\hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} const $\ast$ {\bfseries efl\+::eo\+::detail\+::create\+\_\+class} (eina\+::index\+\_\+sequence$<$ S...$>$)}\label{group__Efl__Cxx__Detail_ga4184b08c2a5a5ba4c9280bb502edfa89}

\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static const int {\bfseries efl\+::eo\+::detail\+::operation\+\_\+description\+\_\+size$<$ E0, E...$>$\+::value}
\item 
\hypertarget{group__Efl__Cxx__Detail_ga943f3f33cf3eb65b4d55a3e9d02bc2db}{static const int {\bfseries efl\+::eo\+::detail\+::operation\+\_\+description\+\_\+size$<$$>$\+::value} = 0}\label{group__Efl__Cxx__Detail_ga943f3f33cf3eb65b4d55a3e9d02bc2db}

\item 
static const std\+::size\+\_\+t {\bfseries efl\+::eo\+::detail\+::operation\+\_\+description\+\_\+index$<$ I, E $>$\+::value}
\item 
\hypertarget{group__Efl__Cxx__Detail_ga337e3625506036112828e39eb83705a4}{static const std\+::size\+\_\+t {\bfseries efl\+::eo\+::detail\+::operation\+\_\+description\+\_\+index$<$ 0u, E...$>$\+::value} = 0u}\label{group__Efl__Cxx__Detail_ga337e3625506036112828e39eb83705a4}

\end{DoxyCompactItemize}


\subsection{Detailed Description}


\subsection{Variable Documentation}
\hypertarget{group__Efl__Cxx__Detail_ga02ffefa9936a6dc43faca59f5c73e4f1}{\index{Efl\+\_\+\+Cxx\+\_\+\+Detail@{Efl\+\_\+\+Cxx\+\_\+\+Detail}!value@{value}}
\index{value@{value}!Efl\+\_\+\+Cxx\+\_\+\+Detail@{Efl\+\_\+\+Cxx\+\_\+\+Detail}}
\subsubsection[{value}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename E0 , typename... E$>$ const int {\bf efl\+::eo\+::detail\+::operation\+\_\+description\+\_\+size}$<$ E0, E...$>$\+::value\hspace{0.3cm}{\ttfamily [static]}}}\label{group__Efl__Cxx__Detail_ga02ffefa9936a6dc43faca59f5c73e4f1}
{\bfseries Initial value\+:}
\begin{DoxyCode}
= operation\_description\_class\_size<E0>::value +
     operation\_description\_size<E...>::value
\end{DoxyCode}
\hypertarget{group__Efl__Cxx__Detail_ga817979cf4644dc86d1a03f284edf9601}{\index{Efl\+\_\+\+Cxx\+\_\+\+Detail@{Efl\+\_\+\+Cxx\+\_\+\+Detail}!value@{value}}
\index{value@{value}!Efl\+\_\+\+Cxx\+\_\+\+Detail@{Efl\+\_\+\+Cxx\+\_\+\+Detail}}
\subsubsection[{value}]{\setlength{\rightskip}{0pt plus 5cm}template$<$std\+::size\+\_\+t I, typename... E$>$ const std\+::size\+\_\+t {\bf efl\+::eo\+::detail\+::operation\+\_\+description\+\_\+index}$<$ I, E $>$\+::value\hspace{0.3cm}{\ttfamily [static]}}}\label{group__Efl__Cxx__Detail_ga817979cf4644dc86d1a03f284edf9601}
{\bfseries Initial value\+:}
\begin{DoxyCode}
=
     detail::operation\_description\_size
     < \textcolor{keyword}{typename} std::tuple\_element
       <I-1, tuple\_type>::type >::value +
     operation\_description\_index<I-1, E...>::value
\end{DoxyCode}
