summaryrefslogtreecommitdiff
path: root/doc/html/boost/proto/make/impl.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/boost/proto/make/impl.html')
-rw-r--r--[-rwxr-xr-x]doc/html/boost/proto/make/impl.html56
1 files changed, 34 insertions, 22 deletions
diff --git a/doc/html/boost/proto/make/impl.html b/doc/html/boost/proto/make/impl.html
index 5c22cda760..e3739b7a44 100755..100644
--- a/doc/html/boost/proto/make/impl.html
+++ b/doc/html/boost/proto/make/impl.html
@@ -5,7 +5,7 @@
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../make.html#id2877588" title="Description">
+<link rel="up" href="../make.html#id2931477" title="Description">
<link rel="prev" href="../make.html" title="Struct template make">
<link rel="next" href="../pass_through.html" title="Struct template pass_through">
</head>
@@ -20,7 +20,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="../make.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../make.html#id2877588"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pass_through.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../make.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../make.html#id2931477"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pass_through.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.proto.make.impl"></a><div class="titlepage"></div>
@@ -37,15 +37,15 @@
<span class="comment">// <a class="link" href="impl.html#boost.proto.make.impltypes">types</a></span>
<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></em></span> <a class="link" href="impl.html#boost.proto.make.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span>
- <span class="comment">// <a class="link" href="impl.html#id1534634-bb">public member functions</a></span>
- <span class="identifier">result_type</span> <a class="link" href="impl.html#id1534638-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span>
+ <span class="comment">// <a class="link" href="impl.html#id1558863-bb">public member functions</a></span>
+ <span class="identifier">result_type</span> <a class="link" href="impl.html#id1558868-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1">
-<a name="id2877982"></a><h2>Description</h2>
+<a name="id2931869"></a><h2>Description</h2>
<div class="refsect2">
-<a name="id2877985"></a><h3>
+<a name="id2931872"></a><h3>
<a name="boost.proto.make.impltypes"></a><code class="computeroutput">impl</code>
public
types</h3>
@@ -58,7 +58,8 @@
</p>
<p>
If <code class="computeroutput">T</code> is an <a class="link" href="../../../ObjectTransform.html" title="Concept ObjectTransform">ObjectTransform</a> of the form
- <code class="computeroutput">Object(A<sub>0</sub>,...A<sub>n</sub>)</code>,
+ <code class="computeroutput">Object(A<sub>0</sub>,&#8230;A<sub>n</sub>)</code> or
+ <code class="computeroutput">Object(A<sub>0</sub>,&#8230;A<sub>n</sub> ...)</code>,
then let <code class="computeroutput">O</code> be the return type
<code class="computeroutput">Object</code>. Otherwise, let <code class="computeroutput">O</code>
be <code class="computeroutput">T</code>. The <code class="computeroutput">result_type</code> typedef is
@@ -77,7 +78,7 @@
</p></li>
<li class="listitem">
If <code class="computeroutput">O</code> is a template like
- <code class="computeroutput"><a class="link" href="../noinvoke.html" title="Struct template noinvoke">proto::noinvoke</a>&lt;S&lt;X<sub>0</sub>,...X<sub>n</sub>&gt; &gt;</code>,
+ <code class="computeroutput"><a class="link" href="../noinvoke.html" title="Struct template noinvoke">proto::noinvoke</a>&lt;S&lt;X<sub>0</sub>,&#8230;X<sub>n</sub>&gt; &gt;</code>,
then the result type is calculated as follows:
<div class="itemizedlist"><ul class="itemizedlist" type="circle">
<li class="listitem"><p>
@@ -96,14 +97,14 @@
<li class="listitem"><p>
The result type is
<code class="computeroutput">
- S&lt;X<sub>0</sub>',...X<sub>n</sub>'&gt;
+ S&lt;X<sub>0</sub>',&#8230;X<sub>n</sub>'&gt;
</code>.
</p></li>
</ul></div>
</li>
<li class="listitem">
If <code class="computeroutput">O</code> is a template like
- <code class="computeroutput">S&lt;X<sub>0</sub>,...X<sub>n</sub>&gt;</code>,
+ <code class="computeroutput">S&lt;X<sub>0</sub>,&#8230;X<sub>n</sub>&gt;</code>,
then the result type is calculated as follows:
<div class="itemizedlist"><ul class="itemizedlist" type="circle">
<li class="listitem"><p>
@@ -120,17 +121,17 @@
<li class="listitem"><p>
If any substitutions took place in the above step and
<code class="computeroutput">
- S&lt;X<sub>0</sub>',...X<sub>n</sub>'&gt;
+ S&lt;X<sub>0</sub>',&#8230;X<sub>n</sub>'&gt;
</code> has a nested
<code class="computeroutput">type</code> typedef, the result type is
<code class="computeroutput">
- S&lt;X<sub>0</sub>',...X<sub>n</sub>'&gt;::type
+ S&lt;X<sub>0</sub>',&#8230;X<sub>n</sub>'&gt;::type
</code>.
</p></li>
<li class="listitem"><p>
Otherwise, the result type is
<code class="computeroutput">
- S&lt;X<sub>0</sub>',...X<sub>n</sub>'&gt;
+ S&lt;X<sub>0</sub>',&#8230;X<sub>n</sub>'&gt;
</code>.
</p></li>
</ul></div>
@@ -151,10 +152,10 @@
</li></ol></div>
</div>
<div class="refsect2">
-<a name="id2878497"></a><h3>
-<a name="id1534634-bb"></a><code class="computeroutput">impl</code> public member functions</h3>
+<a name="id2932396"></a><h3>
+<a name="id1558863-bb"></a><code class="computeroutput">impl</code> public member functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
-<pre class="literallayout"><span class="identifier">result_type</span> <a name="id1534638-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span>
+<pre class="literallayout"><span class="identifier">result_type</span> <a name="id1558868-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span> state<span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span> data<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p>
@@ -169,7 +170,7 @@
<li class="listitem">
<p>
If <code class="computeroutput">T</code> is of the form
- <code class="computeroutput">O(A<sub>0</sub>,...A<sub>n</sub>)</code>, then:
+ <code class="computeroutput">O(A<sub>0</sub>,&#8230;A<sub>n</sub>)</code>, then:
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="circle">
<li class="listitem">
@@ -181,7 +182,7 @@
</p>
<pre class="programlisting">result_type that = {
<code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">proto::when</a></code>&lt;<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>, A<sub>0</sub>&gt;()(expr, state, data),
- ...
+ &#8230;
<code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">proto::when</a></code>&lt;<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>, A<sub>n</sub>&gt;()(expr, state, data)
};</pre>
<p>
@@ -194,7 +195,7 @@
</p>
<pre class="programlisting">result_type that(
<code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">proto::when</a></code>&lt;<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>, A<sub>0</sub>&gt;()(expr, state, data),
- ...
+ &#8230;
<code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">proto::when</a></code>&lt;<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>, A<sub>n</sub>&gt;()(expr, state, data)
);</pre>
<p>
@@ -204,9 +205,20 @@
</li>
<li class="listitem">
<p>
- Otherwise, construct
- and return an object <code class="computeroutput">that</code> as follows:
+ If <code class="computeroutput">T</code> is of the form
+ <code class="computeroutput">O(A<sub>0</sub>,&#8230;A<sub>n</sub> ...)</code>,
+ then let <code class="computeroutput">T'</code> be <code class="computeroutput">O(A<sub>0</sub>,&#8230;A<sub>n-1</sub>, <em class="replaceable"><code>S</code></em>)</code>,
+ where <em class="replaceable"><code>S</code></em> is a type sequence computed from the unpacking expression <code class="computeroutput">A<sub>n</sub></code>
+ as described in the reference for <code class="computeroutput"><code class="computeroutput"><a class="link" href="../pack.html" title="Struct pack">proto::pack</a></code></code>. Then, return:
</p>
+<pre class="programlisting">proto::make&lt;T'&gt;()(expr, state, data)</pre>
+<p>
+ </p>
+</li>
+<li class="listitem">
+<p>
+ Otherwise, construct and return an object <code class="computeroutput">that</code>
+ as follows: </p>
<pre class="programlisting">result_type that = result_type();</pre>
<p>
</p>
@@ -228,7 +240,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="../make.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../make.html#id2877588"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pass_through.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../make.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../make.html#id2931477"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pass_through.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>