diff options
Diffstat (limited to 'doc/html/boost/proto/make/impl.html')
-rw-r--r--[-rwxr-xr-x] | doc/html/boost/proto/make/impl.html | 56 |
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>,…A<sub>n</sub>)</code> or + <code class="computeroutput">Object(A<sub>0</sub>,…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><S<X<sub>0</sub>,...X<sub>n</sub>> ></code>, + <code class="computeroutput"><a class="link" href="../noinvoke.html" title="Struct template noinvoke">proto::noinvoke</a><S<X<sub>0</sub>,…X<sub>n</sub>> ></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<X<sub>0</sub>',...X<sub>n</sub>'> + S<X<sub>0</sub>',…X<sub>n</sub>'> </code>. </p></li> </ul></div> </li> <li class="listitem"> If <code class="computeroutput">O</code> is a template like - <code class="computeroutput">S<X<sub>0</sub>,...X<sub>n</sub>></code>, + <code class="computeroutput">S<X<sub>0</sub>,…X<sub>n</sub>></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<X<sub>0</sub>',...X<sub>n</sub>'> + S<X<sub>0</sub>',…X<sub>n</sub>'> </code> has a nested <code class="computeroutput">type</code> typedef, the result type is <code class="computeroutput"> - S<X<sub>0</sub>',...X<sub>n</sub>'>::type + S<X<sub>0</sub>',…X<sub>n</sub>'>::type </code>. </p></li> <li class="listitem"><p> Otherwise, the result type is <code class="computeroutput"> - S<X<sub>0</sub>',...X<sub>n</sub>'> + S<X<sub>0</sub>',…X<sub>n</sub>'> </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>,…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><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>, A<sub>0</sub>>()(expr, state, data), - ... + … <code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">proto::when</a></code><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>, A<sub>n</sub>>()(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><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>, A<sub>0</sub>>()(expr, state, data), - ... + … <code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">proto::when</a></code><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>, A<sub>n</sub>>()(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>,…A<sub>n</sub> ...)</code>, + then let <code class="computeroutput">T'</code> be <code class="computeroutput">O(A<sub>0</sub>,…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<T'>()(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> |