for-each.html at el.

[SVN r37316]
This commit is contained in:
Aleksey Gurtovoy
2007-03-29 08:30:29 +00:00
parent a352567283
commit 3437477789
4 changed files with 322 additions and 121 deletions

View File

@@ -46,13 +46,14 @@ transformation algorithm provides a <tt class="literal"><span class="pre">revers
allowing for a wider range of efficient transformations — a allowing for a wider range of efficient transformations — a
common functionality documented by the <a class="reference" href="./reversible-algorithm.html">Reversible Algorithm</a> common functionality documented by the <a class="reference" href="./reversible-algorithm.html">Reversible Algorithm</a>
concept.</p> concept.</p>
<!-- modtime: November 08, 2004 10:32:25 +0000 --> <!-- modtime: November 29, 2004 06:33:05 +0000 -->
<ul class="toc simple" id="outline"> <ul class="toc simple" id="outline">
<li><a class="reference" href="./algorithms-concepts.html" id="id389" name="id389">Concepts</a></li> <li><a class="reference" href="./algorithms-concepts.html" id="id389" name="id389">Concepts</a></li>
<li><a class="reference" href="./inserters.html" id="id392" name="id392">Inserters</a></li> <li><a class="reference" href="./inserters.html" id="id392" name="id392">Inserters</a></li>
<li><a class="reference" href="./iteration-algorithms.html" id="id396" name="id396">Iteration Algorithms</a></li> <li><a class="reference" href="./iteration-algorithms.html" id="id396" name="id396">Iteration Algorithms</a></li>
<li><a class="reference" href="./querying-algorithms.html" id="id402" name="id402">Querying Algorithms</a></li> <li><a class="reference" href="./querying-algorithms.html" id="id402" name="id402">Querying Algorithms</a></li>
<li><a class="reference" href="./transformation-algorithms.html" id="id413" name="id413">Transformation Algorithms</a></li> <li><a class="reference" href="./transformation-algorithms.html" id="id413" name="id413">Transformation Algorithms</a></li>
<li><a class="reference" href="./runtime-algorithms.html" id="id436" name="id436">Runtime Algorithms</a></li>
</ul> </ul>
</div> </div>

165
doc/refmanual/for-each.html Normal file
View File

