\hypertarget{structefl_1_1eo_1_1js_1_1method__caller}{}\section{efl\+:\+:eo\+:\+:js\+:\+:method\+\_\+caller$<$ In, Out, Ownership, F, Return, Parameters $>$ Struct Template Reference}
\label{structefl_1_1eo_1_1js_1_1method__caller}\index{efl\+::eo\+::js\+::method\+\_\+caller$<$ In, Out, Ownership, F, Return, Parameters $>$@{efl\+::eo\+::js\+::method\+\_\+caller$<$ In, Out, Ownership, F, Return, Parameters $>$}}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structefl_1_1eo_1_1js_1_1method__caller_1_1is__inout}{is\+\_\+inout}
\item 
struct \hyperlink{structefl_1_1eo_1_1js_1_1method__caller_1_1is__out}{is\+\_\+out}
\item 
struct \hyperlink{structefl_1_1eo_1_1js_1_1method__caller_1_1out__transform}{out\+\_\+transform}
\end{DoxyCompactItemize}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef \hyperlink{structefl_1_1eina_1_1__mpl_1_1function__params}{eina\+::\+\_\+mpl\+::function\+\_\+params}$<$ F $>$\+::type {\bfseries parameters\+\_\+t}\hypertarget{structefl_1_1eo_1_1js_1_1method__caller_af5c47d4ffd06a916e7892a5ce599c150}{}\label{structefl_1_1eo_1_1js_1_1method__caller_af5c47d4ffd06a916e7892a5ce599c150}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename Out\+Parameter , std\+::size\+\_\+t I, typename R $>$ }\\eina\+::js\+::compatibility\+\_\+return\+\_\+type {\bfseries create\+\_\+return\+\_\+unique\+\_\+value} (eina\+::js\+::compatibility\+\_\+callback\+\_\+info\+\_\+type args, R const \&r) const \hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a6f4c1684908027f6ad203d6da45b47bc}{}\label{structefl_1_1eo_1_1js_1_1method__caller_a6f4c1684908027f6ad203d6da45b47bc}

\item 
{\footnotesize template$<$typename Out\+Parameters , typename Outs $>$ }\\eina\+::js\+::compatibility\+\_\+return\+\_\+type {\bfseries create\+\_\+return\+\_\+value} (eina\+::js\+::compatibility\+\_\+callback\+\_\+info\+\_\+type args, Outs const \&outs, typename std\+::enable\+\_\+if$<$ std\+::tuple\+\_\+size$<$ Outs $>$\+::value==1 $>$\+::type $\ast$=0) const \hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a98a0fdb22053500394e2f3f96549da43}{}\label{structefl_1_1eo_1_1js_1_1method__caller_a98a0fdb22053500394e2f3f96549da43}

\item 
{\footnotesize template$<$typename Out\+Parameters , typename Outs $>$ }\\eina\+::js\+::compatibility\+\_\+return\+\_\+type {\bfseries create\+\_\+return\+\_\+value} (eina\+::js\+::compatibility\+\_\+callback\+\_\+info\+\_\+type, Outs const \&, typename std\+::enable\+\_\+if$<$ std\+::tuple\+\_\+size$<$ Outs $>$\+::value==0 $>$\+::type $\ast$=0) const \hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a4d0ad5560ea1feb3b985e937896733cd}{}\label{structefl_1_1eo_1_1js_1_1method__caller_a4d0ad5560ea1feb3b985e937896733cd}

\item 
{\footnotesize template$<$typename Out\+Parameters , typename Outs $>$ }\\eina\+::js\+::compatibility\+\_\+return\+\_\+type {\bfseries create\+\_\+return\+\_\+value} (eina\+::js\+::compatibility\+\_\+callback\+\_\+info\+\_\+type args, Outs const \&outs, typename std\+::enable\+\_\+if$<$(std\+::tuple\+\_\+size$<$ Outs $>$\+::value $>$ 1)$>$\+::type $\ast$=0) const \hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a19606b715fc4f7e2f6dc5a9561c4bfcd}{}\label{structefl_1_1eo_1_1js_1_1method__caller_a19606b715fc4f7e2f6dc5a9561c4bfcd}

