|
|
@@ -233,11 +233,11 @@
|
|
|
|
</pre>
|
|
|
|
</pre>
|
|
|
|
<p>
|
|
|
|
<p>
|
|
|
|
A <span class="emphasis"><em>quoted metafunction</em></span> is a class with a public metafunction
|
|
|
|
A <span class="emphasis"><em>quoted metafunction</em></span> is a class with a public metafunction
|
|
|
|
called <code class="computeroutput"><span class="identifier">invoke</span></code>, for example
|
|
|
|
called <code class="computeroutput"><span class="identifier">fn</span></code>, for example
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">Q1</span> <span class="special">{</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span><span class="special">...></span> <span class="keyword">using</span> <span class="identifier">invoke</span> <span class="special">=</span> <span class="keyword">void</span><span class="special">;</span> <span class="special">};</span>
|
|
|
|
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">Q1</span> <span class="special">{</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span><span class="special">...></span> <span class="keyword">using</span> <span class="identifier">fn</span> <span class="special">=</span> <span class="keyword">void</span><span class="special">;</span> <span class="special">};</span>
|
|
|
|
<span class="keyword">struct</span> <span class="identifier">Q2</span> <span class="special">{</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">using</span> <span class="identifier">invoke</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">*;</span> <span class="special">};</span>
|
|
|
|
<span class="keyword">struct</span> <span class="identifier">Q2</span> <span class="special">{</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">using</span> <span class="identifier">fn</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">*;</span> <span class="special">};</span>
|
|
|
|
<span class="keyword">struct</span> <span class="identifier">Q3</span> <span class="special">{</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span><span class="special">...</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">using</span> <span class="identifier">invoke</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">integral_constant</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="keyword">sizeof</span><span class="special">...(</span><span class="identifier">T</span><span class="special">)>;</span> <span class="special">};</span>
|
|
|
|
<span class="keyword">struct</span> <span class="identifier">Q3</span> <span class="special">{</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span><span class="special">...</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">using</span> <span class="identifier">fn</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">integral_constant</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="keyword">sizeof</span><span class="special">...(</span><span class="identifier">T</span><span class="special">)>;</span> <span class="special">};</span>
|
|
|
|
</pre>
|
|
|
|
</pre>
|
|
|
|
<p>
|
|
|
|
<p>
|
|
|
|
An <span class="emphasis"><em>integral constant type</em></span> is a class with a public member
|
|
|
|
An <span class="emphasis"><em>integral constant type</em></span> is a class with a public member
|
|
|
@@ -391,7 +391,7 @@
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">Qret</span>
|
|
|
|
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">Qret</span>
|
|
|
|
<span class="special">{</span>
|
|
|
|
<span class="special">{</span>
|
|
|
|
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span><span class="special">...</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">using</span> <span class="identifier">invoke</span> <span class="special">=</span> <span class="keyword">decltype</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">declval</span><span class="special"><</span><span class="identifier">F</span><span class="special">>()(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">declval</span><span class="special"><</span><span class="identifier">T</span><span class="special">>()...</span> <span class="special">)</span> <span class="special">);</span>
|
|
|
|
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span><span class="special">...</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">using</span> <span class="identifier">fn</span> <span class="special">=</span> <span class="keyword">decltype</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">declval</span><span class="special"><</span><span class="identifier">F</span><span class="special">>()(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">declval</span><span class="special"><</span><span class="identifier">T</span><span class="special">>()...</span> <span class="special">)</span> <span class="special">);</span>
|
|
|
|
<span class="special">};</span>
|
|
|
|
<span class="special">};</span>
|
|
|
|
</pre>
|
|
|
|
</pre>
|
|
|
|
<p>
|
|
|
|
<p>
|
|
|
@@ -403,7 +403,7 @@
|
|
|
|
just a matter of applying it over the possible combinations of the variant
|
|
|
|
just a matter of applying it over the possible combinations of the variant
|
|
|
|
values:
|
|
|
|
values:
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">R</span> <span class="special">=</span> <span class="identifier">mp_product</span><span class="special"><</span><span class="identifier">Qret</span><span class="special"><</span><span class="identifier">F</span><span class="special">>::</span><span class="keyword">template</span> <span class="identifier">invoke</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">remove_reference_t</span><span class="special"><</span><span class="identifier">V</span><span class="special">>...>;</span>
|
|
|
|
<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">R</span> <span class="special">=</span> <span class="identifier">mp_product</span><span class="special"><</span><span class="identifier">Qret</span><span class="special"><</span><span class="identifier">F</span><span class="special">>::</span><span class="keyword">template</span> <span class="identifier">fn</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">remove_reference_t</span><span class="special"><</span><span class="identifier">V</span><span class="special">>...>;</span>
|
|
|
|
</pre>
|
|
|
|
</pre>
|
|
|
|
<p>
|
|
|
|
<p>
|
|
|
|
Why does this work? <code class="computeroutput"><span class="identifier">mp_product</span><span class="special"><</span><span class="identifier">F</span><span class="special">,</span>
|
|
|
|
Why does this work? <code class="computeroutput"><span class="identifier">mp_product</span><span class="special"><</span><span class="identifier">F</span><span class="special">,</span>
|
|
|
@@ -422,7 +422,7 @@
|
|
|
|
either <code class="computeroutput"><span class="keyword">int</span></code> or <code class="computeroutput"><span class="keyword">float</span></code>, and we need to filter out the duplicates.
|
|
|
|
either <code class="computeroutput"><span class="keyword">int</span></code> or <code class="computeroutput"><span class="keyword">float</span></code>, and we need to filter out the duplicates.
|
|
|
|
So,
|
|
|
|
So,
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">R</span> <span class="special">=</span> <span class="identifier">mp_unique</span><span class="special"><</span><span class="identifier">mp_product</span><span class="special"><</span><span class="identifier">Qret</span><span class="special"><</span><span class="identifier">F</span><span class="special">>::</span><span class="keyword">template</span> <span class="identifier">invoke</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">remove_reference_t</span><span class="special"><</span><span class="identifier">V</span><span class="special">>...>>;</span>
|
|
|
|
<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">R</span> <span class="special">=</span> <span class="identifier">mp_unique</span><span class="special"><</span><span class="identifier">mp_product</span><span class="special"><</span><span class="identifier">Qret</span><span class="special"><</span><span class="identifier">F</span><span class="special">>::</span><span class="keyword">template</span> <span class="identifier">fn</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">remove_reference_t</span><span class="special"><</span><span class="identifier">V</span><span class="special">>...>>;</span>
|
|
|
|
</pre>
|
|
|
|
</pre>
|
|
|
|
<p>
|
|
|
|
<p>
|
|
|
|
and we're done:
|
|
|
|
and we're done:
|
|
|
@@ -438,12 +438,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">Qret</span>
|
|
|
|
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">Qret</span>
|
|
|
|
<span class="special">{</span>
|
|
|
|
<span class="special">{</span>
|
|
|
|
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span><span class="special">...</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">using</span> <span class="identifier">invoke</span> <span class="special">=</span> <span class="keyword">decltype</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">declval</span><span class="special"><</span><span class="identifier">F</span><span class="special">>()(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">declval</span><span class="special"><</span><span class="identifier">T</span><span class="special">>()...</span> <span class="special">)</span> <span class="special">);</span>
|
|
|
|
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span><span class="special">...</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">using</span> <span class="identifier">fn</span> <span class="special">=</span> <span class="keyword">decltype</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">declval</span><span class="special"><</span><span class="identifier">F</span><span class="special">>()(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">declval</span><span class="special"><</span><span class="identifier">T</span><span class="special">>()...</span> <span class="special">)</span> <span class="special">);</span>
|
|
|
|
<span class="special">};</span>
|
|
|
|
<span class="special">};</span>
|
|
|
|
|
|
|
|
|
|
|
|
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> <span class="identifier">V</span><span class="special">></span> <span class="keyword">auto</span> <span class="identifier">rvisit</span><span class="special">(</span> <span class="identifier">F</span><span class="special">&&</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">V</span><span class="special">&&...</span> <span class="identifier">v</span> <span class="special">)</span>
|
|
|
|
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> <span class="identifier">V</span><span class="special">></span> <span class="keyword">auto</span> <span class="identifier">rvisit</span><span class="special">(</span> <span class="identifier">F</span><span class="special">&&</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">V</span><span class="special">&&...</span> <span class="identifier">v</span> <span class="special">)</span>
|
|
|
|
<span class="special">{</span>
|
|
|
|
<span class="special">{</span>
|
|
|
|
<span class="keyword">using</span> <span class="identifier">R</span> <span class="special">=</span> <span class="identifier">mp_unique</span><span class="special"><</span><span class="identifier">mp_product</span><span class="special"><</span><span class="identifier">Qret</span><span class="special"><</span><span class="identifier">F</span><span class="special">>::</span><span class="keyword">template</span> <span class="identifier">invoke</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">remove_reference_t</span><span class="special"><</span><span class="identifier">V</span><span class="special">>...>>;</span>
|
|
|
|
<span class="keyword">using</span> <span class="identifier">R</span> <span class="special">=</span> <span class="identifier">mp_unique</span><span class="special"><</span><span class="identifier">mp_product</span><span class="special"><</span><span class="identifier">Qret</span><span class="special"><</span><span class="identifier">F</span><span class="special">>::</span><span class="keyword">template</span> <span class="identifier">fn</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">remove_reference_t</span><span class="special"><</span><span class="identifier">V</span><span class="special">>...>>;</span>
|
|
|
|
<span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">visit</span><span class="special">(</span> <span class="special">[&](</span> <span class="keyword">auto</span><span class="special">&&...</span> <span class="identifier">x</span> <span class="special">){</span> <span class="keyword">return</span> <span class="identifier">R</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">forward</span><span class="special"><</span><span class="identifier">F</span><span class="special">>(</span><span class="identifier">f</span><span class="special">)(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">forward</span><span class="special"><</span><span class="keyword">decltype</span><span class="special">(</span><span class="identifier">x</span><span class="special">)>(</span><span class="identifier">x</span><span class="special">)...</span> <span class="special">)</span> <span class="special">);</span> <span class="special">},</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">forward</span><span class="special"><</span><span class="identifier">V</span><span class="special">>(</span> <span class="identifier">v</span> <span class="special">)...</span> <span class="special">);</span>
|
|
|
|
<span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">visit</span><span class="special">(</span> <span class="special">[&](</span> <span class="keyword">auto</span><span class="special">&&...</span> <span class="identifier">x</span> <span class="special">){</span> <span class="keyword">return</span> <span class="identifier">R</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">forward</span><span class="special"><</span><span class="identifier">F</span><span class="special">>(</span><span class="identifier">f</span><span class="special">)(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">forward</span><span class="special"><</span><span class="keyword">decltype</span><span class="special">(</span><span class="identifier">x</span><span class="special">)>(</span><span class="identifier">x</span><span class="special">)...</span> <span class="special">)</span> <span class="special">);</span> <span class="special">},</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">forward</span><span class="special"><</span><span class="identifier">V</span><span class="special">>(</span> <span class="identifier">v</span> <span class="special">)...</span> <span class="special">);</span>
|
|
|
|
<span class="special">}</span>
|
|
|
|
<span class="special">}</span>
|
|
|
|
|
|
|
|
|
|
|
@@ -880,14 +880,14 @@
|
|
|
|
</h4></div></div></div>
|
|
|
|
</h4></div></div></div>
|
|
|
|
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span><span class="special">...></span> <span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">mp_quote</span>
|
|
|
|
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span><span class="special">...></span> <span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">mp_quote</span>
|
|
|
|
<span class="special">{</span>
|
|
|
|
<span class="special">{</span>
|
|
|
|
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span><span class="special">...</span> <span class="identifier">U</span><span class="special">></span> <span class="keyword">using</span> <span class="identifier">invoke</span> <span class="special">=</span> <span class="identifier">F</span><span class="special"><</span><span class="identifier">T</span><span class="special">...,</span> <span class="identifier">U</span><span class="special">...>;</span>
|
|
|
|
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span><span class="special">...</span> <span class="identifier">U</span><span class="special">></span> <span class="keyword">using</span> <span class="identifier">fn</span> <span class="special">=</span> <span class="identifier">F</span><span class="special"><</span><span class="identifier">T</span><span class="special">...,</span> <span class="identifier">U</span><span class="special">...>;</span>
|
|
|
|
<span class="special">};</span>
|
|
|
|
<span class="special">};</span>
|
|
|
|
</pre>
|
|
|
|
</pre>
|
|
|
|
<p>
|
|
|
|
<p>
|
|
|
|
<code class="computeroutput"><span class="identifier">mp_quote</span><span class="special"><</span><span class="identifier">F</span><span class="special">,</span> <span class="identifier">T</span><span class="special">...></span></code> transforms the template <code class="computeroutput"><span class="identifier">F</span></code> into a type. In the common case <code class="computeroutput"><span class="identifier">mp_quote</span><span class="special"><</span><span class="identifier">F</span><span class="special">></span></code>,
|
|
|
|
<code class="computeroutput"><span class="identifier">mp_quote</span><span class="special"><</span><span class="identifier">F</span><span class="special">,</span> <span class="identifier">T</span><span class="special">...></span></code> transforms the template <code class="computeroutput"><span class="identifier">F</span></code> into a type. In the common case <code class="computeroutput"><span class="identifier">mp_quote</span><span class="special"><</span><span class="identifier">F</span><span class="special">></span></code>,
|
|
|
|
the nested template <code class="computeroutput"><span class="identifier">invoke</span></code>
|
|
|
|
the nested template <code class="computeroutput"><span class="identifier">fn</span></code>
|
|
|
|
of the result is an alias for <code class="computeroutput"><span class="identifier">F</span></code>;
|
|
|
|
of the result is an alias for <code class="computeroutput"><span class="identifier">F</span></code>;
|
|
|
|
otherwise, <code class="computeroutput"><span class="identifier">invoke</span><span class="special"><</span><span class="identifier">U</span><span class="special">...></span></code>
|
|
|
|
otherwise, <code class="computeroutput"><span class="identifier">fn</span><span class="special"><</span><span class="identifier">U</span><span class="special">...></span></code>
|
|
|
|
is an alias for <code class="computeroutput"><span class="identifier">F</span><span class="special"><</span><span class="identifier">T</span><span class="special">...,</span> <span class="identifier">U</span><span class="special">...></span></code>,
|
|
|
|
is an alias for <code class="computeroutput"><span class="identifier">F</span><span class="special"><</span><span class="identifier">T</span><span class="special">...,</span> <span class="identifier">U</span><span class="special">...></span></code>,
|
|
|
|
allowing partial application.
|
|
|
|
allowing partial application.
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
@@ -896,10 +896,10 @@
|
|
|
|
<div class="titlepage"><div><div><h4 class="title">
|
|
|
|
<div class="titlepage"><div><div><h4 class="title">
|
|
|
|
<a name="mp11.reference.utility.mp_invoke_q_t"></a><a class="link" href="mp11.html#mp11.reference.utility.mp_invoke_q_t" title="mp_invoke<Q, T...>"><code class="computeroutput"><span class="identifier">mp_invoke</span><span class="special"><</span><span class="identifier">Q</span><span class="special">,</span> <span class="identifier">T</span><span class="special">...></span></code></a>
|
|
|
|
<a name="mp11.reference.utility.mp_invoke_q_t"></a><a class="link" href="mp11.html#mp11.reference.utility.mp_invoke_q_t" title="mp_invoke<Q, T...>"><code class="computeroutput"><span class="identifier">mp_invoke</span><span class="special"><</span><span class="identifier">Q</span><span class="special">,</span> <span class="identifier">T</span><span class="special">...></span></code></a>
|
|
|
|
</h4></div></div></div>
|
|
|
|
</h4></div></div></div>
|
|
|
|
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">Q</span><span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">using</span> <span class="identifier">mp_invoke</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">Q</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">invoke</span><span class="special"><</span><span class="identifier">T</span><span class="special">...>;</span>
|
|
|
|
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">Q</span><span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">using</span> <span class="identifier">mp_invoke</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">Q</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">fn</span><span class="special"><</span><span class="identifier">T</span><span class="special">...>;</span>
|
|
|
|
</pre>
|
|
|
|
</pre>
|
|
|
|
<p>
|
|
|
|
<p>
|
|
|
|
<code class="computeroutput"><span class="identifier">mp_invoke</span><span class="special"><</span><span class="identifier">Q</span><span class="special">,</span> <span class="identifier">T</span><span class="special">...></span></code> evaluates the nested template <code class="computeroutput"><span class="identifier">invoke</span></code> of a quoted metafunction. <code class="computeroutput"><span class="identifier">mp_invoke</span><span class="special"><</span><span class="identifier">mp_quote</span><span class="special"><</span><span class="identifier">F</span><span class="special">>,</span> <span class="identifier">T</span><span class="special">...></span></code>
|
|
|
|
<code class="computeroutput"><span class="identifier">mp_invoke</span><span class="special"><</span><span class="identifier">Q</span><span class="special">,</span> <span class="identifier">T</span><span class="special">...></span></code> evaluates the nested template <code class="computeroutput"><span class="identifier">fn</span></code> of a quoted metafunction. <code class="computeroutput"><span class="identifier">mp_invoke</span><span class="special"><</span><span class="identifier">mp_quote</span><span class="special"><</span><span class="identifier">F</span><span class="special">>,</span> <span class="identifier">T</span><span class="special">...></span></code>
|
|
|
|
is an alias for <code class="computeroutput"><span class="identifier">F</span><span class="special"><</span><span class="identifier">T</span><span class="special">...></span></code>.
|
|
|
|
is an alias for <code class="computeroutput"><span class="identifier">F</span><span class="special"><</span><span class="identifier">T</span><span class="special">...></span></code>.
|
|
|
|
<code class="computeroutput"><span class="identifier">mp_invoke</span><span class="special"><</span><span class="identifier">mp_quote</span><span class="special"><</span><span class="identifier">F</span><span class="special">,</span> <span class="identifier">T</span><span class="special">...>,</span> <span class="identifier">U</span><span class="special">...></span></code> is an alias for <code class="computeroutput"><span class="identifier">F</span><span class="special"><</span><span class="identifier">T</span><span class="special">...,</span> <span class="identifier">U</span><span class="special">...></span></code>.
|
|
|
|
<code class="computeroutput"><span class="identifier">mp_invoke</span><span class="special"><</span><span class="identifier">mp_quote</span><span class="special"><</span><span class="identifier">F</span><span class="special">,</span> <span class="identifier">T</span><span class="special">...>,</span> <span class="identifier">U</span><span class="special">...></span></code> is an alias for <code class="computeroutput"><span class="identifier">F</span><span class="special"><</span><span class="identifier">T</span><span class="special">...,</span> <span class="identifier">U</span><span class="special">...></span></code>.
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
@@ -1688,7 +1688,7 @@
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
|
|
|
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
|
|
|
<td align="left"><p><small>Last revised: March 18, 2017 at 18:33:25 GMT</small></p></td>
|
|
|
|
<td align="left"><p><small>Last revised: March 20, 2017 at 14:09:13 GMT</small></p></td>
|
|
|
|
<td align="right"><div class="copyright-footer"></div></td>
|
|
|
|
<td align="right"><div class="copyright-footer"></div></td>
|
|
|
|
</tr></table>
|
|
|
|
</tr></table>
|
|
|
|
<hr>
|
|
|
|
<hr>
|
|
|
|