<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template unpack_expr&lt;Tag, Domain, Sequence&gt;</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="unpack_expr.html" title="Struct template unpack_expr">
<link rel="next" href="../make_expr_id1265715.html" title="Function make_expr">
</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="unpack_expr.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="../make_expr_id1265715.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.proto.result_of.unpack_expr_Tag,_Domain_id1265611"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template unpack_expr&lt;Tag, Domain, Sequence&gt;</span></h2>
<p>boost::proto::result_of::unpack_expr&lt;Tag, Domain, Sequence&gt; &#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, within the specified domain.
          </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> <a class="link" href="../../../Domain.html" title="Concept Domain">Domain</a><span class="special">,</span> <span class="keyword">typename</span> Sequence<span class="special">&gt;</span> 
<span class="keyword">struct</span> <a class="link" href="unpack_expr_Tag__Domain_id1265611.html" title="Struct template unpack_expr&lt;Tag, Domain, Sequence&gt;">unpack_expr</a><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">,</span> <span class="identifier">Sequence</span><span class="special">&gt;</span> <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="identifier">Domain</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_Tag,_Domain_id1265611.type"></a><span class="identifier">type</span><span class="special">;</span>  <span class="comment">// Where S is a 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="id2305334"></a><h2>Description</h2>
<p>
              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.
            </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="unpack_expr.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="../make_expr_id1265715.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
