<!-- Copyright 2008 Lubomir Bourdev and Hailin Jin

     Distributed under the Boost Software License, Version 1.0.
     (See accompanying file LICENSE_1_0.txt or copy at
     http://www.boost.org/LICENSE_1_0.txt)
  -->

<!--
    Copyright 2005-2007 Adobe Systems Incorporated
    Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
    or a copy at http://stlab.adobe.com/licenses.html)

    Some files are held under additional license.
    Please see "http://stlab.adobe.com/licenses.html" for more information.
-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

<head>
    <TITLE>Generic Image Library: reduce.hpp File Reference</TITLE>
    <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
    <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
<div class="qindex"><a class="qindex" href="index.html">Modules</a> 
                  | <a class="qindex" href="classes.html">Alphabetical List</a> 
                  | <a class="qindex" href="annotated.html">Class List</a> 
                  | <a class="qindex" href="dirs.html">Directories</a> 
                  | <a class="qindex" href="files.html">File List</a> 
                  | <a class="qindex" href="../index.html">GIL Home Page</a> 
</div>
<!-- End Header -->
<!-- Generated by Doxygen 1.5.6 -->
  <div class="navpath"><a class="el" href="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0078.html">extension</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0075.html">dynamic_image</a>
  </div>
<div class="contents">
<h1>reduce.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
Constructs for static-to-dynamic integer convesion. 
<p>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Lubomir Bourdev and Hailin Jin <br>
 Adobe Systems Incorporated </dd></dl>
<dl class="date" compact><dt><b>Date:</b></dt><dd>2005-2007 <br>
 Last updated on May 4, 2006 </dd></dl>

<p>
<code>#include &lt;boost/mpl/insert_range.hpp&gt;</code><br>
<code>#include &lt;boost/mpl/range_c.hpp&gt;</code><br>
<code>#include &lt;boost/mpl/vector_c.hpp&gt;</code><br>
<code>#include &lt;boost/mpl/back.hpp&gt;</code><br>
<code>#include &lt;boost/mpl/vector.hpp&gt;</code><br>
<code>#include &lt;boost/mpl/long.hpp&gt;</code><br>
<code>#include &lt;boost/mpl/logical.hpp&gt;</code><br>
<code>#include &lt;boost/mpl/transform.hpp&gt;</code><br>
<code>#include &lt;boost/mpl/insert.hpp&gt;</code><br>
<code>#include &quot;<a class="el" href="g_i_l_0237.html">../../metafunctions.hpp</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="g_i_l_0641.html">../../typedefs.hpp</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="g_i_l_0080.html">dynamic_at_c.hpp</a>&quot;</code><br>

<p>
<a href="g_i_l_0257.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 13:50:16 2009 for Generic Image Library by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>
