\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 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_af5c47d4ffd06a916e7892a5ce599c150}\label{structefl_1_1eo_1_1js_1_1method__caller_af5c47d4ffd06a916e7892a5ce599c150}} 
typedef \hyperlink{structefl_1_1eina_1_1__mpl_1_1function__params}{eina\+::\+\_\+mpl\+::function\+\_\+params}$<$ F $>$\+::type {\bfseries parameters\+\_\+t}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a23f9fb1b2528234ff40097fd825b387d}\label{structefl_1_1eo_1_1js_1_1method__caller_a23f9fb1b2528234ff40097fd825b387d}} 
{\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
\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_aa2a77f920934870904c24e43c60d0c89}\label{structefl_1_1eo_1_1js_1_1method__caller_aa2a77f920934870904c24e43c60d0c89}} 
{\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
\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_ad4da6215ea960a15f903e6ec56dc81d6}\label{structefl_1_1eo_1_1js_1_1method__caller_ad4da6215ea960a15f903e6ec56dc81d6}} 
{\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
\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a1e32c507137dc258b3f393178f648a76}\label{structefl_1_1eo_1_1js_1_1method__caller_a1e32c507137dc258b3f393178f648a76}} 
{\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
\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a8fda35d28979f69e28a102efcebd41dc}\label{structefl_1_1eo_1_1js_1_1method__caller_a8fda35d28979f69e28a102efcebd41dc}} 
{\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
\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_aa12fd1bdb27976d0f8ccad949620c752}\label{structefl_1_1eo_1_1js_1_1method__caller_aa12fd1bdb27976d0f8ccad949620c752}} 
{\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
\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_ab2a5b851f2aa9adc18d4a79e50c860bc}\label{structefl_1_1eo_1_1js_1_1method__caller_ab2a5b851f2aa9adc18d4a79e50c860bc}} 
{\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
\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_ad16698abe9e82f8b737248e9e2bad9d0}\label{structefl_1_1eo_1_1js_1_1method__caller_ad16698abe9e82f8b737248e9e2bad9d0}} 
{\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
\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a26c5246eae166c53c66b0c831d89f40f}\label{structefl_1_1eo_1_1js_1_1method__caller_a26c5246eae166c53c66b0c831d89f40f}} 
{\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
\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a55943001a2279a250305ef5872306e90}\label{structefl_1_1eo_1_1js_1_1method__caller_a55943001a2279a250305ef5872306e90}} 
eina\+::js\+::compatibility\+\_\+return\+\_\+type {\bfseries operator()} (eina\+::js\+::compatibility\+\_\+callback\+\_\+info\+\_\+type args)
\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a2ca70f1d31a29608c9e92392efa4f99e}\label{structefl_1_1eo_1_1js_1_1method__caller_a2ca70f1d31a29608c9e92392efa4f99e}} 
{\footnotesize template$<$typename A $>$ }\\{\bfseries method\+\_\+caller} (F f, A \&\&c)
\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_ae378e71e2eacfcd1f3b89a8ba00bb3d0}\label{structefl_1_1eo_1_1js_1_1method__caller_ae378e71e2eacfcd1f3b89a8ba00bb3d0}} 
{\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)
\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a6c1126afa632399b941e20461d260c35}\label{structefl_1_1eo_1_1js_1_1method__caller_a6c1126afa632399b941e20461d260c35}} 
{\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)
\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_ae90e88ef0b3e82334fdae6ab63725ea9}\label{structefl_1_1eo_1_1js_1_1method__caller_ae90e88ef0b3e82334fdae6ab63725ea9}} 
{\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)
\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a805fcda81911595d0d2aa19a11821d1c}\label{structefl_1_1eo_1_1js_1_1method__caller_a805fcda81911595d0d2aa19a11821d1c}} 
{\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)
\end{DoxyCompactItemize}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_aaf9038f05d27604be284c3897ce0de80}\label{structefl_1_1eo_1_1js_1_1method__caller_aaf9038f05d27604be284c3897ce0de80}} 
F {\bfseries function}
\item 
\mbox{\Hypertarget{structefl_1_1eo_1_1js_1_1method__caller_a5294c3a43dff273d5e14bfc925778f27}\label{structefl_1_1eo_1_1js_1_1method__caller_a5294c3a43dff273d5e14bfc925778f27}} 
std\+::array$<$ const char $\ast$, std\+::tuple\+\_\+size$<$ Ownership $>$\+::value+1 $>$ \hyperlink{structefl_1_1eo_1_1js_1_1method__caller_a5294c3a43dff273d5e14bfc925778f27}{class\+\_\+names}
\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}