@@ -0,0 +1,165 @@
<?xml version="1.0" encoding="utf-8" ?>
<!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" xml:lang="en" lang="en">
<!-- Copyright Aleksey Gurtovoy 2006. 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) -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.3.6: http://docutils.sourceforge.net/" />
<title>The MPL Reference Manual: for_each</title>
<link rel="stylesheet" href="../style.css" type="text/css" />
</head>
<body class="docframe refmanual">
<table class="header"><tr class="header"><td class="header-group navigation-bar"><span class="navigation-group"><a href="./runtime-algorithms.html" class="navigation-link">Prev</a>&nbsp;<a href="./metafunctions.html" class="navigation-link">Next</a></span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group">Back&nbsp;Along</span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./runtime-algorithms.html" class="navigation-link">Up</a>&nbsp;<a href="../refmanual.html" class="navigation-link">Home</a></span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./refmanual_toc.html" class="navigation-link">Full TOC</a></span></td>
<td class="header-group page-location"><a href="../refmanual.html" class="navigation-link">Front Page</a> / <a href="./algorithms.html" class="navigation-link">Algorithms</a> / <a href="./runtime-algorithms.html" class="navigation-link">Runtime Algorithms</a> / <a href="./for-each.html" class="navigation-link">for_each</a></td>
</tr></table><div class="header-separator"></div>
<div class="section" id="for-each">
<h1><a class="toc-backref" href="./runtime-algorithms.html#id437" name="for-each">for_each</a></h1>
<div class="section" id="for-synopsis">
<h3><a class="subsection-title" href="#synopsis" name="synopsis">Synopsis</a></h3>
<pre class="literal-block">
template&lt;
typename Sequence
, typename F
&gt;
void <a href="./for-each.html" class="identifier">for_each</a>( F f );
template&lt;
typename Sequence
, typename TransformOp
, typename F
&gt;
void <a href="./for-each.html" class="identifier">for_each</a>( F f );
</pre>
</div>
<div class="section" id="for-description">
<h3><a class="subsection-title" href="#description" name="description">Description</a></h3>
<p><tt class="literal"><span class="pre"><a href="./for-each.html" class="identifier">for_each</a></span></tt> is a family of overloaded function templates:</p>
<ul class="simple">
<li><tt class="literal"><span class="pre"><a href="./for-each.html" class="identifier">for_each</a>&lt;Sequence&gt;(</span> <span class="pre">f</span> <span class="pre">)</span></tt> applies the runtime function object
<tt class="literal"><span class="pre">f</span></tt> to every element in the [<tt class="literal"><span class="pre"><a href="./begin.html" class="identifier">begin</a>&lt;Sequence&gt;::type</span></tt>, <tt class="literal"><span class="pre"><a href="./end.html" class="identifier">end</a>&lt;Sequence&gt;::type</span></tt>) range.</li>
<li><tt class="literal"><span class="pre"><a href="./for-each.html" class="identifier">for_each</a>&lt;Sequence,TransformOp&gt;(</span> <span class="pre">f</span> <span class="pre">)</span></tt> applies the runtime function
object <tt class="literal"><span class="pre">f</span></tt> to the result of the transformation <tt class="literal"><span class="pre">TransformOp</span></tt> of
every element in the [<tt class="literal"><span class="pre"><a href="./begin.html" class="identifier">begin</a>&lt;Sequence&gt;::type</span></tt>, <tt class="literal"><span class="pre"><a href="./end.html" class="identifier">end</a>&lt;Sequence&gt;::type</span></tt>) range.</li>
</ul>
</div>
<div class="section" id="for-header">
<h3><a class="subsection-title" href="#header" name="header">Header</a></h3>
<pre class="literal-block">
#include &lt;<a href="../../../../boost/mpl/for_each.hpp" class="header">boost/mpl/for_each.hpp</a>&gt;
</pre>
</div>
<div class="section" id="for-parameters">
<h3><a class="subsection-title" href="#parameters" name="parameters">Parameters</a></h3>
<table border="1" class="table">
<colgroup>
<col width="21%" />
<col width="39%" />
<col width="39%" />
</colgroup>
<thead valign="bottom">
<tr><th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td><tt class="literal"><span class="pre">Sequence</span></tt></td>
<td><a class="reference" href="./forward-sequence.html">Forward Sequence</a></td>
<td>A sequence to iterate.</td>
</tr>
<tr><td><tt class="literal"><span class="pre">TransformOp</span></tt></td>
<td><a class="reference" href="./lambda-expression.html">Lambda Expression</a></td>
<td>A transformation.</td>
</tr>
<tr><td><tt class="literal"><span class="pre">f</span></tt></td>
<td>An <a class="reference" href="http://www.sgi.com/tech/stl/UnaryFunction.html" target="_top">unary function object</a></td>
<td>A runtime operation to apply.</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="for-expression-semantics">
<h3><a class="subsection-title" href="#expression-semantics" name="expression-semantics">Expression semantics</a></h3>
<p>For any <a class="reference" href="./forward-sequence.html">Forward Sequence</a> <tt class="literal"><span class="pre">s</span></tt>, <a class="reference" href="./lambda-expression.html">Lambda Expression</a> <tt class="literal"><span class="pre">op</span></tt> , and an
<a class="reference" href="http://www.sgi.com/tech/stl/UnaryFunction.html" target="_top">unary function object</a> <tt class="literal"><span class="pre">f</span></tt>:</p>
<pre class="literal-block">
<a href="./for-each.html" class="identifier">for_each</a>&lt;s&gt;( f );
</pre>
<table class="field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field"><th class="field-name">Return type:</th><td class="field-body"><tt class="literal"><span class="pre">void</span></tt></td>
</tr>
<tr class="field"><th class="field-name">Postcondition:</th><td class="field-body"><p class="first">Equivalent to</p>
<pre class="literal-block">
typedef <a href="./begin.html" class="identifier">begin</a>&lt;Sequence&gt;::type i<sub>1</sub>;
<a class="reference" href="http://www.boost.org/libs/utility/value_init.htm" target="_top"><a href="./value-initialized.html" class="identifier">value_initialized</a></a>&lt; <a href="./deref.html" class="identifier">deref</a>&lt;i<sub>1</sub>&gt;::type &gt; x<sub>1</sub>;
f(boost::get(x<sub>1</sub>));
typedef <a href="./next.html" class="identifier">next</a>&lt;i<sub>1</sub>&gt;::type i<sub>2</sub>;
<a class="reference" href="http://www.boost.org/libs/utility/value_init.htm" target="_top"><a href="./value-initialized.html" class="identifier">value_initialized</a></a>&lt; <a href="./deref.html" class="identifier">deref</a>&lt;i<sub>2</sub>&gt;::type &gt; x<sub>2</sub>;
f(boost::get(x<sub>2</sub>));
<em>...</em>
<a class="reference" href="http://www.boost.org/libs/utility/value_init.htm" target="_top"><a href="./value-initialized.html" class="identifier">value_initialized</a></a>&lt; <a href="./deref.html" class="identifier">deref</a>&lt;i<sub>n</sub>&gt;::type &gt; x<sub>n</sub>;
f(boost::get(x<sub>n</sub>));
typedef <a href="./next.html" class="identifier">next</a>&lt;i<sub>n</sub>&gt;::type last;
</pre>
<p class="last">where <tt class="literal"><span class="pre">n</span> <span class="pre">==</span> <span class="pre"><a href="./size.html" class="identifier">size</a>&lt;s&gt;::value</span></tt> and <tt class="literal"><span class="pre">last</span></tt> is identical to
<tt class="literal"><span class="pre"><a href="./end.html" class="identifier">end</a>&lt;s&gt;::type</span></tt>; no effect if <tt class="literal"><span class="pre"><a href="./empty.html" class="identifier">empty</a>&lt;s&gt;::value</span> <span class="pre">==</span> <span class="pre">true</span></tt>.</p>
</td>
</tr>
</tbody>
</table>
<pre class="literal-block">
<a href="./for-each.html" class="identifier">for_each</a>&lt;s,op&gt;( f );
</pre>
<table class="field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field"><th class="field-name">Return type:</th><td class="field-body"><tt class="literal"><span class="pre">void</span></tt></td>
</tr>
<tr class="field"><th class="field-name">Postcondition:</th><td class="field-body"><p class="first">Equivalent to</p>
<pre class="last literal-block">
<a href="./for-each.html" class="identifier">for_each</a>&lt; tranform_view&lt;s,op&gt; &gt;( f );
</pre>
</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="for-complexity">
<h3><a class="subsection-title" href="#complexity" name="complexity">Complexity</a></h3>
<p>Linear. Exactly <tt class="literal"><span class="pre"><a href="./size.html" class="identifier">size</a>&lt;s&gt;::value</span></tt> applications of <tt class="literal"><span class="pre">op</span></tt> and <tt class="literal"><span class="pre">f</span></tt>.</p>
</div>
<div class="section" id="for-example">
<h3><a class="subsection-title" href="#example" name="example">Example</a></h3>
<pre class="literal-block">
struct value_printer
{
template&lt; typename U &gt; void operator()(U x)
{
std::cout &lt;&lt; x &lt;&lt; 'n';
}
};
int main()
{
<a href="./for-each.html" class="identifier">for_each</a>&lt; <a href="./range-c.html" class="identifier">range_c</a>&lt;int,0,10&gt; &gt;( value_printer() );
}
</pre>
</div>
<div class="section" id="for-see-also">
<h3><a class="subsection-title" href="#see-also" name="see-also">See also</a></h3>
<p><a class="reference" href="./runtime-algorithms.html">Runtime Algorithms</a>, <a class="reference" href="./views.html">Views</a>, <a class="refentry reference" href="./transform-view.html"><tt class="refentry literal"><span class="pre">transform_view</span></tt></a></p>
<!-- modtime: March 29, 2007 07:29:32 +0000 -->
</div>
</div>
<div class="footer-separator"></div>
<table class="footer"><tr class="footer"><td class="header-group navigation-bar"><span class="navigation-group"><a href="./runtime-algorithms.html" class="navigation-link">Prev</a>&nbsp;<a href="./metafunctions.html" class="navigation-link">Next</a></span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group">Back&nbsp;Along</span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./runtime-algorithms.html" class="navigation-link">Up</a>&nbsp;<a href="../refmanual.html" class="navigation-link">Home</a></span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./refmanual_toc.html" class="navigation-link">Full TOC</a></span></td>
</tr></table></body>
</html>

