|
|
@@ -163,18 +163,12 @@ Functions</h2></td></tr>
|
|
|
<tr class="memitem:a037ab066fd6d547c57a912ffe7e5edd9"><td class="memTemplParams" colspan="2">template<typename S , typename F , typename... A> </td></tr>
|
|
|
<tr class="memitem:a037ab066fd6d547c57a912ffe7e5edd9"><td class="memTemplItemLeft" align="right" valign="top">static internal::Layout< S >::ReturnType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a037ab066fd6d547c57a912ffe7e5edd9">direct</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, F &&hook, A &&...args)</td></tr>
|
|
|
<tr class="separator:a037ab066fd6d547c57a912ffe7e5edd9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
-<tr class="memitem:a839077ddd9c3d0565a40c574bc8e9555"><td class="memTemplParams" colspan="2">template<typename R , typename... A> </td></tr>
|
|
|
-<tr class="memitem:a839077ddd9c3d0565a40c574bc8e9555"><td class="memTemplItemLeft" align="right" valign="top">static R </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a839077ddd9c3d0565a40c574bc8e9555">apply</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, int pos, R(*fun)(A...))</td></tr>
|
|
|
-<tr class="separator:a839077ddd9c3d0565a40c574bc8e9555"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
-<tr class="memitem:ae5412e502815db7aa2a10e6c84394457"><td class="memTemplParams" colspan="2">template<typename R , typename... A> </td></tr>
|
|
|
-<tr class="memitem:ae5412e502815db7aa2a10e6c84394457"><td class="memTemplItemLeft" align="right" valign="top">static R </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#ae5412e502815db7aa2a10e6c84394457">apply</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, R(*fun)(A...))</td></tr>
|
|
|
-<tr class="separator:ae5412e502815db7aa2a10e6c84394457"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
-<tr class="memitem:a8d726851173a305be65e763d989d0756"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
|
|
-<tr class="memitem:a8d726851173a305be65e763d989d0756"><td class="memTemplItemLeft" align="right" valign="top">static internal::FunctionObjectReturnType< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a8d726851173a305be65e763d989d0756">apply</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, int pos, const T &obj)</td></tr>
|
|
|
-<tr class="separator:a8d726851173a305be65e763d989d0756"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
-<tr class="memitem:a816acd63f544fe4418ef4ac8e9d968e7"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
|
|
-<tr class="memitem:a816acd63f544fe4418ef4ac8e9d968e7"><td class="memTemplItemLeft" align="right" valign="top">static internal::FunctionObjectReturnType< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a816acd63f544fe4418ef4ac8e9d968e7">apply</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, const T &obj)</td></tr>
|
|
|
-<tr class="separator:a816acd63f544fe4418ef4ac8e9d968e7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
+<tr class="memitem:a7ab5f8edb8a9a1411e2ce61ef62a0d0e"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
|
|
+<tr class="memitem:a7ab5f8edb8a9a1411e2ce61ef62a0d0e"><td class="memTemplItemLeft" align="right" valign="top">static internal::CallableInfo< T >::ReturnType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a7ab5f8edb8a9a1411e2ce61ef62a0d0e">apply</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, int pos, T &&obj)</td></tr>
|
|
|
+<tr class="separator:a7ab5f8edb8a9a1411e2ce61ef62a0d0e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
+<tr class="memitem:a938feedb95ae3ab89929c201e72e044a"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
|
|
+<tr class="memitem:a938feedb95ae3ab89929c201e72e044a"><td class="memTemplItemLeft" align="right" valign="top">static internal::CallableInfo< T >::ReturnType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a938feedb95ae3ab89929c201e72e044a">apply</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, T &&obj)</td></tr>
|
|
|
+<tr class="separator:a938feedb95ae3ab89929c201e72e044a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
<tr class="memitem:a9f24fc70cb48531cf1e3da6a3a741971"><td class="memTemplParams" colspan="2">template<typename S , typename F , typename... A> </td></tr>
|
|
|
<tr class="memitem:a9f24fc70cb48531cf1e3da6a3a741971"><td class="memTemplItemLeft" align="right" valign="top">static size_t </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceluwra.html#a9f24fc70cb48531cf1e3da6a3a741971">map</a> (<a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> *state, int pos, F &&hook, A &&...args)</td></tr>
|
|
|
<tr class="separator:a9f24fc70cb48531cf1e3da6a3a741971"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
@@ -265,87 +259,7 @@ Functions</h2></td></tr>
|
|
|
</div>
|
|
|
</div>
|
|
|
<h2 class="groupheader">Function Documentation</h2>
|
|
|
-<a class="anchor" id="a839077ddd9c3d0565a40c574bc8e9555"></a>
|
|
|
-<div class="memitem">
|
|
|
-<div class="memproto">
|
|
|
-<div class="memtemplate">
|
|
|
-template<typename R , typename... A> </div>
|
|
|
-<table class="mlabels">
|
|
|
- <tr>
|
|
|
- <td class="mlabels-left">
|
|
|
- <table class="memname">
|
|
|
- <tr>
|
|
|
- <td class="memname">static R luwra::apply </td>
|
|
|
- <td>(</td>
|
|
|
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
|
|
|
- <td class="paramname"><em>state</em>, </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td class="paramkey"></td>
|
|
|
- <td></td>
|
|
|
- <td class="paramtype">int </td>
|
|
|
- <td class="paramname"><em>pos</em>, </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td class="paramkey"></td>
|
|
|
- <td></td>
|
|
|
- <td class="paramtype">R(*)(A...) </td>
|
|
|
- <td class="paramname"><em>fun</em> </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td></td>
|
|
|
- <td>)</td>
|
|
|
- <td></td><td></td>
|
|
|
- </tr>
|
|
|
- </table>
|
|
|
- </td>
|
|
|
- <td class="mlabels-right">
|
|
|
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
|
|
|
- </tr>
|
|
|
-</table>
|
|
|
-</div><div class="memdoc">
|
|
|
-<p>A version of <a class="el" href="namespaceluwra.html#aa20e363f38b3ae5a168cf40365f5646a">direct</a> which is specialized for function pointers; therefore allows you to omit the template parameters since the compiler can infer its parameter and return types. </p>
|
|
|
-
|
|
|
-</div>
|
|
|
-</div>
|
|
|
-<a class="anchor" id="ae5412e502815db7aa2a10e6c84394457"></a>
|
|
|
-<div class="memitem">
|
|
|
-<div class="memproto">
|
|
|
-<div class="memtemplate">
|
|
|
-template<typename R , typename... A> </div>
|
|
|
-<table class="mlabels">
|
|
|
- <tr>
|
|
|
- <td class="mlabels-left">
|
|
|
- <table class="memname">
|
|
|
- <tr>
|
|
|
- <td class="memname">static R luwra::apply </td>
|
|
|
- <td>(</td>
|
|
|
- <td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
|
|
|
- <td class="paramname"><em>state</em>, </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td class="paramkey"></td>
|
|
|
- <td></td>
|
|
|
- <td class="paramtype">R(*)(A...) </td>
|
|
|
- <td class="paramname"><em>fun</em> </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td></td>
|
|
|
- <td>)</td>
|
|
|
- <td></td><td></td>
|
|
|
- </tr>
|
|
|
- </table>
|
|
|
- </td>
|
|
|
- <td class="mlabels-right">
|
|
|
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
|
|
|
- </tr>
|
|
|
-</table>
|
|
|
-</div><div class="memdoc">
|
|
|
-<p>Same as <code>apply(state, 1, fun)</code>. </p>
|
|
|
-
|
|
|
-</div>
|
|
|
-</div>
|
|
|
-<a class="anchor" id="a8d726851173a305be65e763d989d0756"></a>
|
|
|
+<a class="anchor" id="a7ab5f8edb8a9a1411e2ce61ef62a0d0e"></a>
|
|
|
<div class="memitem">
|
|
|
<div class="memproto">
|
|
|
<div class="memtemplate">
|
|
|
@@ -355,7 +269,7 @@ template<typename T > </div>
|
|
|
<td class="mlabels-left">
|
|
|
<table class="memname">
|
|
|
<tr>
|
|
|
- <td class="memname">static internal::FunctionObjectReturnType<T> luwra::apply </td>
|
|
|
+ <td class="memname">static internal::CallableInfo<T>::ReturnType luwra::apply </td>
|
|
|
<td>(</td>
|
|
|
<td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
|
|
|
<td class="paramname"><em>state</em>, </td>
|
|
|
@@ -369,7 +283,7 @@ template<typename T > </div>
|
|
|
<tr>
|
|
|
<td class="paramkey"></td>
|
|
|
<td></td>
|
|
|
- <td class="paramtype">const T & </td>
|
|
|
+ <td class="paramtype">T && </td>
|
|
|
<td class="paramname"><em>obj</em> </td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
@@ -384,11 +298,11 @@ template<typename T > </div>
|
|
|
</tr>
|
|
|
</table>
|
|
|
</div><div class="memdoc">
|
|
|
-<p>A version of <a class="el" href="namespaceluwra.html#aa20e363f38b3ae5a168cf40365f5646a">direct</a> which tries to infer the stack layout from the given <code>Callable</code>. </p>
|
|
|
+<p>A version of <a class="el" href="namespaceluwra.html#aa20e363f38b3ae5a168cf40365f5646a">direct</a> which tries to infer the stack layout from the given <code>Callable</code>. It allows you to omit the template parameters since the compiler is able to infer the parameter and return types. </p>
|
|
|
|
|
|
</div>
|
|
|
</div>
|
|
|
-<a class="anchor" id="a816acd63f544fe4418ef4ac8e9d968e7"></a>
|
|
|
+<a class="anchor" id="a938feedb95ae3ab89929c201e72e044a"></a>
|
|
|
<div class="memitem">
|
|
|
<div class="memproto">
|
|
|
<div class="memtemplate">
|
|
|
@@ -398,7 +312,7 @@ template<typename T > </div>
|
|
|
<td class="mlabels-left">
|
|
|
<table class="memname">
|
|
|
<tr>
|
|
|
- <td class="memname">static internal::FunctionObjectReturnType<T> luwra::apply </td>
|
|
|
+ <td class="memname">static internal::CallableInfo<T>::ReturnType luwra::apply </td>
|
|
|
<td>(</td>
|
|
|
<td class="paramtype"><a class="el" href="namespaceluwra.html#a2c037b44385367826eb4e931b5b8197d">State</a> * </td>
|
|
|
<td class="paramname"><em>state</em>, </td>
|
|
|
@@ -406,7 +320,7 @@ template<typename T > </div>
|
|
|
<tr>
|
|
|
<td class="paramkey"></td>
|
|
|
<td></td>
|
|
|
- <td class="paramtype">const T & </td>
|
|
|
+ <td class="paramtype">T && </td>
|
|
|
<td class="paramname"><em>obj</em> </td>
|
|
|
</tr>
|
|
|
<tr>
|