<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template unpack_expr</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
<link rel="up" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header &lt;boost/proto/make_expr.hpp&gt;">
<link rel="prev" href="make_expr_Tag__Domain___id1265249.html" title="Struct template make_expr&lt;Tag, Domain, A...&gt;">
<link rel="next" href="unpack_expr_Tag__Domain_id1265611.html" title="Struct template unpack_expr&lt;Tag, Domain, Sequence&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_expr_Tag__Domain___id1265249.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp"><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="unpack_expr_Tag__Domain_id1265611.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.proto.result_of.unpack_expr"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template unpack_expr</span></h2>
<p>boost::proto::result_of::unpack_expr &#8212; Metafunction that computes the return type of the
            <code class="computeroutput"><a class="link" href="../unpack_expr_id1265992.html" title="Function unpack_expr">proto::unpack_expr()</a></code>
            function, with a domain deduced from the domains of the children.
          </p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header &lt;boost/proto/make_expr.hpp&gt;">boost/proto/make_expr.hpp</a>&gt;

</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> Sequence<span class="special">,</span> <span class="keyword">typename</span> Void <span class="special">=</span> <span class="keyword">void</span><span class="special">&gt;</span> 
<span class="keyword">struct</span> <a class="link" href="unpack_expr.html" title="Struct template unpack_expr">unpack_expr</a> <span class="special">{</span>
  <span class="comment">// types</span>
  <span class="keyword">typedef</span> 
    <span class="keyword">typename</span> <a class="link" href="make_expr.html" title="Struct template make_expr">proto::result_of::make_expr</a><span class="special">&lt;</span>
      <span class="identifier">Tag</span><span class="special">,</span>
      <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span><span class="special">&lt;</span><em class="replaceable"><code><span class="identifier">S</span></code></em><span class="special">,</span> <span class="number">0</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span>
      <span class="special">...</span>
      <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span><span class="special">&lt;</span><em class="replaceable"><code><span class="identifier">S</span></code></em><span class="special">,</span> <em class="replaceable"><code><span class="identifier">N</span></code></em><span class="special">-</span><span class="number">1</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span>
    <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span>
   <a name="boost.proto.result_of.unpack_expr.type"></a><span class="identifier">type</span><span class="special">;</span>  <span class="comment">// Where S is a Fusion RandomAccessSequence equivalent to Sequence, and N is the size of S.</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1">
<a name="id2304892"></a><h2>Description</h2>
<p>
              Compute the return type of the
              <code class="computeroutput"><a class="link" href="../unpack_expr_id1265992.html" title="Function unpack_expr">proto::unpack_expr()</a></code>
              function.
            </p>
<p>
              <code class="computeroutput">Sequence</code> is a Fusion Forward Sequence.
            </p>
<p>
              In this specialization, the domain is deduced from the domains of the child types.
              If <code class="computeroutput"><a class="link" href="../is_domain.html" title="Struct template is_domain">proto::is_domain</a>&lt;Sequence&gt;::value</code>
              is <code class="computeroutput">true</code>, then another specialization is selected.
            </p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2008 Eric Niebler<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_expr_Tag__Domain___id1265249.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp"><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="unpack_expr_Tag__Domain_id1265611.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