View File

@@ -155,148 +155,152 @@
<li><a class="reference" href="./reverse-stable-partition.html" id="id435" name="id435">reverse_stable_partition</a></li> <li><a class="reference" href="./reverse-stable-partition.html" id="id435" name="id435">reverse_stable_partition</a></li>
</ul> </ul>
</li> </li>
</ul> <li><a class="reference" href="./runtime-algorithms.html" id="id436" name="id436">Runtime Algorithms</a><ul class="toc" id="outline">
</li> <li><a class="reference" href="./for-each.html" id="id437" name="id437">for_each</a></li>
<li><a class="reference" href="./metafunctions.html" id="id436" name="id436">Metafunctions</a><ul class="toc" id="outline">
<li><a class="reference" href="./metafunctions-concepts.html" id="id437" name="id437">Concepts</a><ul class="toc" id="outline">
<li><a class="reference" href="./metafunction.html" id="id438" name="id438">Metafunction</a></li>
<li><a class="reference" href="./metafunction-class.html" id="id439" name="id439">Metafunction Class</a></li>
<li><a class="reference" href="./lambda-expression.html" id="id440" name="id440">Lambda Expression</a></li>
<li><a class="reference" href="./placeholder-expression.html" id="id441" name="id441">Placeholder Expression</a></li>
<li><a class="reference" href="./tag-dispatched.html" id="id442" name="id442">Tag Dispatched Metafunction</a></li>
<li><a class="reference" href="./numeric-metafunction.html" id="id443" name="id443">Numeric Metafunction</a></li>
<li><a class="reference" href="./trivial-metafunction.html" id="id444" name="id444">Trivial Metafunction</a></li>
</ul>
</li>
<li><a class="reference" href="./type-selection.html" id="id445" name="id445">Type Selection</a><ul class="toc" id="outline">
<li><a class="reference" href="./if.html" id="id446" name="id446">if_</a></li>
<li><a class="reference" href="./if-c.html" id="id447" name="id447">if_c</a></li>
<li><a class="reference" href="./eval-if.html" id="id448" name="id448">eval_if</a></li>
<li><a class="reference" href="./eval-if-c.html" id="id449" name="id449">eval_if_c</a></li>
</ul>
</li>
<li><a class="reference" href="./invocation.html" id="id450" name="id450">Invocation</a><ul class="toc" id="outline">
<li><a class="reference" href="./apply.html" id="id451" name="id451">apply</a></li>
<li><a class="reference" href="./apply-wrap.html" id="id452" name="id452">apply_wrap</a></li>
<li><a class="reference" href="./unpack-args.html" id="id453" name="id453">unpack_args</a></li>
</ul>
</li>
<li><a class="reference" href="./composition-and-argument.html" id="id454" name="id454">Composition and Argument Binding</a><ul class="toc" id="outline">
<li><a class="reference" href="./placeholders.html" id="id455" name="id455">Placeholders</a></li>
<li><a class="reference" href="./lambda.html" id="id456" name="id456">lambda</a></li>
<li><a class="reference" href="./bind.html" id="id457" name="id457">bind</a></li>
<li><a class="reference" href="./quote.html" id="id458" name="id458">quote</a></li>
<li><a class="reference" href="./arg.html" id="id459" name="id459">arg</a></li>
<li><a class="reference" href="./protect.html" id="id460" name="id460">protect</a></li>
</ul>
</li>
<li><a class="reference" href="./arithmetic-operations.html" id="id461" name="id461">Arithmetic Operations</a><ul class="toc" id="outline">
<li><a class="reference" href="./plus.html" id="id462" name="id462">plus</a></li>
<li><a class="reference" href="./minus.html" id="id463" name="id463">minus</a></li>
<li><a class="reference" href="./times.html" id="id464" name="id464">times</a></li>
<li><a class="reference" href="./divides.html" id="id465" name="id465">divides</a></li>
<li><a class="reference" href="./modulus.html" id="id466" name="id466">modulus</a></li>
<li><a class="reference" href="./negate.html" id="id467" name="id467">negate</a></li>
</ul>
</li>
<li><a class="reference" href="./comparisons.html" id="id468" name="id468">Comparisons</a><ul class="toc" id="outline">
<li><a class="reference" href="./less.html" id="id469" name="id469">less</a></li>
<li><a class="reference" href="./less-equal.html" id="id470" name="id470">less_equal</a></li>
<li><a class="reference" href="./greater.html" id="id471" name="id471">greater</a></li>
<li><a class="reference" href="./greater-equal.html" id="id472" name="id472">greater_equal</a></li>
<li><a class="reference" href="./equal-to.html" id="id473" name="id473">equal_to</a></li>
<li><a class="reference" href="./not-equal-to.html" id="id474" name="id474">not_equal_to</a></li>
</ul>
</li>
<li><a class="reference" href="./logical-operations.html" id="id475" name="id475">Logical Operations</a><ul class="toc" id="outline">
<li><a class="reference" href="./and.html" id="id476" name="id476">and_</a></li>
<li><a class="reference" href="./or.html" id="id477" name="id477">or_</a></li>
<li><a class="reference" href="./not.html" id="id478" name="id478">not_</a></li>
</ul>
</li>
<li><a class="reference" href="./bitwise-operations.html" id="id479" name="id479">Bitwise Operations</a><ul class="toc" id="outline">
<li><a class="reference" href="./bitand.html" id="id480" name="id480">bitand_</a></li>
<li><a class="reference" href="./bitor.html" id="id481" name="id481">bitor_</a></li>
<li><a class="reference" href="./bitxor.html" id="id482" name="id482">bitxor_</a></li>
<li><a class="reference" href="./shift-left.html" id="id483" name="id483">shift_left</a></li>
<li><a class="reference" href="./shift-right.html" id="id484" name="id484">shift_right</a></li>
</ul>
</li>
<li><a class="reference" href="./trivial.html" id="id485" name="id485">Trivial</a><ul class="toc" id="outline">
<li><a class="reference" href="./trivial-metafunctions.html" id="id486" name="id486">Trivial Metafunctions Summary</a></li>
</ul>
</li>
<li><a class="reference" href="./miscellaneous.html" id="id487" name="id487">Miscellaneous</a><ul class="toc" id="outline">
<li><a class="reference" href="./identity.html" id="id488" name="id488">identity</a></li>
<li><a class="reference" href="./always.html" id="id489" name="id489">always</a></li>
<li><a class="reference" href="./inherit.html" id="id490" name="id490">inherit</a></li>
<li><a class="reference" href="./inherit-linearly.html" id="id491" name="id491">inherit_linearly</a></li>
<li><a class="reference" href="./numeric-cast.html" id="id492" name="id492">numeric_cast</a></li>
<li><a class="reference" href="./min.html" id="id493" name="id493">min</a></li>
<li><a class="reference" href="./max.html" id="id494" name="id494">max</a></li>
<li><a class="reference" href="./sizeof.html" id="id495" name="id495">sizeof_</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="./data-types.html" id="id496" name="id496">Data Types</a><ul class="toc" id="outline"> <li><a class="reference" href="./metafunctions.html" id="id438" name="id438">Metafunctions</a><ul class="toc" id="outline">
<li><a class="reference" href="./data-concepts.html" id="id497" name="id497">Concepts</a><ul class="toc" id="outline"> <li><a class="reference" href="./metafunctions-concepts.html" id="id439" name="id439">Concepts</a><ul class="toc" id="outline">
<li><a class="reference" href="./integral-constant.html" id="id498" name="id498">Integral Constant</a></li> <li><a class="reference" href="./metafunction.html" id="id440" name="id440">Metafunction</a></li>
<li><a class="reference" href="./metafunction-class.html" id="id441" name="id441">Metafunction Class</a></li>
<li><a class="reference" href="./lambda-expression.html" id="id442" name="id442">Lambda Expression</a></li>
<li><a class="reference" href="./placeholder-expression.html" id="id443" name="id443">Placeholder Expression</a></li>
<li><a class="reference" href="./tag-dispatched.html" id="id444" name="id444">Tag Dispatched Metafunction</a></li>
<li><a class="reference" href="./numeric-metafunction.html" id="id445" name="id445">Numeric Metafunction</a></li>
<li><a class="reference" href="./trivial-metafunction.html" id="id446" name="id446">Trivial Metafunction</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="./numeric.html" id="id499" name="id499">Numeric</a><ul class="toc" id="outline"> <li><a class="reference" href="./type-selection.html" id="id447" name="id447">Type Selection</a><ul class="toc" id="outline">
<li><a class="reference" href="./bool.html" id="id500" name="id500">bool_</a></li> <li><a class="reference" href="./if.html" id="id448" name="id448">if_</a></li>
<li><a class="reference" href="./int.html" id="id501" name="id501">int_</a></li> <li><a class="reference" href="./if-c.html" id="id449" name="id449">if_c</a></li>
<li><a class="reference" href="./long.html" id="id502" name="id502">long_</a></li> <li><a class="reference" href="./eval-if.html" id="id450" name="id450">eval_if</a></li>
<li><a class="reference" href="./size-t.html" id="id503" name="id503">size_t</a></li> <li><a class="reference" href="./eval-if-c.html" id="id451" name="id451">eval_if_c</a></li>
<li><a class="reference" href="./integral-c.html" id="id504" name="id504">integral_c</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="./data-miscellaneous.html" id="id505" name="id505">Miscellaneous</a><ul class="toc" id="outline"> <li><a class="reference" href="./invocation.html" id="id452" name="id452">Invocation</a><ul class="toc" id="outline">
<li><a class="reference" href="./pair.html" id="id506" name="id506">pair</a></li> <li><a class="reference" href="./apply.html" id="id453" name="id453">apply</a></li>
<li><a class="reference" href="./empty-base.html" id="id507" name="id507">empty_base</a></li> <li><a class="reference" href="./apply-wrap.html" id="id454" name="id454">apply_wrap</a></li>
<li><a class="reference" href="./void.html" id="id508" name="id508">void_</a></li> <li><a class="reference" href="./unpack-args.html" id="id455" name="id455">unpack_args</a></li>
</ul>
</li>
<li><a class="reference" href="./composition-and-argument.html" id="id456" name="id456">Composition and Argument Binding</a><ul class="toc" id="outline">
<li><a class="reference" href="./placeholders.html" id="id457" name="id457">Placeholders</a></li>
<li><a class="reference" href="./lambda.html" id="id458" name="id458">lambda</a></li>
<li><a class="reference" href="./bind.html" id="id459" name="id459">bind</a></li>
<li><a class="reference" href="./quote.html" id="id460" name="id460">quote</a></li>
<li><a class="reference" href="./arg.html" id="id461" name="id461">arg</a></li>
<li><a class="reference" href="./protect.html" id="id462" name="id462">protect</a></li>
</ul>
</li>
<li><a class="reference" href="./arithmetic-operations.html" id="id463" name="id463">Arithmetic Operations</a><ul class="toc" id="outline">
<li><a class="reference" href="./plus.html" id="id464" name="id464">plus</a></li>
<li><a class="reference" href="./minus.html" id="id465" name="id465">minus</a></li>
<li><a class="reference" href="./times.html" id="id466" name="id466">times</a></li>
<li><a class="reference" href="./divides.html" id="id467" name="id467">divides</a></li>
<li><a class="reference" href="./modulus.html" id="id468" name="id468">modulus</a></li>
<li><a class="reference" href="./negate.html" id="id469" name="id469">negate</a></li>
</ul>
</li>
<li><a class="reference" href="./comparisons.html" id="id470" name="id470">Comparisons</a><ul class="toc" id="outline">
<li><a class="reference" href="./less.html" id="id471" name="id471">less</a></li>
<li><a class="reference" href="./less-equal.html" id="id472" name="id472">less_equal</a></li>
<li><a class="reference" href="./greater.html" id="id473" name="id473">greater</a></li>
<li><a class="reference" href="./greater-equal.html" id="id474" name="id474">greater_equal</a></li>
<li><a class="reference" href="./equal-to.html" id="id475" name="id475">equal_to</a></li>
<li><a class="reference" href="./not-equal-to.html" id="id476" name="id476">not_equal_to</a></li>
</ul>
</li>
<li><a class="reference" href="./logical-operations.html" id="id477" name="id477">Logical Operations</a><ul class="toc" id="outline">
<li><a class="reference" href="./and.html" id="id478" name="id478">and_</a></li>
<li><a class="reference" href="./or.html" id="id479" name="id479">or_</a></li>
<li><a class="reference" href="./not.html" id="id480" name="id480">not_</a></li>
</ul>
</li>
<li><a class="reference" href="./bitwise-operations.html" id="id481" name="id481">Bitwise Operations</a><ul class="toc" id="outline">
<li><a class="reference" href="./bitand.html" id="id482" name="id482">bitand_</a></li>
<li><a class="reference" href="./bitor.html" id="id483" name="id483">bitor_</a></li>
<li><a class="reference" href="./bitxor.html" id="id484" name="id484">bitxor_</a></li>
<li><a class="reference" href="./shift-left.html" id="id485" name="id485">shift_left</a></li>
<li><a class="reference" href="./shift-right.html" id="id486" name="id486">shift_right</a></li>
</ul>
</li>
<li><a class="reference" href="./trivial.html" id="id487" name="id487">Trivial</a><ul class="toc" id="outline">
<li><a class="reference" href="./trivial-metafunctions.html" id="id488" name="id488">Trivial Metafunctions Summary</a></li>
</ul>
</li>
<li><a class="reference" href="./miscellaneous.html" id="id489" name="id489">Miscellaneous</a><ul class="toc" id="outline">
<li><a class="reference" href="./identity.html" id="id490" name="id490">identity</a></li>
<li><a class="reference" href="./always.html" id="id491" name="id491">always</a></li>
<li><a class="reference" href="./inherit.html" id="id492" name="id492">inherit</a></li>
<li><a class="reference" href="./inherit-linearly.html" id="id493" name="id493">inherit_linearly</a></li>
<li><a class="reference" href="./numeric-cast.html" id="id494" name="id494">numeric_cast</a></li>
<li><a class="reference" href="./min.html" id="id495" name="id495">min</a></li>
<li><a class="reference" href="./max.html" id="id496" name="id496">max</a></li>
<li><a class="reference" href="./sizeof.html" id="id497" name="id497">sizeof_</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="./macros.html" id="id509" name="id509">Macros</a><ul class="toc" id="outline"> <li><a class="reference" href="./data-types.html" id="id498" name="id498">Data Types</a><ul class="toc" id="outline">
<li><a class="reference" href="./asserts.html" id="id510" name="id510">Asserts</a><ul class="toc" id="outline"> <li><a class="reference" href="./data-concepts.html" id="id499" name="id499">Concepts</a><ul class="toc" id="outline">
<li><a class="reference" href="./assert.html" id="id511" name="id511">BOOST_MPL_ASSERT</a></li> <li><a class="reference" href="./integral-constant.html" id="id500" name="id500">Integral Constant</a></li>
<li><a class="reference" href="./assert-msg.html" id="id512" name="id512">BOOST_MPL_ASSERT_MSG</a></li>
<li><a class="reference" href="./assert-not.html" id="id513" name="id513">BOOST_MPL_ASSERT_NOT</a></li>
<li><a class="reference" href="./assert-relation.html" id="id514" name="id514">BOOST_MPL_ASSERT_RELATION</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="./introspection.html" id="id515" name="id515">Introspection</a><ul class="toc" id="outline"> <li><a class="reference" href="./numeric.html" id="id501" name="id501">Numeric</a><ul class="toc" id="outline">
<li><a class="reference" href="./has-xxx-trait-def.html" id="id516" name="id516">BOOST_MPL_HAS_XXX_TRAIT_DEF</a></li> <li><a class="reference" href="./bool.html" id="id502" name="id502">bool_</a></li>
<li><a class="reference" href="./has-xxx-trait-named-def.html" id="id517" name="id517">BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF</a></li> <li><a class="reference" href="./int.html" id="id503" name="id503">int_</a></li>
<li><a class="reference" href="./long.html" id="id504" name="id504">long_</a></li>
<li><a class="reference" href="./size-t.html" id="id505" name="id505">size_t</a></li>
<li><a class="reference" href="./integral-c.html" id="id506" name="id506">integral_c</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="./configuration.html" id="id518" name="id518">Configuration</a><ul class="toc" id="outline"> <li><a class="reference" href="./data-miscellaneous.html" id="id507" name="id507">Miscellaneous</a><ul class="toc" id="outline">
<li><a class="reference" href="./cfg-no-preprocessed.html" id="id519" name="id519">BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS</a></li> <li><a class="reference" href="./pair.html" id="id508" name="id508">pair</a></li>
<li><a class="reference" href="./cfg-no-has-xxx.html" id="id520" name="id520">BOOST_MPL_CFG_NO_HAS_XXX</a></li> <li><a class="reference" href="./empty-base.html" id="id509" name="id509">empty_base</a></li>
<li><a class="reference" href="./limit-metafunction-arity.html" id="id521" name="id521">BOOST_MPL_LIMIT_METAFUNCTION_ARITY</a></li> <li><a class="reference" href="./void.html" id="id510" name="id510">void_</a></li>
<li><a class="reference" href="./limit-vector-size.html" id="id522" name="id522">BOOST_MPL_LIMIT_VECTOR_SIZE</a></li>
<li><a class="reference" href="./limit-list-size.html" id="id523" name="id523">BOOST_MPL_LIMIT_LIST_SIZE</a></li>
<li><a class="reference" href="./limit-set-size.html" id="id524" name="id524">BOOST_MPL_LIMIT_SET_SIZE</a></li>
<li><a class="reference" href="./limit-map-size.html" id="id525" name="id525">BOOST_MPL_LIMIT_MAP_SIZE</a></li>
<li><a class="reference" href="./limit-unrolling.html" id="id526" name="id526">BOOST_MPL_LIMIT_UNROLLING</a></li>
</ul>
</li>
<li><a class="reference" href="./broken-compiler.html" id="id527" name="id527">Broken Compiler Workarounds</a><ul class="toc" id="outline">
<li><a class="reference" href="./aux-lambda-support.html" id="id528" name="id528">BOOST_MPL_AUX_LAMBDA_SUPPORT</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="./terminology.html" id="id529" name="id529">Terminology</a></li> <li><a class="reference" href="./macros.html" id="id511" name="id511">Macros</a><ul class="toc" id="outline">
<li><a class="reference" href="./categorized-index.html" id="id530" name="id530">Categorized Index</a><ul class="toc" id="outline"> <li><a class="reference" href="./asserts.html" id="id512" name="id512">Asserts</a><ul class="toc" id="outline">
<li><a class="reference" href="./categorized-concepts.html" id="id531" name="id531">Concepts</a></li> <li><a class="reference" href="./assert.html" id="id513" name="id513">BOOST_MPL_ASSERT</a></li>
<li><a class="reference" href="./components.html" id="id532" name="id532">Components</a></li> <li><a class="reference" href="./assert-msg.html" id="id514" name="id514">BOOST_MPL_ASSERT_MSG</a></li>
<li><a class="reference" href="./assert-not.html" id="id515" name="id515">BOOST_MPL_ASSERT_NOT</a></li>
<li><a class="reference" href="./assert-relation.html" id="id516" name="id516">BOOST_MPL_ASSERT_RELATION</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="./acknowledgements.html" id="id533" name="id533">Acknowledgements</a></li> <li><a class="reference" href="./introspection.html" id="id517" name="id517">Introspection</a><ul class="toc" id="outline">
<li><a class="reference" href="./has-xxx-trait-def.html" id="id518" name="id518">BOOST_MPL_HAS_XXX_TRAIT_DEF</a></li>
<li><a class="reference" href="./has-xxx-trait-named-def.html" id="id519" name="id519">BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF</a></li>
</ul>
</li>
<li><a class="reference" href="./configuration.html" id="id520" name="id520">Configuration</a><ul class="toc" id="outline">
<li><a class="reference" href="./cfg-no-preprocessed.html" id="id521" name="id521">BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS</a></li>
<li><a class="reference" href="./cfg-no-has-xxx.html" id="id522" name="id522">BOOST_MPL_CFG_NO_HAS_XXX</a></li>
<li><a class="reference" href="./limit-metafunction-arity.html" id="id523" name="id523">BOOST_MPL_LIMIT_METAFUNCTION_ARITY</a></li>
<li><a class="reference" href="./limit-vector-size.html" id="id524" name="id524">BOOST_MPL_LIMIT_VECTOR_SIZE</a></li>
<li><a class="reference" href="./limit-list-size.html" id="id525" name="id525">BOOST_MPL_LIMIT_LIST_SIZE</a></li>
<li><a class="reference" href="./limit-set-size.html" id="id526" name="id526">BOOST_MPL_LIMIT_SET_SIZE</a></li>
<li><a class="reference" href="./limit-map-size.html" id="id527" name="id527">BOOST_MPL_LIMIT_MAP_SIZE</a></li>
<li><a class="reference" href="./limit-unrolling.html" id="id528" name="id528">BOOST_MPL_LIMIT_UNROLLING</a></li>
</ul>
</li>
<li><a class="reference" href="./broken-compiler.html" id="id529" name="id529">Broken Compiler Workarounds</a><ul class="toc" id="outline">
<li><a class="reference" href="./aux-lambda-support.html" id="id530" name="id530">BOOST_MPL_AUX_LAMBDA_SUPPORT</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference" href="./terminology.html" id="id531" name="id531">Terminology</a></li>
<li><a class="reference" href="./categorized-index.html" id="id532" name="id532">Categorized Index</a><ul class="toc" id="outline">
<li><a class="reference" href="./categorized-concepts.html" id="id533" name="id533">Concepts</a></li>
<li><a class="reference" href="./components.html" id="id534" name="id534">Components</a></li>
</ul>
</li>
<li><a class="reference" href="./acknowledgements.html" id="id535" name="id535">Acknowledgements</a></li>
</ul> </ul>
<div class="footer-separator"></div> <div class="footer-separator"></div>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8" ?>
<!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" xml:lang="en" lang="en">
<!-- Copyright Aleksey Gurtovoy 2006. 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) -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.3.6: http://docutils.sourceforge.net/" />
<title>The MPL Reference Manual: Runtime Algorithms</title>
<link rel="stylesheet" href="../style.css" type="text/css" />
</head>
<body class="docframe refmanual">
<table class="header"><tr class="header"><td class="header-group navigation-bar"><span class="navigation-group"><a href="./reverse-stable-partition.html" class="navigation-link">Prev</a>&nbsp;<a href="./for-each.html" class="navigation-link">Next</a></span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./transformation-algorithms.html" class="navigation-link">Back</a>&nbsp;Along</span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./algorithms.html" class="navigation-link">Up</a>&nbsp;<a href="../refmanual.html" class="navigation-link">Home</a></span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./refmanual_toc.html" class="navigation-link">Full TOC</a></span></td>
<td class="header-group page-location"><a href="../refmanual.html" class="navigation-link">Front Page</a> / <a href="./algorithms.html" class="navigation-link">Algorithms</a> / <a href="./runtime-algorithms.html" class="navigation-link">Runtime Algorithms</a></td>
</tr></table><div class="header-separator"></div>
<div class="section" id="runtime-algorithms">
<h1><a class="toc-backref" href="./algorithms.html#id436" name="runtime-algorithms">Runtime Algorithms</a></h1>
<a class="target" id="label-algorithms-runtime" name="label-algorithms-runtime"></a><!-- The MPL *runtime algorithms* provide out-of-box support for the
common scenarios of crossing compile time/runtime boundary. -->
<!-- modtime: August 28, 2006 07:25:46 +0000 -->
<!-- Algorithms/Runtime Algorithms//for_each |10 -->
<ul class="toc simple" id="outline">
<li><a class="reference" href="./for-each.html" id="id437" name="id437">for_each</a></li>
</ul>
</div>
<div class="footer-separator"></div>
<table class="footer"><tr class="footer"><td class="header-group navigation-bar"><span class="navigation-group"><a href="./reverse-stable-partition.html" class="navigation-link">Prev</a>&nbsp;<a href="./for-each.html" class="navigation-link">Next</a></span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./transformation-algorithms.html" class="navigation-link">Back</a>&nbsp;Along</span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./algorithms.html" class="navigation-link">Up</a>&nbsp;<a href="../refmanual.html" class="navigation-link">Home</a></span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./refmanual_toc.html" class="navigation-link">Full TOC</a></span></td>
</tr></table></body>
</html>