\item 
{\footnotesize template$<$typename Out\+Parameters , typename R , typename Outs $>$ }\\eina\+::js\+::compatibility\+\_\+return\+\_\+type {\bfseries create\+\_\+return\+\_\+value} (eina\+::js\+::compatibility\+\_\+callback\+\_\+info\+\_\+type args, R const \&r, Outs const \&, typename std\+::enable\+\_\+if$<$ std\+::tuple\+\_\+size$<$ Outs $>$\+::value==0 $>$\+::type $\ast$=0) const \hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a76450a70262615054a8b96c1eddf5c03}{}\label{structefl_1_1eo_1_1js_1_1method__caller_a76450a70262615054a8b96c1eddf5c03}

\item 
{\footnotesize template$<$typename Out\+Parameters , std\+::size\+\_\+t Offset, typename Outs , std\+::size\+\_\+t... S$>$ }\\void {\bfseries set\+\_\+return} (v8\+::\+Isolate $\ast$isolate, v8\+::\+Local$<$ v8\+::\+Array $>$ r, Outs const \&outs, \hyperlink{group__Eina__Cxx__Integer__Sequence__Group_gaea4a4bec2b5d598e527eb134692ead8f}{eina\+::index\+\_\+sequence}$<$ S... $>$) const \hypertarget{structefl_1_1eo_1_1js_1_1method__caller_ac634c34519044fb65ed3d576ecf0e3fe}{}\label{structefl_1_1eo_1_1js_1_1method__caller_ac634c34519044fb65ed3d576ecf0e3fe}

\item 
{\footnotesize template$<$typename Out\+Parameters , typename R , typename Outs $>$ }\\eina\+::js\+::compatibility\+\_\+return\+\_\+type {\bfseries create\+\_\+return\+\_\+value} (eina\+::js\+::compatibility\+\_\+callback\+\_\+info\+\_\+type args, R const \&r, Outs const \&outs, typename std\+::enable\+\_\+if$<$ std\+::tuple\+\_\+size$<$ Outs $>$\+::value!=0 $>$\+::type $\ast$=0) const \hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a0d9b76186a33ca50247ab1c1e61b94fd}{}\label{structefl_1_1eo_1_1js_1_1method__caller_a0d9b76186a33ca50247ab1c1e61b94fd}

\item 
{\footnotesize template$<$typename Out\+Parameters , std\+::size\+\_\+t... I$>$ }\\eina\+::js\+::compatibility\+\_\+return\+\_\+type {\bfseries aux} (eina\+::js\+::compatibility\+\_\+callback\+\_\+info\+\_\+type args, \hyperlink{group__Eina__Cxx__Integer__Sequence__Group_gaea4a4bec2b5d598e527eb134692ead8f}{eina\+::index\+\_\+sequence}$<$ I... $>$, std\+::true\+\_\+type) const \hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a4881e5089aea76671fe3dfe636d8fe89}{}\label{structefl_1_1eo_1_1js_1_1method__caller_a4881e5089aea76671fe3dfe636d8fe89}

\item 
{\footnotesize template$<$typename Out\+Parameters , std\+::size\+\_\+t... I$>$ }\\eina\+::js\+::compatibility\+\_\+return\+\_\+type {\bfseries aux} (eina\+::js\+::compatibility\+\_\+callback\+\_\+info\+\_\+type args, \hyperlink{group__Eina__Cxx__Integer__Sequence__Group_gaea4a4bec2b5d598e527eb134692ead8f}{eina\+::index\+\_\+sequence}$<$ I... $>$, std\+::false\+\_\+type) const \hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a1b859e145c801096221706eed8e726ee}{}\label{structefl_1_1eo_1_1js_1_1method__caller_a1b859e145c801096221706eed8e726ee}

\item 
eina\+::js\+::compatibility\+\_\+return\+\_\+type {\bfseries operator()} (eina\+::js\+::compatibility\+\_\+callback\+\_\+info\+\_\+type args)\hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a55943001a2279a250305ef5872306e90}{}\label{structefl_1_1eo_1_1js_1_1method__caller_a55943001a2279a250305ef5872306e90}

\item 
{\footnotesize template$<$typename A $>$ }\\{\bfseries method\+\_\+caller} (F f, A \&\&c)\hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a2ca70f1d31a29608c9e92392efa4f99e}{}\label{structefl_1_1eo_1_1js_1_1method__caller_a2ca70f1d31a29608c9e92392efa4f99e}

\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$std\+::size\+\_\+t I, typename Outs $>$ }\\static std\+::tuple\+\_\+element$<$ I, parameters\+\_\+t $>$\+::type {\bfseries get\+\_\+value} (eina\+::js\+::compatibility\+\_\+callback\+\_\+info\+\_\+type args, Outs \&, v8\+::\+Isolate $\ast$isolate, char const $\ast$class\+\_\+name, std\+::false\+\_\+type)\hypertarget{structefl_1_1eo_1_1js_1_1method__caller_ae378e71e2eacfcd1f3b89a8ba00bb3d0}{}\label{structefl_1_1eo_1_1js_1_1method__caller_ae378e71e2eacfcd1f3b89a8ba00bb3d0}

\item 
{\footnotesize template$<$std\+::size\+\_\+t I, typename Outs $>$ }\\static std\+::add\+\_\+pointer$<$ typename std\+::tuple\+\_\+element$<$ \hyperlink{structefl_1_1eina_1_1__mpl_1_1tuple__find}{eina\+::\+\_\+mpl\+::tuple\+\_\+find}$<$ std\+::integral\+\_\+constant$<$ std\+::size\+\_\+t, I $>$, Out $>$\+::value, Outs $>$\+::type $>$\+::type {\bfseries get\+\_\+value} (eina\+::js\+::compatibility\+\_\+callback\+\_\+info\+\_\+type, Outs \&outs, v8\+::\+Isolate $\ast$, char const $\ast$, std\+::true\+\_\+type)\hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a6c1126afa632399b941e20461d260c35}{}\label{structefl_1_1eo_1_1js_1_1method__caller_a6c1126afa632399b941e20461d260c35}

\item 
{\footnotesize template$<$std\+::size\+\_\+t I, typename Outs $>$ }\\static void {\bfseries init\+\_\+inout} (eina\+::js\+::compatibility\+\_\+callback\+\_\+info\+\_\+type args, Outs \&outs, v8\+::\+Isolate $\ast$isolate, char const $\ast$class\+\_\+name, std\+::true\+\_\+type)\hypertarget{structefl_1_1eo_1_1js_1_1method__caller_ae90e88ef0b3e82334fdae6ab63725ea9}{}\label{structefl_1_1eo_1_1js_1_1method__caller_ae90e88ef0b3e82334fdae6ab63725ea9}

\item 
{\footnotesize template$<$std\+::size\+\_\+t I, typename Outs $>$ }\\static void {\bfseries init\+\_\+inout} (eina\+::js\+::compatibility\+\_\+callback\+\_\+info\+\_\+type, Outs \&, v8\+::\+Isolate $\ast$, char const $\ast$, std\+::false\+\_\+type)\hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a805fcda81911595d0d2aa19a11821d1c}{}\label{structefl_1_1eo_1_1js_1_1method__caller_a805fcda81911595d0d2aa19a11821d1c}

\end{DoxyCompactItemize}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
F {\bfseries function}\hypertarget{structefl_1_1eo_1_1js_1_1method__caller_aaf9038f05d27604be284c3897ce0de80}{}\label{structefl_1_1eo_1_1js_1_1method__caller_aaf9038f05d27604be284c3897ce0de80}

\item 
std\+::array$<$ const char $\ast$, std\+::tuple\+\_\+size$<$ Ownership $>$\+::value+1 $>$ \hyperlink{structefl_1_1eo_1_1js_1_1method__caller_a5294c3a43dff273d5e14bfc925778f27}{class\+\_\+names}\hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a5294c3a43dff273d5e14bfc925778f27}{}\label{structefl_1_1eo_1_1js_1_1method__caller_a5294c3a43dff273d5e14bfc925778f27}

\begin{DoxyCompactList}\small\item\em Hold the names of the type of each argument, with the return\textquotesingle{}s type name at the end. \end{DoxyCompactList}\end{DoxyCompactItemize}
