adds documentation for functional module

[SVN r36959]
This commit is contained in:
Tobias Schwinger
2007-02-15 23:11:24 +00:00
parent 67f0df4958
commit ca6f831b96
247 changed files with 8675 additions and 3833 deletions

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Acknowledgements</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="prev" href="change_log.html" title="Change log">

View File

@ -3,12 +3,12 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Algorithms</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="prev" href="sequences/operators/comparison/greater_than_equal.html" title="greater
than equal">
<link rel="next" href="algorithms/concepts.html" title="Concepts">
<link rel="next" href="algorithms/iteration.html" title="Iteration">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
@ -21,33 +21,100 @@
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="sequences/operators/comparison/greater_than_equal.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="algorithms/concepts.html"><img src="../images/next.png" alt="Next"></a>
<a accesskey="p" href="sequences/operators/comparison/greater_than_equal.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="algorithms/iteration.html"><img src="../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="fusion.algorithms"></a><a href="algorithms.html" title="Algorithms">Algorithms</a></h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="algorithms/concepts.html">Concepts</a></span></dt>
<dd><dl><dt><span class="section"><a href="algorithms/concepts/poly.html"> Polymorphic Function
Object</a></span></dt></dl></dd>
<dt><span class="section"><a href="algorithms/iteration.html">Iteration</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithms/iteration/functions.html">Functions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithms/iteration/functions/fold.html">fold</a></span></dt>
<dt><span class="section"><a href="algorithms/iteration/functions/accumulate.html">accumulate</a></span></dt>
<dt><span class="section"><a href="algorithms/iteration/functions/for_each.html">for_each</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="algorithms/iteration/metafunctions.html">Metafunctions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithms/iteration/metafunctions/fold.html">fold</a></span></dt>
<dt><span class="section"><a href="algorithms/iteration/metafunctions/accumulate.html">accumulate</a></span></dt>
<dt><span class="section"><a href="algorithms/iteration/metafunctions/for_each.html">for_each</a></span></dt>
</dl></dd>
</dl></dd>
<dt><span class="section"><a href="algorithms/query.html">Query</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithms/query/functions.html">Functions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithms/query/functions/any.html">any</a></span></dt>
<dt><span class="section"><a href="algorithms/query/functions/all.html">all</a></span></dt>
<dt><span class="section"><a href="algorithms/query/functions/none.html">none</a></span></dt>
<dt><span class="section"><a href="algorithms/query/functions/find.html">find</a></span></dt>
<dt><span class="section"><a href="algorithms/query/functions/find_if.html">find_if</a></span></dt>
<dt><span class="section"><a href="algorithms/query/functions/count.html">count</a></span></dt>
<dt><span class="section"><a href="algorithms/query/functions/count_if.html">count_if</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="algorithms/query/metafunctions.html">Metafunctions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithms/query/metafunctions/any.html">any</a></span></dt>
<dt><span class="section"><a href="algorithms/query/metafunctions/all.html">all</a></span></dt>
<dt><span class="section"><a href="algorithms/query/metafunctions/none.html">none</a></span></dt>
<dt><span class="section"><a href="algorithms/query/metafunctions/find.html">find</a></span></dt>
<dt><span class="section"><a href="algorithms/query/metafunctions/find_if.html">find_if</a></span></dt>
<dt><span class="section"><a href="algorithms/query/metafunctions/count.html">count</a></span></dt>
<dt><span class="section"><a href="algorithms/query/metafunctions/count_if.html">count_if</a></span></dt>
</dl></dd>
</dl></dd>
<dt><span class="section"><a href="algorithms/transformation.html">Transformation</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithms/transformation/functions.html">Functions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithms/transformation/functions/filter.html">filter</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/filter_if.html">filter_if</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/transform.html">transform</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/replace.html">replace</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/replace_if.html">replace_if</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/remove.html">remove</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/remove_if.html">remove_if</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/reverse.html">reverse</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/clear.html">clear</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/erase.html">erase</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/erase_key.html">erase_key</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/insert.html">insert</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/insert_range.html">insert_range</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/join.html">join</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/zip.html">zip</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/pop_back.html">pop_back</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/pop_front.html">pop_front</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/push_back.html">push_back</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/functions/push_front.html">push_front</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="algorithms/transformation/metafunctions.html">Metafunctions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/filter.html">filter</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/filter_if.html">filter_if</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/transform.html">transform</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/replace.html">replace</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/replace_if.html">replace_if</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/remove.html">remove</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/remove_if.html">remove_if</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/reverse.html">reverse</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/clear.html">clear</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/erase.html">erase</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/erase_key.html">erase_key</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/insert.html">insert</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/insert_range.html">insert_range</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/join.html">join</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/zip.html">zip</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/pop_back.html">pop_back</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/pop_front.html">pop_front</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/push_back.html">push_back</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions/push_front.html">push_front</a></span></dt>
</dl></dd>
</dl></dd>
</dl></div>
<a name="fusion.algorithms.lazy_evaluation"></a><h3>
<a name="id552698"></a>
<a name="id1080217"></a>
<a href="algorithms.html#fusion.algorithms.lazy_evaluation">Lazy Evaluation</a>
</h3>
<p>
@ -61,39 +128,39 @@
fusion algorithms are functional in nature such that algorithms are non mutating
(no side effects). However, due to the high cost of returning full sequences
such as vectors and lists, <span class="emphasis"><em>Views</em></span> are returned from Fusion
algorithms instead. For example, the <a href="algorithms/transformation/functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a> algorithm does not actually
return a transformed version of the original sequence. <a href="algorithms/transformation/functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a> returns a <a href="sequences/views/transform_view.html" title="transform_view"><tt class="computeroutput"><span class="identifier">transform_view</span></tt></a>. This view holds a
algorithms instead. For example, the <a href="algorithms/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a> algorithm does not actually
return a transformed version of the original sequence. <a href="algorithms/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a> returns a <a href="sequences/views/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a>. This view holds a
reference to the original sequence plus the transform function. Iteration over
the <a href="sequences/views/transform_view.html" title="transform_view"><tt class="computeroutput"><span class="identifier">transform_view</span></tt></a>
the <a href="sequences/views/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a>
will apply the transform function over the sequence elements on demand. This
<span class="emphasis"><em>lazy</em></span> evaluation scheme allows us to chain as many algorithms
as we want without incurring a high runtime penalty.
</p>
<a name="fusion.algorithms.sequence_extension"></a><h3>
<a name="id552838"></a>
<a name="id1080344"></a>
<a href="algorithms.html#fusion.algorithms.sequence_extension">Sequence Extension</a>
</h3>
<p>
The <span class="emphasis"><em>lazy</em></span> evaluation scheme where <a href="algorithms.html" title="Algorithms">Algorithms</a>
return <a href="sequences/views.html" title="Views">Views</a> also allows operations
such as <a href="algorithms/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> to be totally generic. In
Fusion, <a href="algorithms/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> is actually a generic algorithm
that works on all sequences. Given an input sequence <tt class="computeroutput"><span class="identifier">s</span></tt>
and a value <tt class="computeroutput"><span class="identifier">x</span></tt>, Fusion's <a href="algorithms/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> algorithm simply returns
a <a href="sequences/views/joint_view.html" title="joint_view"><tt class="computeroutput"><span class="identifier">joint_view</span></tt></a>:
a view that holds a reference to the original sequence <tt class="computeroutput"><span class="identifier">s</span></tt>
and the value <tt class="computeroutput"><span class="identifier">x</span></tt>. Functions
such as <a href="algorithms/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> to be totally generic. In
Fusion, <a href="algorithms/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> is actually a generic algorithm
that works on all sequences. Given an input sequence <code class="computeroutput"><span class="identifier">s</span></code>
and a value <code class="computeroutput"><span class="identifier">x</span></code>, Fusion's <a href="algorithms/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> algorithm simply returns
a <a href="sequences/views/joint_view.html" title="joint_view"><code class="computeroutput"><span class="identifier">joint_view</span></code></a>:
a view that holds a reference to the original sequence <code class="computeroutput"><span class="identifier">s</span></code>
and the value <code class="computeroutput"><span class="identifier">x</span></code>. Functions
that were once sequence specific and need to be implemented N times over N
different sequences are now implemented only once. That is to say that Fusion
sequences are cheaply extensible. However, an important caveat is that the
result of a sequence extending operation like <a href="algorithms/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> does not retain the properties
result of a sequence extending operation like <a href="algorithms/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> does not retain the properties
of the original sequence such as associativity of <span class="underline">_set</span>_s.
To regain the original sequence, <a href="sequences/conversion/functions.html" title="Functions">Conversion</a>
functions are provided. You may use one of the <a href="sequences/conversion/functions.html" title="Functions">Conversion</a>
functions to convert back to the original sequence type.
</p>
<a name="fusion.algorithms.header"></a><h3>
<a name="id553049"></a>
<a name="id1080532"></a>
<a href="algorithms.html#fusion.algorithms.header">Header</a>
</h3>
<pre class="programlisting">
@ -106,7 +173,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="sequences/operators/comparison/greater_than_equal.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="algorithms/concepts.html"><img src="../images/next.png" alt="Next"></a>
<a accesskey="p" href="sequences/operators/comparison/greater_than_equal.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="algorithms/iteration.html"><img src="../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -3,11 +3,10 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Iteration</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../algorithms.html" title="Algorithms">
<link rel="prev" href="concepts/poly.html" title=" Polymorphic Function
Object">
<link rel="prev" href="../algorithms.html" title="Algorithms">
<link rel="next" href="iteration/functions.html" title="Functions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@ -21,21 +20,31 @@
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="concepts/poly.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../images/next.png" alt="Next"></a>
<a accesskey="p" href="../algorithms.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.algorithms.iteration"></a><a href="iteration.html" title="Iteration">Iteration</a></h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="iteration/functions.html">Functions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="iteration/functions/fold.html">fold</a></span></dt>
<dt><span class="section"><a href="iteration/functions/accumulate.html">accumulate</a></span></dt>
<dt><span class="section"><a href="iteration/functions/for_each.html">for_each</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="iteration/metafunctions.html">Metafunctions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="iteration/metafunctions/fold.html">fold</a></span></dt>
<dt><span class="section"><a href="iteration/metafunctions/accumulate.html">accumulate</a></span></dt>
<dt><span class="section"><a href="iteration/metafunctions/for_each.html">for_each</a></span></dt>
</dl></dd>
</dl></div>
<p>
The iteration algorithms provide the fundamental algorithms for traversing
a sequence repeatedly applying an operation to its elements.
</p>
<a name="fusion.algorithms.iteration.header"></a><h4>
<a name="id553535"></a>
<a name="id1080628"></a>
<a href="iteration.html#fusion.algorithms.iteration.header">Header</a>
</h4>
<pre class="programlisting">
@ -48,7 +57,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="concepts/poly.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../images/next.png" alt="Next"></a>
<a accesskey="p" href="../algorithms.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Functions</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../iteration.html" title="Iteration">
<link rel="prev" href="../iteration.html" title="Iteration">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>accumulate</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="fold.html" title="fold">
@ -26,18 +26,18 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.iteration.functions.accumulate"></a><a href="accumulate.html" title="accumulate">accumulate</a></h5></div></div></div>
<a name="fusion.algorithms.iteration.functions.accumulate.description"></a><h6>
<a name="id555122"></a>
<a name="id1082030"></a>
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.description">Description</a>
</h6>
<p>
Repeatedly applies binary <a href="../../concepts/poly.html" title=" Polymorphic Function
Repeatedly applies binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> <tt class="computeroutput"><span class="identifier">f</span></tt>
to each element of a sequence and the previous state. <a href="accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">accumulate</span></tt></a> is equivalent to
<a href="fold.html" title="fold"><tt class="computeroutput"><span class="identifier">fold</span></tt></a>.
Function Object</a> <code class="computeroutput"><span class="identifier">f</span></code>
to each element of a sequence and the previous state. <a href="accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">accumulate</span></code></a> is equivalent to
<a href="fold.html" title="fold"><code class="computeroutput"><span class="identifier">fold</span></code></a>.
</p>
<a name="fusion.algorithms.iteration.functions.accumulate.synopsis"></a><h6>
<a name="id555207"></a>
<a name="id1082105"></a>
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -46,11 +46,11 @@
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">accumulate</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">accumulate</span><span class="special">(</span>
<span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id555466"></a><p class="title"><b>Table<EFBFBD>1.33.<2E>Parameters</b></p>
<a name="id1082333"></a><p class="title"><b>Table<EFBFBD>1.33.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -64,26 +64,26 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span> <span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><span class="special">,</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">initial_state</span><span class="special">)))</span></tt> must be a valid expression for
each element <tt class="computeroutput"><span class="identifier">e1</span></tt> to
<tt class="computeroutput"><span class="identifier">eN</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span> <span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><span class="special">,</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">initial_state</span><span class="special">)))</span></code> must be a valid expression for
each element <code class="computeroutput"><span class="identifier">e1</span></code> to
<code class="computeroutput"><span class="identifier">eN</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
</td>
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">initial_state</span></tt></td>
<td><code class="computeroutput"><span class="identifier">initial_state</span></code></td>
<td>Any
type</td>
<td>Initial state</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">f</span></tt></td>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
model of binary <a href="../../concepts/poly.html" title=" Polymorphic Function
model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
@ -93,7 +93,7 @@
</table>
</div>
<a name="fusion.algorithms.iteration.functions.accumulate.expression_semantics"></a><h6>
<a name="id555697"></a>
<a name="id1082536"></a>
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.expression_semantics">Expression
Semantics</a>
</h6>
@ -101,28 +101,28 @@
<span class="identifier">accumulate</span><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: Any type
<span class="bold"><strong>Return type</strong></span>: Any type
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Equivalent to <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span> <span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><span class="special">,</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">initial_state</span><span class="special">)))</span></tt>
where <tt class="computeroutput"><span class="identifier">e1</span> <span class="special">...</span><span class="identifier">eN</span></tt> are the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span> <span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><span class="special">,</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">initial_state</span><span class="special">)))</span></code>
where <code class="computeroutput"><span class="identifier">e1</span> <span class="special">...</span><span class="identifier">eN</span></code> are the elements of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.iteration.functions.accumulate.complexity"></a><h6>
<a name="id555903"></a>
<a name="id1082544"></a>
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.complexity">Complexity</a>
</h6>
<p>
Linear, exactly <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">f</span></tt>.
Linear, exactly <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<a name="fusion.algorithms.iteration.functions.accumulate.header"></a><h6>
<a name="id555994"></a>
<a name="id1082797"></a>
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">accumulate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.iteration.functions.accumulate.example"></a><h6>
<a name="id556100"></a>
<a name="id1082890"></a>
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.example">Example</a>
</h6>
<pre class="programlisting">
@ -141,8 +141,8 @@
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">accumulate</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> <span class="string">"12"</span><span class="special">);</span>
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">accumulate</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> <span class="string">"12"</span><span class="special">);</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>fold</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="../functions.html" title="Functions">
@ -26,17 +26,17 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.iteration.functions.fold"></a><a href="fold.html" title="fold">fold</a></h5></div></div></div>
<a name="fusion.algorithms.iteration.functions.fold.description"></a><h6>
<a name="id553670"></a>
<a name="id1080746"></a>
<a href="fold.html#fusion.algorithms.iteration.functions.fold.description">Description</a>
</h6>
<p>
Repeatedly applies binary <a href="../../concepts/poly.html" title=" Polymorphic Function
Repeatedly applies binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> <tt class="computeroutput"><span class="identifier">f</span></tt>
Function Object</a> <code class="computeroutput"><span class="identifier">f</span></code>
to each element of a sequence and the previous state.
</p>
<a name="fusion.algorithms.iteration.functions.fold.synopsis"></a><h6>
<a name="id553719"></a>
<a name="id1080792"></a>
<a href="fold.html#fusion.algorithms.iteration.functions.fold.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -45,11 +45,11 @@
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/fold.html" title="fold"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">fold</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">fold</span><span class="special">(</span>
<span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id553977"></a><p class="title"><b>Table<EFBFBD>1.32.<2E>Parameters</b></p>
<a name="id1081019"></a><p class="title"><b>Table<EFBFBD>1.32.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -63,25 +63,25 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>,<tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> must be a valid expression for each
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
Sequence</a>,<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> must be a valid expression for each
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
</td>
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">initial_state</span></tt></td>
<td><code class="computeroutput"><span class="identifier">initial_state</span></code></td>
<td>Any
type</td>
<td>Initial state</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">f</span></tt></td>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
model of binary <a href="../../concepts/poly.html" title=" Polymorphic Function
model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
@ -91,7 +91,7 @@
</table>
</div>
<a name="fusion.algorithms.iteration.functions.fold.expression_semantics"></a><h6>
<a name="id554145"></a>
<a name="id1081167"></a>
<a href="fold.html#fusion.algorithms.iteration.functions.fold.expression_semantics">Expression
Semantics</a>
</h6>
@ -99,28 +99,28 @@
<span class="identifier">fold</span><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: Any type
<span class="bold"><strong>Return type</strong></span>: Any type
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Equivalent to <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span> <span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><span class="special">,</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">initial_state</span><span class="special">)))</span></tt>
where <tt class="computeroutput"><span class="identifier">e1</span> <span class="special">...</span><span class="identifier">eN</span></tt> are the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span> <span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><span class="special">,</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">initial_state</span><span class="special">)))</span></code>
where <code class="computeroutput"><span class="identifier">e1</span> <span class="special">...</span><span class="identifier">eN</span></code> are the elements of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.iteration.functions.fold.complexity"></a><h6>
<a name="id554349"></a>
<a name="id1081347"></a>
<a href="fold.html#fusion.algorithms.iteration.functions.fold.complexity">Complexity</a>
</h6>
<p>
Linear, exactly <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">f</span></tt>.
Linear, exactly <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<a name="fusion.algorithms.iteration.functions.fold.header"></a><h6>
<a name="id554441"></a>
<a name="id1081428"></a>
<a href="fold.html#fusion.algorithms.iteration.functions.fold.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">fold</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.iteration.functions.fold.example"></a><h6>
<a name="id554546"></a>
<a name="id1081522"></a>
<a href="fold.html#fusion.algorithms.iteration.functions.fold.example">Example</a>
</h6>
<pre class="programlisting">
@ -139,8 +139,8 @@
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="fold.html" title="fold"><tt class="computeroutput"><span class="identifier">fold</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> <span class="string">"12"</span><span class="special">);</span>
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="fold.html" title="fold"><code class="computeroutput"><span class="identifier">fold</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> <span class="string">"12"</span><span class="special">);</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>for_each</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="accumulate.html" title="accumulate">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.iteration.functions.for_each"></a><a href="for_each.html" title="for_each">for_each</a></h5></div></div></div>
<a name="fusion.algorithms.iteration.functions.for_each.description"></a><h6>
<a name="id556673"></a>
<a name="id1083395"></a>
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.description">Description</a>
</h6>
<p>
Applies a unary function object to each element of a sequence.
</p>
<a name="fusion.algorithms.iteration.functions.for_each.synopsis"></a><h6>
<a name="id556705"></a>
<a name="id1083424"></a>
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -41,11 +41,11 @@
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">for_each</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">for_each</span><span class="special">(</span>
<span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id556906"></a><p class="title"><b>Table<EFBFBD>1.34.<2E>Parameters</b></p>
<a name="id1101077"></a><p class="title"><b>Table<EFBFBD>1.34.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -59,17 +59,17 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> must be a valid expression for each
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> must be a valid expression for each
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
</td>
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">f</span></tt></td>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
unary function object</td>
<td>Operation's argument</td>
@ -78,36 +78,36 @@
</table>
</div>
<a name="fusion.algorithms.iteration.functions.for_each.expression_semantics"></a><h6>
<a name="id557045"></a>
<a name="id1101202"></a>
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
<a href="for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">void</span></tt>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">void</span></code>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Calls <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Calls <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> for each element <code class="computeroutput"><span class="identifier">e</span></code>
in <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.iteration.functions.for_each.complexity"></a><h6>
<a name="id557197"></a>
<a name="id1101335"></a>
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.complexity">Complexity</a>
</h6>
<p>
Linear, exactly <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">f</span></tt>.
Linear, exactly <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<a name="fusion.algorithms.iteration.functions.for_each.header"></a><h6>
<a name="id557289"></a>
<a name="id1101416"></a>
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.iteration.functions.for_each.example"></a><h6>
<a name="id557395"></a>
<a name="id1101509"></a>
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.example">Example</a>
</h6>
<pre class="programlisting">
@ -120,9 +120,9 @@
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<a href="for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <span class="identifier">increment</span><span class="special">());</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">vec</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
<a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<a href="for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <span class="identifier">increment</span><span class="special">());</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">vec</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Metafunctions</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../iteration.html" title="Iteration">
<link rel="prev" href="functions/for_each.html" title="for_each">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>accumulate</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="fold.html" title="fold">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.iteration.metafunctions.accumulate"></a><a href="accumulate.html" title="accumulate">accumulate</a></h5></div></div></div>
<a name="fusion.algorithms.iteration.metafunctions.accumulate.description"></a><h6>
<a name="id558486"></a>
<a name="id1102475"></a>
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">accumulate</span></tt></a>.
Returns the result type of <a href="../functions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">accumulate</span></code></a>.
</p>
<a name="fusion.algorithms.iteration.metafunctions.accumulate.synopsis"></a><h6>
<a name="id558534"></a>
<a name="id1102517"></a>
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id558669"></a><p class="title"><b>Table<EFBFBD>1.36.<2E>Parameters</b></p>
<a name="id1102635"></a><p class="title"><b>Table<EFBFBD>1.36.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -61,7 +61,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -70,17 +70,17 @@
<td>The sequence to iterate</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">State</span></tt></td>
<td><code class="computeroutput"><span class="identifier">State</span></code></td>
<td>Any
type</td>
<td>The initial state for the first application of
<tt class="computeroutput"><span class="identifier">F</span></tt>
<code class="computeroutput"><span class="identifier">F</span></code>
</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">F</span></tt></td>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>A
model of binary <a href="../../concepts/poly.html" title=" Polymorphic Function
model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
@ -91,34 +91,34 @@
</table>
</div>
<a name="fusion.algorithms.iteration.metafunctions.accumulate.expression_semantics"></a><h6>
<a name="id558804"></a>
<a name="id1102755"></a>
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: Any type
<span class="bold"><strong>Return type</strong></span>: Any type
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the result of applying
<tt class="computeroutput"><span class="identifier">accumulate</span></tt> to a sequence
of type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>, with
an initial state of type <tt class="computeroutput"><span class="identifier">State</span></tt>
and binary <a href="../../concepts/poly.html" title=" Polymorphic Function
<span class="bold"><strong>Semantics</strong></span>: Returns the result of applying
<code class="computeroutput"><span class="identifier">accumulate</span></code> to a sequence
of type <code class="computeroutput"><span class="identifier">Sequence</span></code>, with
an initial state of type <code class="computeroutput"><span class="identifier">State</span></code>
and binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
</p>
<a name="fusion.algorithms.iteration.metafunctions.accumulate.complexity"></a><h6>
<a name="id558982"></a>
<a name="id1102909"></a>
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.complexity">Complexity</a>
</h6>
<p>
Linear, exactly <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">F</span></tt>.
Linear, exactly <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>.
</p>
<a name="fusion.algorithms.iteration.metafunctions.accumulate.header"></a><h6>
<a name="id559074"></a>
<a name="id1102991"></a>
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>fold</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="../metafunctions.html" title="Metafunctions">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.iteration.metafunctions.fold"></a><a href="fold.html" title="fold">fold</a></h5></div></div></div>
<a name="fusion.algorithms.iteration.metafunctions.fold.description"></a><h6>
<a name="id557777"></a>
<a name="id1101846"></a>
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/fold.html" title="fold"><tt class="computeroutput"><span class="identifier">fold</span></tt></a>.
Returns the result type of <a href="../functions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">fold</span></code></a>.
</p>
<a name="fusion.algorithms.iteration.metafunctions.fold.synopsis"></a><h6>
<a name="id557824"></a>
<a name="id1101889"></a>
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id557959"></a><p class="title"><b>Table<EFBFBD>1.35.<2E>Parameters</b></p>
<a name="id1102007"></a><p class="title"><b>Table<EFBFBD>1.35.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -61,7 +61,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -70,17 +70,17 @@
<td>The sequence to iterate</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">State</span></tt></td>
<td><code class="computeroutput"><span class="identifier">State</span></code></td>
<td>Any
type</td>
<td>The initial state for the first application of
<tt class="computeroutput"><span class="identifier">F</span></tt>
<code class="computeroutput"><span class="identifier">F</span></code>
</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">F</span></tt></td>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>A
model of binary <a href="../../concepts/poly.html" title=" Polymorphic Function
model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
@ -91,34 +91,34 @@
</table>
</div>
<a name="fusion.algorithms.iteration.metafunctions.fold.expression_semantics"></a><h6>
<a name="id558092"></a>
<a name="id1102127"></a>
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="fold.html" title="fold"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="fold.html" title="fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: Any type
<span class="bold"><strong>Return type</strong></span>: Any type
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the result of applying
<tt class="computeroutput"><span class="identifier">fold</span></tt> to a sequence of
type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>, with an
initial state of type <tt class="computeroutput"><span class="identifier">State</span></tt>
and binary <a href="../../concepts/poly.html" title=" Polymorphic Function
<span class="bold"><strong>Semantics</strong></span>: Returns the result of applying
<code class="computeroutput"><span class="identifier">fold</span></code> to a sequence of
type <code class="computeroutput"><span class="identifier">Sequence</span></code>, with an
initial state of type <code class="computeroutput"><span class="identifier">State</span></code>
and binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
</p>
<a name="fusion.algorithms.iteration.metafunctions.fold.complexity"></a><h6>
<a name="id558269"></a>
<a name="id1102281"></a>
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.complexity">Complexity</a>
</h6>
<p>
Linear, exactly <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">F</span></tt>.
Linear, exactly <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>.
</p>
<a name="fusion.algorithms.iteration.metafunctions.fold.header"></a><h6>
<a name="id558360"></a>
<a name="id1102362"></a>
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>for_each</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="accumulate.html" title="accumulate">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.iteration.metafunctions.for_each"></a><a href="for_each.html" title="for_each">for_each</a></h5></div></div></div>
<p>
A metafunction returning the result type of applying <a href="../functions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a> to a sequence. The
return type of <a href="../functions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a> is always <tt class="computeroutput"><span class="keyword">void</span></tt>.
A metafunction returning the result type of applying <a href="../functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a> to a sequence. The
return type of <a href="../functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a> is always <code class="computeroutput"><span class="keyword">void</span></code>.
</p>
<a name="fusion.algorithms.iteration.metafunctions.for_each.description"></a><h6>
<a name="id559249"></a>
<a name="id1103146"></a>
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.description">Description</a>
</h6>
<a name="fusion.algorithms.iteration.metafunctions.for_each.synopsis"></a><h6>
<a name="id559277"></a>
<a name="id1103170"></a>
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id559397"></a><p class="title"><b>Table<EFBFBD>1.37.<2E>Parameters</b></p>
<a name="id1103276"></a><p class="title"><b>Table<EFBFBD>1.37.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -62,7 +62,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -71,7 +71,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">F</span></tt></td>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>Any
type</td>
<td>Operation's argument</td>
@ -80,32 +80,32 @@
</table>
</div>
<a name="fusion.algorithms.iteration.metafunctions.for_each.expression_semantics"></a><h6>
<a name="id559494"></a>
<a name="id1103361"></a>
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">void</span></tt>.
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">void</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a> for a sequence of type
<tt class="computeroutput"><span class="identifier">Sequence</span></tt> and a unary
function object <tt class="computeroutput"><span class="identifier">F</span></tt>. The
return type is always <tt class="computeroutput"><span class="keyword">void</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
<a href="../functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a> for a sequence of type
<code class="computeroutput"><span class="identifier">Sequence</span></code> and a unary
function object <code class="computeroutput"><span class="identifier">F</span></code>. The
return type is always <code class="computeroutput"><span class="keyword">void</span></code>.
</p>
<a name="fusion.algorithms.iteration.metafunctions.for_each.complexity"></a><h6>
<a name="id559666"></a>
<a name="id1103512"></a>
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.iteration.metafunctions.for_each.header"></a><h6>
<a name="id559698"></a>
<a name="id1103540"></a>
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Query</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../algorithms.html" title="Algorithms">
<link rel="prev" href="iteration/metafunctions/for_each.html" title="for_each">
@ -27,13 +27,31 @@
<a name="fusion.algorithms.query"></a><a href="query.html" title="Query">Query</a></h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="query/functions.html">Functions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="query/functions/any.html">any</a></span></dt>
<dt><span class="section"><a href="query/functions/all.html">all</a></span></dt>
<dt><span class="section"><a href="query/functions/none.html">none</a></span></dt>
<dt><span class="section"><a href="query/functions/find.html">find</a></span></dt>
<dt><span class="section"><a href="query/functions/find_if.html">find_if</a></span></dt>
<dt><span class="section"><a href="query/functions/count.html">count</a></span></dt>
<dt><span class="section"><a href="query/functions/count_if.html">count_if</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="query/metafunctions.html">Metafunctions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="query/metafunctions/any.html">any</a></span></dt>
<dt><span class="section"><a href="query/metafunctions/all.html">all</a></span></dt>
<dt><span class="section"><a href="query/metafunctions/none.html">none</a></span></dt>
<dt><span class="section"><a href="query/metafunctions/find.html">find</a></span></dt>
<dt><span class="section"><a href="query/metafunctions/find_if.html">find_if</a></span></dt>
<dt><span class="section"><a href="query/metafunctions/count.html">count</a></span></dt>
<dt><span class="section"><a href="query/metafunctions/count_if.html">count_if</a></span></dt>
</dl></dd>
</dl></div>
<p>
The query algorithms provide support for searching and analyzing sequences.
</p>
<a name="fusion.algorithms.query.header"></a><h4>
<a name="id559831"></a>
<a name="id1103657"></a>
<a href="query.html#fusion.algorithms.query.header">Header</a>
</h4>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Functions</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../query.html" title="Query">
<link rel="prev" href="../query.html" title="Query">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>all</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="any.html" title="any">
@ -26,18 +26,18 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.functions.all"></a><a href="all.html" title="all">all</a></h5></div></div></div>
<a name="fusion.algorithms.query.functions.all.description"></a><h6>
<a name="id561092"></a>
<a name="id1104770"></a>
<a href="all.html#fusion.algorithms.query.functions.all.description">Description</a>
</h6>
<p>
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
unary function object <tt class="computeroutput"><span class="identifier">f</span></tt>,
<tt class="computeroutput"><span class="identifier">all</span></tt> returns true if
<tt class="computeroutput"><span class="identifier">f</span></tt> returns true for every
element of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and
unary function object <code class="computeroutput"><span class="identifier">f</span></code>,
<code class="computeroutput"><span class="identifier">all</span></code> returns true if
<code class="computeroutput"><span class="identifier">f</span></code> returns true for every
element of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.query.functions.all.synopsis"></a><h6>
<a name="id561174"></a>
<a name="id1104843"></a>
<a href="all.html#fusion.algorithms.query.functions.all.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -45,11 +45,11 @@
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/all.html" title="all"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">all</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/all.html" title="all"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">all</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id561366"></a><p class="title"><b>Table<EFBFBD>1.39.<2E>Parameters</b></p>
<a name="id1105011"></a><p class="title"><b>Table<EFBFBD>1.39.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -63,19 +63,19 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for every element
<tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible
to <code class="computeroutput"><span class="keyword">bool</span></code>, for every element
<code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
</td>
<td>The sequence
to search</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">f</span></tt></td>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
unary function object</td>
<td>The search predicate</td>
@ -84,38 +84,38 @@
</table>
</div>
<a name="fusion.algorithms.query.functions.all.expression_semantics"></a><h6>
<a name="id561516"></a>
<a name="id1105144"></a>
<a href="all.html#fusion.algorithms.query.functions.all.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
<a href="all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns true if and only
if <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt>
evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt> for every
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns true if and only
if <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code>
evaluates to <code class="computeroutput"><span class="keyword">true</span></code> for every
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.query.functions.all.complexity"></a><h6>
<a name="id561678"></a>
<a name="id1105286"></a>
<a href="all.html#fusion.algorithms.query.functions.all.complexity">Complexity</a>
</h6>
<p>
Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
</p>
<a name="fusion.algorithms.query.functions.all.header"></a><h6>
<a name="id561761"></a>
<a name="id1105359"></a>
<a href="all.html#fusion.algorithms.query.functions.all.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.query.functions.all.example"></a><h6>
<a name="id561865"></a>
<a name="id1105450"></a>
<a href="all.html#fusion.algorithms.query.functions.all.example">Example</a>
</h6>
<pre class="programlisting">
@ -128,8 +128,8 @@
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a href="all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
<span class="identifier">assert</span><span class="special">(!</span><a href="all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
<span class="identifier">assert</span><span class="special">(</span><a href="all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
<span class="identifier">assert</span><span class="special">(!</span><a href="all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>any</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="../functions.html" title="Functions">
@ -26,18 +26,18 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.functions.any"></a><a href="any.html" title="any">any</a></h5></div></div></div>
<a name="fusion.algorithms.query.functions.any.description"></a><h6>
<a name="id559966"></a>
<a name="id1103776"></a>
<a href="any.html#fusion.algorithms.query.functions.any.description">Description</a>
</h6>
<p>
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
unary function object <tt class="computeroutput"><span class="identifier">f</span></tt>,
<tt class="computeroutput"><span class="identifier">any</span></tt> returns true if
<tt class="computeroutput"><span class="identifier">f</span></tt> returns true for at
least one element of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and
unary function object <code class="computeroutput"><span class="identifier">f</span></code>,
<code class="computeroutput"><span class="identifier">any</span></code> returns true if
<code class="computeroutput"><span class="identifier">f</span></code> returns true for at
least one element of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.query.functions.any.synopsis"></a><h6>
<a name="id560046"></a>
<a name="id1103849"></a>
<a href="any.html#fusion.algorithms.query.functions.any.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -45,11 +45,11 @@
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/any.html" title="any"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">any</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/any.html" title="any"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">any</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id560239"></a><p class="title"><b>Table<EFBFBD>1.38.<2E>Parameters</b></p>
<a name="id1104017"></a><p class="title"><b>Table<EFBFBD>1.38.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -63,19 +63,19 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> must be a valid expression, convertible
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for each element
<tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> must be a valid expression, convertible
to <code class="computeroutput"><span class="keyword">bool</span></code>, for each element
<code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
</td>
<td>The sequence
to search</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">f</span></tt></td>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
unary function object</td>
<td>The search predicate</td>
@ -84,38 +84,38 @@
</table>
</div>
<a name="fusion.algorithms.query.functions.any.expression_semantics"></a><h6>
<a name="id560389"></a>
<a name="id1104150"></a>
<a href="any.html#fusion.algorithms.query.functions.any.expression_semantics">Expression
semantics</a>
</h6>
<pre class="programlisting">
<a href="any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
<a href="any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns true if and only
if <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt>
evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt> for some
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns true if and only
if <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code>
evaluates to <code class="computeroutput"><span class="keyword">true</span></code> for some
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.query.functions.any.complexity"></a><h6>
<a name="id560552"></a>
<a name="id1104293"></a>
<a href="any.html#fusion.algorithms.query.functions.any.complexity">Complexity</a>
</h6>
<p>
Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
</p>
<a name="fusion.algorithms.query.functions.any.header"></a><h6>
<a name="id560634"></a>
<a name="id1104365"></a>
<a href="any.html#fusion.algorithms.query.functions.any.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.query.functions.any.example"></a><h6>
<a name="id560739"></a>
<a name="id1104457"></a>
<a href="any.html#fusion.algorithms.query.functions.any.example">Example</a>
</h6>
<pre class="programlisting">
@ -128,8 +128,8 @@
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a href="any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
<span class="identifier">assert</span><span class="special">(!</span><a href="any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">4</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
<span class="identifier">assert</span><span class="special">(</span><a href="any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
<span class="identifier">assert</span><span class="special">(!</span><a href="any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">4</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>count</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="find_if.html" title="find_if">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.functions.count"></a><a href="count.html" title="count">count</a></h5></div></div></div>
<a name="fusion.algorithms.query.functions.count.description"></a><h6>
<a name="id565502"></a>
<a name="id1108683"></a>
<a href="count.html#fusion.algorithms.query.functions.count.description">Description</a>
</h6>
<p>
Returns the number of elements of a given type within a sequence.
</p>
<a name="fusion.algorithms.query.functions.count.synopsis"></a><h6>
<a name="id565533"></a>
<a name="id1108712"></a>
<a href="count.html#fusion.algorithms.query.functions.count.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -41,11 +41,11 @@
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/count.html" title="count"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">count</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/count.html" title="count"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">count</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id565740"></a><p class="title"><b>Table<EFBFBD>1.43.<2E>Parameters</b></p>
<a name="id1108893"></a><p class="title"><b>Table<EFBFBD>1.43.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -59,20 +59,20 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">e</span> <span class="special">==</span> <span class="identifier">t</span></tt>
must be a valid expression, convertible to <tt class="computeroutput"><span class="keyword">bool</span></tt>,
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
in <tt class="computeroutput"><span class="identifier">seq</span></tt>
Sequence</a>, <code class="computeroutput"><span class="identifier">e</span> <span class="special">==</span> <span class="identifier">t</span></code>
must be a valid expression, convertible to <code class="computeroutput"><span class="keyword">bool</span></code>,
for each element <code class="computeroutput"><span class="identifier">e</span></code>
in <code class="computeroutput"><span class="identifier">seq</span></code>
</td>
<td>The
sequence to search</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">T</span></tt></td>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>The type to count</td>
@ -81,42 +81,42 @@
</table>
</div>
<a name="fusion.algorithms.query.functions.count.expression_semantics"></a><h6>
<a name="id565888"></a>
<a name="id1109024"></a>
<a href="count.html#fusion.algorithms.query.functions.count.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="count.html" title="count"><tt class="computeroutput"><span class="identifier">count</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
<a href="count.html" title="count"><code class="computeroutput"><span class="identifier">count</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">int</span></tt>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the number of elements
of type <tt class="computeroutput"><span class="identifier">T</span></tt> and equal to
<tt class="computeroutput"><span class="identifier">t</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns the number of elements
of type <code class="computeroutput"><span class="identifier">T</span></code> and equal to
<code class="computeroutput"><span class="identifier">t</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.query.functions.count.complexity"></a><h6>
<a name="id566024"></a>
<a name="id1109144"></a>
<a href="count.html#fusion.algorithms.query.functions.count.complexity">Complexity</a>
</h6>
<p>
Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
</p>
<a name="fusion.algorithms.query.functions.count.header"></a><h6>
<a name="id566107"></a>
<a name="id1109217"></a>
<a href="count.html#fusion.algorithms.query.functions.count.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.query.functions.count.example"></a><h6>
<a name="id566211"></a>
<a name="id1109309"></a>
<a href="count.html#fusion.algorithms.query.functions.count.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="count.html" title="count"><tt class="computeroutput"><span class="identifier">count</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="number">2</span><span class="special">)</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span>
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="count.html" title="count"><code class="computeroutput"><span class="identifier">count</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="number">2</span><span class="special">)</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>count_if</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="count.html" title="count">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.functions.count_if"></a><a href="count_if.html" title="count_if">count_if</a></h5></div></div></div>
<a name="fusion.algorithms.query.functions.count_if.description"></a><h6>
<a name="id566427"></a>
<a name="id1109500"></a>
<a href="count_if.html#fusion.algorithms.query.functions.count_if.description">Description</a>
</h6>
<p>
Returns the number of elements within a sequence with a type for which
a given unary function object evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>.
a given unary function object evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
</p>
<a name="fusion.algorithms.query.functions.count_if.synopsis"></a><h6>
<a name="id566469"></a>
<a name="id1109538"></a>
<a href="count_if.html#fusion.algorithms.query.functions.count_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -42,11 +42,11 @@
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">count_if</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_if</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">count_if</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id566665"></a><p class="title"><b>Table<EFBFBD>1.44.<2E>Parameters</b></p>
<a name="id1109709"></a><p class="title"><b>Table<EFBFBD>1.44.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -60,19 +60,19 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for each element
<tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible
to <code class="computeroutput"><span class="keyword">bool</span></code>, for each element
<code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
</td>
<td>The sequence
to search</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">f</span></tt></td>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
unary function object</td>
<td>The search predicate</td>
@ -81,41 +81,41 @@
</table>
</div>
<a name="fusion.algorithms.query.functions.count_if.expression_semantics"></a><h6>
<a name="id566813"></a>
<a name="id1109842"></a>
<a href="count_if.html#fusion.algorithms.query.functions.count_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">count_if</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span>
<a href="count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">count_if</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">int</span></tt>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the number of elements
in <tt class="computeroutput"><span class="identifier">seq</span></tt> where <tt class="computeroutput"><span class="identifier">f</span></tt> evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns the number of elements
in <code class="computeroutput"><span class="identifier">seq</span></code> where <code class="computeroutput"><span class="identifier">f</span></code> evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
</p>
<a name="fusion.algorithms.query.functions.count_if.complexity"></a><h6>
<a name="id566950"></a>
<a name="id1109963"></a>
<a href="count_if.html#fusion.algorithms.query.functions.count_if.complexity">Complexity</a>
</h6>
<p>
Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
</p>
<a name="fusion.algorithms.query.functions.count_if.header"></a><h6>
<a name="id567032"></a>
<a name="id1110035"></a>
<a href="count_if.html#fusion.algorithms.query.functions.count_if.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.query.functions.count_if.example"></a><h6>
<a name="id567138"></a>
<a name="id1110129"></a>
<a href="count_if.html#fusion.algorithms.query.functions.count_if.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">count_if</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">odd</span><span class="special">())</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span>
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">count_if</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">odd</span><span class="special">())</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>find</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="none.html" title="none">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.functions.find"></a><a href="find.html" title="find">find</a></h5></div></div></div>
<a name="fusion.algorithms.query.functions.find.description"></a><h6>
<a name="id563388"></a>
<a name="id1106795"></a>
<a href="find.html#fusion.algorithms.query.functions.find.description">Description</a>
</h6>
<p>
Finds the first element of a given type within a sequence.
</p>
<a name="fusion.algorithms.query.functions.find.synopsis"></a><h6>
<a name="id563420"></a>
<a name="id1106824"></a>
<a href="find.html#fusion.algorithms.query.functions.find.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -50,7 +50,7 @@
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id563618"></a><p class="title"><b>Table<EFBFBD>1.41.<2E>Parameters</b></p>
<a name="id1106997"></a><p class="title"><b>Table<EFBFBD>1.41.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -64,7 +64,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -73,7 +73,7 @@
<td>The sequence to search</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">T</span></tt></td>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>The type to search for</td>
@ -82,45 +82,45 @@
</table>
</div>
<a name="fusion.algorithms.query.functions.find.expression_semantics"></a><h6>
<a name="id563712"></a>
<a name="id1107081"></a>
<a href="find.html#fusion.algorithms.query.functions.find.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="find.html" title="find"><tt class="computeroutput"><span class="identifier">find</span></tt></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span>
<a href="find.html" title="find"><code class="computeroutput"><span class="identifier">find</span></code></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of the same iterator
category as the iterators of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
category as the iterators of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the
first element of <tt class="computeroutput"><span class="identifier">seq</span></tt>
of type <tt class="computeroutput"><span class="identifier">T</span></tt>, or <tt class="computeroutput"><a href="../../../sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></tt> if there is no such element. Equivalent
to <tt class="computeroutput"><a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></tt>
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
first element of <code class="computeroutput"><span class="identifier">seq</span></code>
of type <code class="computeroutput"><span class="identifier">T</span></code>, or <code class="computeroutput"><a href="../../../sequences/intrinsics/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></code> if there is no such element. Equivalent
to <code class="computeroutput"><a href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></code>
</p>
<a name="fusion.algorithms.query.functions.find.complexity"></a><h6>
<a name="id563958"></a>
<a name="id1107298"></a>
<a href="find.html#fusion.algorithms.query.functions.find.complexity">Complexity</a>
</h6>
<p>
Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
</p>
<a name="fusion.algorithms.query.functions.find.header"></a><h6>
<a name="id564040"></a>
<a name="id1107371"></a>
<a href="find.html#fusion.algorithms.query.functions.find.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.query.functions.find.example"></a><h6>
<a name="id564145"></a>
<a name="id1107462"></a>
<a href="find.html#fusion.algorithms.query.functions.find.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="char">'a'</span><span class="special">,</span><span class="char">'0'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(*</span><a href="find.html" title="find"><tt class="computeroutput"><span class="identifier">find</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <span class="char">'0'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="find.html" title="find"><tt class="computeroutput"><span class="identifier">find</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">));</span>
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="char">'a'</span><span class="special">,</span><span class="char">'0'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(*</span><a href="find.html" title="find"><code class="computeroutput"><span class="identifier">find</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <span class="char">'0'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="find.html" title="find"><code class="computeroutput"><span class="identifier">find</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/intrinsics/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>find_if</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="find.html" title="find">
@ -27,14 +27,15 @@
<a name="fusion.algorithms.query.functions.find_if"></a><a href="find_if.html" title="find_if">find_if</a></h5></div></div></div>
<p>
Finds the first element within a sequence with a type for which a given
MPL Lambda Expression evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>.
<a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a> evaluates to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>.
</p>
<a name="fusion.algorithms.query.functions.find_if.description"></a><h6>
<a name="id564463"></a>
<a name="id1107752"></a>
<a href="find_if.html#fusion.algorithms.query.functions.find_if.description">Description</a>
</h6>
<a name="fusion.algorithms.query.functions.find_if.synopsis"></a><h6>
<a name="id564490"></a>
<a name="id1107776"></a>
<a href="find_if.html#fusion.algorithms.query.functions.find_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -51,7 +52,7 @@
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find_if</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id564689"></a><p class="title"><b>Table<EFBFBD>1.42.<2E>Parameters</b></p>
<a name="id1107951"></a><p class="title"><b>Table<EFBFBD>1.42.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -65,7 +66,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -74,55 +75,57 @@
<td>The sequence to search</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">F</span></tt></td>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>A
unary MPL Lambda Expression</td>
unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</td>
<td>The search predicate</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.query.functions.find_if.expression_semantics"></a><h6>
<a name="id564782"></a>
<a name="id1108040"></a>
<a href="find_if.html#fusion.algorithms.query.functions.find_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span>
<a href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: An iterator of the same
iterator category as the iterators of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
<span class="bold"><strong>Return type</strong></span>: An iterator of the same
iterator category as the iterators of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the first element
of <tt class="computeroutput"><span class="identifier">seq</span></tt> for which MPL
Lambda Expression <tt class="computeroutput"><span class="identifier">F</span></tt> evaluates
to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>, or <tt class="computeroutput"><a href="../../../sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></tt>
<span class="bold"><strong>Semantics</strong></span>: Returns the first element
of <code class="computeroutput"><span class="identifier">seq</span></code> for which <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a> <code class="computeroutput"><span class="identifier">F</span></code>
evaluates to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>, or <code class="computeroutput"><a href="../../../sequences/intrinsics/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></code>
if there is no such element.
</p>
<a name="fusion.algorithms.query.functions.find_if.complexity"></a><h6>
<a name="id564975"></a>
<a name="id1108217"></a>
<a href="find_if.html#fusion.algorithms.query.functions.find_if.complexity">Complexity</a>
</h6>
<p>
Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
</p>
<a name="fusion.algorithms.query.functions.find_if.header"></a><h6>
<a name="id565057"></a>
<a name="id1108289"></a>
<a href="find_if.html#fusion.algorithms.query.functions.find_if.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.query.functions.find_if.example"></a><h6>
<a name="id565162"></a>
<a name="id1108383"></a>
<a href="find_if.html#fusion.algorithms.query.functions.find_if.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(*</span><a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></a><span class="special">&lt;</span><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></a><span class="special">&lt;</span><span class="identifier">is_class</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">));</span>
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(*</span><a href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a><span class="special">&lt;</span><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a><span class="special">&lt;</span><span class="identifier">is_class</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/intrinsics/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>none</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="all.html" title="all">
@ -26,18 +26,18 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.functions.none"></a><a href="none.html" title="none">none</a></h5></div></div></div>
<a name="fusion.algorithms.query.functions.none.description"></a><h6>
<a name="id562218"></a>
<a name="id1105764"></a>
<a href="none.html#fusion.algorithms.query.functions.none.description">Description</a>
</h6>
<p>
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
unary function object <tt class="computeroutput"><span class="identifier">f</span></tt>,
<tt class="computeroutput"><span class="identifier">none</span></tt> returns true if
<tt class="computeroutput"><span class="identifier">f</span></tt> returns false for every
element of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and
unary function object <code class="computeroutput"><span class="identifier">f</span></code>,
<code class="computeroutput"><span class="identifier">none</span></code> returns true if
<code class="computeroutput"><span class="identifier">f</span></code> returns false for every
element of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.query.functions.none.synopsis"></a><h6>
<a name="id562300"></a>
<a name="id1105837"></a>
<a href="none.html#fusion.algorithms.query.functions.none.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -45,11 +45,11 @@
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/none.html" title="none"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">none</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/none.html" title="none"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">none</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id562493"></a><p class="title"><b>Table<EFBFBD>1.40.<2E>Parameters</b></p>
<a name="id1106006"></a><p class="title"><b>Table<EFBFBD>1.40.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -63,19 +63,19 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for every element
<tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible
to <code class="computeroutput"><span class="keyword">bool</span></code>, for every element
<code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
</td>
<td>The sequence
to search</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">f</span></tt></td>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
unary function object</td>
<td>The search predicate</td>
@ -84,38 +84,38 @@
</table>
</div>
<a name="fusion.algorithms.query.functions.none.expression_semantics"></a><h6>
<a name="id562643"></a>
<a name="id1106139"></a>
<a href="none.html#fusion.algorithms.query.functions.none.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
<a href="none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns true if and only
if <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt>
evaluates to <tt class="computeroutput"><span class="keyword">false</span></tt> for every
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>. Result equivalent to <tt class="computeroutput"><span class="special">!</span><span class="identifier">any</span><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns true if and only
if <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code>
evaluates to <code class="computeroutput"><span class="keyword">false</span></code> for every
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>. Result equivalent to <code class="computeroutput"><span class="special">!</span><span class="identifier">any</span><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>.
</p>
<a name="fusion.algorithms.query.functions.none.complexity"></a><h6>
<a name="id562848"></a>
<a name="id1106317"></a>
<a href="none.html#fusion.algorithms.query.functions.none.complexity">Complexity</a>
</h6>
<p>
Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
</p>
<a name="fusion.algorithms.query.functions.none.header"></a><h6>
<a name="id562930"></a>
<a name="id1106390"></a>
<a href="none.html#fusion.algorithms.query.functions.none.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.query.functions.none.example"></a><h6>
<a name="id563035"></a>
<a name="id1106481"></a>
<a href="none.html#fusion.algorithms.query.functions.none.example">Example</a>
</h6>
<pre class="programlisting">
@ -128,8 +128,8 @@
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a href="none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">4</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
<span class="identifier">assert</span><span class="special">(!</span><a href="none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
<span class="identifier">assert</span><span class="special">(</span><a href="none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">4</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
<span class="identifier">assert</span><span class="special">(!</span><a href="none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Metafunctions</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../query.html" title="Query">
<link rel="prev" href="functions/count_if.html" title="count_if">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>all</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="any.html" title="any">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.metafunctions.all"></a><a href="all.html" title="all">all</a></h5></div></div></div>
<a name="fusion.algorithms.query.metafunctions.all.description"></a><h6>
<a name="id567979"></a>
<a name="id1110874"></a>
<a href="all.html#fusion.algorithms.query.metafunctions.all.description">Description</a>
</h6>
<p>
A metafunction returning the result type of <a href="../functions/all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a>.
A metafunction returning the result type of <a href="../functions/all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a>.
</p>
<a name="fusion.algorithms.query.metafunctions.all.synopsis"></a><h6>
<a name="id568027"></a>
<a name="id1110916"></a>
<a href="all.html#fusion.algorithms.query.metafunctions.all.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id568147"></a><p class="title"><b>Table<EFBFBD>1.46.<2E>Parameters</b></p>
<a name="id1111022"></a><p class="title"><b>Table<EFBFBD>1.46.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -61,7 +61,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -70,9 +70,9 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">F</span></tt></td>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>A
model of unary <a href="../../concepts/poly.html" title=" Polymorphic Function
model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
@ -82,34 +82,34 @@
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.all.expression_semantics"></a><h6>
<a name="id568248"></a>
<a name="id1111112"></a>
<a href="all.html#fusion.algorithms.query.metafunctions.all.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="all.html" title="all"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="all.html" title="all"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>.
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a>
given a sequence of type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
and a unary <a href="../../concepts/poly.html" title=" Polymorphic Function
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
<a href="../functions/all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a>
given a sequence of type <code class="computeroutput"><span class="identifier">Sequence</span></code>
and a unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
The return type is always <tt class="computeroutput"><span class="keyword">bool</span></tt>.
Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>.
</p>
<a name="fusion.algorithms.query.metafunctions.all.complexity"></a><h6>
<a name="id568428"></a>
<a name="id1111270"></a>
<a href="all.html#fusion.algorithms.query.metafunctions.all.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.query.metafunctions.all.header"></a><h6>
<a name="id568459"></a>
<a name="id1111298"></a>
<a href="all.html#fusion.algorithms.query.metafunctions.all.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>any</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="../metafunctions.html" title="Metafunctions">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.metafunctions.any"></a><a href="any.html" title="any">any</a></h5></div></div></div>
<a name="fusion.algorithms.query.metafunctions.any.description"></a><h6>
<a name="id567375"></a>
<a name="id1110339"></a>
<a href="any.html#fusion.algorithms.query.metafunctions.any.description">Description</a>
</h6>
<p>
A metafunction returning the result type of <a href="../functions/any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a>.
A metafunction returning the result type of <a href="../functions/any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a>.
</p>
<a name="fusion.algorithms.query.metafunctions.any.synopsis"></a><h6>
<a name="id567422"></a>
<a name="id1110381"></a>
<a href="any.html#fusion.algorithms.query.metafunctions.any.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id567542"></a><p class="title"><b>Table<EFBFBD>1.45.<2E>Parameters</b></p>
<a name="id1110487"></a><p class="title"><b>Table<EFBFBD>1.45.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -61,7 +61,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -70,9 +70,9 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">F</span></tt></td>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>A
model of unary <a href="../../concepts/poly.html" title=" Polymorphic Function
model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
@ -82,34 +82,34 @@
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.any.expression_semantics"></a><h6>
<a name="id567644"></a>
<a name="id1110577"></a>
<a href="any.html#fusion.algorithms.query.metafunctions.any.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="any.html" title="any"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="any.html" title="any"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>.
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a>
given a sequence of type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
and a unary <a href="../../concepts/poly.html" title=" Polymorphic Function
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
<a href="../functions/any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a>
given a sequence of type <code class="computeroutput"><span class="identifier">Sequence</span></code>
and a unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
The return type is always <tt class="computeroutput"><span class="keyword">bool</span></tt>.
Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>.
</p>
<a name="fusion.algorithms.query.metafunctions.any.complexity"></a><h6>
<a name="id567824"></a>
<a name="id1110736"></a>
<a href="any.html#fusion.algorithms.query.metafunctions.any.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.query.metafunctions.any.header"></a><h6>
<a name="id567854"></a>
<a name="id1110764"></a>
<a href="any.html#fusion.algorithms.query.metafunctions.any.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>count</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="find_if.html" title="find_if">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.metafunctions.count"></a><a href="count.html" title="count">count</a></h5></div></div></div>
<a name="fusion.algorithms.query.metafunctions.count.description"></a><h6>
<a name="id570511"></a>
<a name="id1113120"></a>
<a href="count.html#fusion.algorithms.query.metafunctions.count.description">Description</a>
</h6>
<p>
A metafunction that returns the result type of <tt class="computeroutput"><span class="identifier">count</span></tt>
A metafunction that returns the result type of <code class="computeroutput"><span class="identifier">count</span></code>
given the sequence and search types.
</p>
<a name="fusion.algorithms.query.metafunctions.count.synopsis"></a><h6>
<a name="id570554"></a>
<a name="id1113158"></a>
<a href="count.html#fusion.algorithms.query.metafunctions.count.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id570674"></a><p class="title"><b>Table<EFBFBD>1.50.<2E>Parameters</b></p>
<a name="id1113264"></a><p class="title"><b>Table<EFBFBD>1.50.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -63,7 +63,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -72,7 +72,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">T</span></tt></td>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>Operation's argument</td>
@ -81,30 +81,30 @@
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.count.expression_semantics"></a><h6>
<a name="id570769"></a>
<a name="id1113350"></a>
<a href="count.html#fusion.algorithms.query.metafunctions.count.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="count.html" title="count"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</span></tt></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="count.html" title="count"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</span></code></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">int</span></tt>.
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/count.html" title="count"><tt class="computeroutput"><span class="identifier">count</span></tt></a>. The return type is always
<tt class="computeroutput"><span class="keyword">int</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
<a href="../functions/count.html" title="count"><code class="computeroutput"><span class="identifier">count</span></code></a>. The return type is always
<code class="computeroutput"><span class="keyword">int</span></code>.
</p>
<a name="fusion.algorithms.query.metafunctions.count.complexity"></a><h6>
<a name="id570908"></a>
<a name="id1113471"></a>
<a href="count.html#fusion.algorithms.query.metafunctions.count.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.query.metafunctions.count.header"></a><h6>
<a name="id570938"></a>
<a name="id1113499"></a>
<a href="count.html#fusion.algorithms.query.metafunctions.count.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>count_if</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="count.html" title="count">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.metafunctions.count_if"></a><a href="count_if.html" title="count_if">count_if</a></h5></div></div></div>
<a name="fusion.algorithms.query.metafunctions.count_if.description"></a><h6>
<a name="id571064"></a>
<a name="id1113609"></a>
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.description">Description</a>
</h6>
<p>
A metafunction that returns the result type of <tt class="computeroutput"><span class="identifier">count_if</span></tt>
A metafunction that returns the result type of <code class="computeroutput"><span class="identifier">count_if</span></code>
given the sequence and predicate types.
</p>
<a name="fusion.algorithms.query.metafunctions.count_if.synopsis"></a><h6>
<a name="id571106"></a>
<a name="id1113648"></a>
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id571227"></a><p class="title"><b>Table<EFBFBD>1.51.<2E>Parameters</b></p>
<a name="id1113754"></a><p class="title"><b>Table<EFBFBD>1.51.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -62,7 +62,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -71,7 +71,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">Pred</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Pred</span></code></td>
<td>A
unary function object</td>
<td>Operation's argument</td>
@ -80,30 +80,30 @@
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.count_if.expression_semantics"></a><h6>
<a name="id571322"></a>
<a name="id1113840"></a>
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_if</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">int</span></tt>.
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">count_if</span></tt></a>. The return type is
always <tt class="computeroutput"><span class="keyword">int</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
<a href="../functions/count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">count_if</span></code></a>. The return type is
always <code class="computeroutput"><span class="keyword">int</span></code>.
</p>
<a name="fusion.algorithms.query.metafunctions.count_if.complexity"></a><h6>
<a name="id571473"></a>
<a name="id1113971"></a>
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.query.metafunctions.count_if.header"></a><h6>
<a name="id571504"></a>
<a name="id1113999"></a>
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>find</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="none.html" title="none">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.metafunctions.find"></a><a href="find.html" title="find">find</a></h5></div></div></div>
<a name="fusion.algorithms.query.metafunctions.find.description"></a><h6>
<a name="id569192"></a>
<a name="id1111947"></a>
<a href="find.html#fusion.algorithms.query.metafunctions.find.description">Description</a>
</h6>
<p>
Returns the result type of <tt class="computeroutput"><span class="identifier">find</span></tt>,
Returns the result type of <code class="computeroutput"><span class="identifier">find</span></code>,
given the sequence and search types.
</p>
<a name="fusion.algorithms.query.metafunctions.find.synopsis"></a><h6>
<a name="id569234"></a>
<a name="id1111985"></a>
<a href="find.html#fusion.algorithms.query.metafunctions.find.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id569351"></a><p class="title"><b>Table<EFBFBD>1.48.<2E>Parameters</b></p>
<a name="id1112088"></a><p class="title"><b>Table<EFBFBD>1.48.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -62,7 +62,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>Model
of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -71,7 +71,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">T</span></tt></td>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>Operation's argument</td>
@ -80,31 +80,31 @@
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.find.expression_semantics"></a><h6>
<a name="id569445"></a>
<a name="id1112172"></a>
<a href="find.html#fusion.algorithms.query.metafunctions.find.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="find.html" title="find"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="find.html" title="find"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of the same iterator
category as the iterators of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
category as the iterators of <code class="computeroutput"><span class="identifier">Sequence</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the
first element of type <tt class="computeroutput"><span class="identifier">T</span></tt>
in <tt class="computeroutput"><span class="identifier">Sequence</span></tt>, or <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/end.html" title="end"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span></tt> if there is no such element.
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
first element of type <code class="computeroutput"><span class="identifier">T</span></code>
in <code class="computeroutput"><span class="identifier">Sequence</span></code>, or <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span></code> if there is no such element.
</p>
<a name="fusion.algorithms.query.metafunctions.find.complexity"></a><h6>
<a name="id569641"></a>
<a name="id1112344"></a>
<a href="find.html#fusion.algorithms.query.metafunctions.find.complexity">Complexity</a>
</h6>
<p>
Linear, at most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
Linear, at most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
</p>
<a name="fusion.algorithms.query.metafunctions.find.header"></a><h6>
<a name="id569723"></a>
<a name="id1112417"></a>
<a href="find.html#fusion.algorithms.query.metafunctions.find.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>find_if</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="find.html" title="find">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.metafunctions.find_if"></a><a href="find_if.html" title="find_if">find_if</a></h5></div></div></div>
<a name="fusion.algorithms.query.metafunctions.find_if.description"></a><h6>
<a name="id569851"></a>
<a name="id1112529"></a>
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.description">Description</a>
</h6>
<p>
Returns the result type of <tt class="computeroutput"><span class="identifier">find_if</span></tt>
Returns the result type of <code class="computeroutput"><span class="identifier">find_if</span></code>
given the sequence and predicate types.
</p>
<a name="fusion.algorithms.query.metafunctions.find_if.synopsis"></a><h6>
<a name="id569893"></a>
<a name="id1112567"></a>
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id570011"></a><p class="title"><b>Table<EFBFBD>1.49.<2E>Parameters</b></p>
<a name="id1112671"></a><p class="title"><b>Table<EFBFBD>1.49.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -62,7 +62,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -71,41 +71,43 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">Pred</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Pred</span></code></td>
<td>A
model of MPL Lambda Expression</td>
model of <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</td>
<td>Operation's arguments</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.find_if.expression_semantics"></a><h6>
<a name="id570105"></a>
<a name="id1112763"></a>
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find_if</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of the same iterator
category as the iterators of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
category as the iterators of <code class="computeroutput"><span class="identifier">Sequence</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the
first element in <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
for which <tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates
to true. Returns <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/end.html" title="end"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span></tt> if there is no such element.
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
first element in <code class="computeroutput"><span class="identifier">Sequence</span></code>
for which <code class="computeroutput"><span class="identifier">Pred</span></code> evaluates
to true. Returns <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span></code> if there is no such element.
</p>
<a name="fusion.algorithms.query.metafunctions.find_if.complexity"></a><h6>
<a name="id570303"></a>
<a name="id1112936"></a>
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.complexity">Complexity</a>
</h6>
<p>
Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
</p>
<a name="fusion.algorithms.query.metafunctions.find_if.header"></a><h6>
<a name="id570386"></a>
<a name="id1113009"></a>
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>none</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="all.html" title="all">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.metafunctions.none"></a><a href="none.html" title="none">none</a></h5></div></div></div>
<a name="fusion.algorithms.query.metafunctions.none.description"></a><h6>
<a name="id568583"></a>
<a name="id1111409"></a>
<a href="none.html#fusion.algorithms.query.metafunctions.none.description">Description</a>
</h6>
<p>
A metafunction returning the result type of <a href="../functions/none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a>.
A metafunction returning the result type of <a href="../functions/none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a>.
</p>
<a name="fusion.algorithms.query.metafunctions.none.synopsis"></a><h6>
<a name="id568632"></a>
<a name="id1111452"></a>
<a href="none.html#fusion.algorithms.query.metafunctions.none.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id568752"></a><p class="title"><b>Table<EFBFBD>1.47.<2E>Parameters</b></p>
<a name="id1111558"></a><p class="title"><b>Table<EFBFBD>1.47.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -61,7 +61,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -70,9 +70,9 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">F</span></tt></td>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>A
model of unary <a href="../../concepts/poly.html" title=" Polymorphic Function
model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
@ -82,34 +82,34 @@
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.none.expression_semantics"></a><h6>
<a name="id568854"></a>
<a name="id1111648"></a>
<a href="none.html#fusion.algorithms.query.metafunctions.none.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="none.html" title="none"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="none.html" title="none"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>.
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a> given a sequence of type
<tt class="computeroutput"><span class="identifier">Sequence</span></tt> and a unary
<a href="../../concepts/poly.html" title=" Polymorphic Function
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
<a href="../functions/none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a> given a sequence of type
<code class="computeroutput"><span class="identifier">Sequence</span></code> and a unary
<a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a> of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
The return type is always <tt class="computeroutput"><span class="keyword">bool</span></tt>.
Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>.
</p>
<a name="fusion.algorithms.query.metafunctions.none.complexity"></a><h6>
<a name="id569034"></a>
<a name="id1111807"></a>
<a href="none.html#fusion.algorithms.query.metafunctions.none.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.query.metafunctions.none.header"></a><h6>
<a name="id569064"></a>
<a name="id1111835"></a>
<a href="none.html#fusion.algorithms.query.metafunctions.none.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Transformation</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../algorithms.html" title="Algorithms">
<link rel="prev" href="query/metafunctions/count_if.html" title="count_if">
@ -27,7 +27,49 @@
<a name="fusion.algorithms.transformation"></a><a href="transformation.html" title="Transformation">Transformation</a></h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="transformation/functions.html">Functions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="transformation/functions/filter.html">filter</a></span></dt>
<dt><span class="section"><a href="transformation/functions/filter_if.html">filter_if</a></span></dt>
<dt><span class="section"><a href="transformation/functions/transform.html">transform</a></span></dt>
<dt><span class="section"><a href="transformation/functions/replace.html">replace</a></span></dt>
<dt><span class="section"><a href="transformation/functions/replace_if.html">replace_if</a></span></dt>
<dt><span class="section"><a href="transformation/functions/remove.html">remove</a></span></dt>
<dt><span class="section"><a href="transformation/functions/remove_if.html">remove_if</a></span></dt>
<dt><span class="section"><a href="transformation/functions/reverse.html">reverse</a></span></dt>
<dt><span class="section"><a href="transformation/functions/clear.html">clear</a></span></dt>
<dt><span class="section"><a href="transformation/functions/erase.html">erase</a></span></dt>
<dt><span class="section"><a href="transformation/functions/erase_key.html">erase_key</a></span></dt>
<dt><span class="section"><a href="transformation/functions/insert.html">insert</a></span></dt>
<dt><span class="section"><a href="transformation/functions/insert_range.html">insert_range</a></span></dt>
<dt><span class="section"><a href="transformation/functions/join.html">join</a></span></dt>
<dt><span class="section"><a href="transformation/functions/zip.html">zip</a></span></dt>
<dt><span class="section"><a href="transformation/functions/pop_back.html">pop_back</a></span></dt>
<dt><span class="section"><a href="transformation/functions/pop_front.html">pop_front</a></span></dt>
<dt><span class="section"><a href="transformation/functions/push_back.html">push_back</a></span></dt>
<dt><span class="section"><a href="transformation/functions/push_front.html">push_front</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="transformation/metafunctions.html">Metafunctions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="transformation/metafunctions/filter.html">filter</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/filter_if.html">filter_if</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/transform.html">transform</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/replace.html">replace</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/replace_if.html">replace_if</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/remove.html">remove</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/remove_if.html">remove_if</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/reverse.html">reverse</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/clear.html">clear</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/erase.html">erase</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/erase_key.html">erase_key</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/insert.html">insert</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/insert_range.html">insert_range</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/join.html">join</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/zip.html">zip</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/pop_back.html">pop_back</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/pop_front.html">pop_front</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/push_back.html">push_back</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions/push_front.html">push_front</a></span></dt>
</dl></dd>
</dl></div>
<p>
The transformation algorithms create new sequences out of existing sequences
@ -39,14 +81,14 @@
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td colspan="2" align="left" valign="top"><p>
<tr><td align="left" valign="top"><p>
As the transformation algorithms return views onto their input arguments,
it is important that the lifetime of the input arguments is greater than
the period during which you wish to use the results.
</p></td></tr>
</table></div>
<a name="fusion.algorithms.transformation.header"></a><h4>
<a name="id571652"></a>
<a name="id1114131"></a>
<a href="transformation.html#fusion.algorithms.transformation.header">Header</a>
</h4>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Functions</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../transformation.html" title="Transformation">
<link rel="prev" href="../transformation.html" title="Transformation">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>clear</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="reverse.html" title="reverse">
@ -26,24 +26,24 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.clear"></a><a href="clear.html" title="clear">clear</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.clear.description"></a><h6>
<a name="id580001"></a>
<a name="id1139004"></a>
<a href="clear.html#fusion.algorithms.transformation.functions.clear.description">Description</a>
</h6>
<p>
<a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a> returns an empty sequence.
<a href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a> returns an empty sequence.
</p>
<a name="fusion.algorithms.transformation.functions.clear.synposis"></a><h6>
<a name="id580049"></a>
<a name="id1139046"></a>
<a href="clear.html#fusion.algorithms.transformation.functions.clear.synposis">Synposis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/clear.html" title="clear"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">clear</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../metafunctions/clear.html" title="clear"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">clear</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id580205"></a><p class="title"><b>Table<EFBFBD>1.61.<2E>Parameters</b></p>
<a name="id1139184"></a><p class="title"><b>Table<EFBFBD>1.61.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -56,7 +56,7 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -67,42 +67,42 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.clear.expression_semantics"></a><h6>
<a name="id580281"></a>
<a name="id1139251"></a>
<a href="clear.html#fusion.algorithms.transformation.functions.clear.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
<a href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Expression Semantics</b></span>: Returns a sequence
<span class="bold"><strong>Expression Semantics</strong></span>: Returns a sequence
with no elements.
</p>
<a name="fusion.algorithms.transformation.functions.clear.complexity"></a><h6>
<a name="id580377"></a>
<a name="id1139335"></a>
<a href="clear.html#fusion.algorithms.transformation.functions.clear.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.functions.clear.header"></a><h6>
<a name="id580408"></a>
<a name="id1139363"></a>
<a href="clear.html#fusion.algorithms.transformation.functions.clear.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.clear.example"></a><h6>
<a name="id580514"></a>
<a name="id1139456"></a>
<a href="clear.html#fusion.algorithms.transformation.functions.clear.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">());</span>
<span class="identifier">assert</span><span class="special">(</span><a href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">());</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>erase</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="clear.html" title="clear">
@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.erase"></a><a href="erase.html" title="erase">erase</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.erase.description"></a><h6>
<a name="id580678"></a>
<a name="id1139602"></a>
<a href="erase.html#fusion.algorithms.transformation.functions.erase.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
those at a specified iterator, or between two iterators.
</p>
<a name="fusion.algorithms.transformation.functions.erase.synposis"></a><h6>
<a name="id580712"></a>
<a name="id1139632"></a>
<a href="erase.html#fusion.algorithms.transformation.functions.erase.synposis">Synposis</a>
</h6>
<pre class="programlisting">
@ -42,7 +42,7 @@
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">First</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/erase.html" title="erase"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">First</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">erase</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">First</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">erase</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">First</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">it1</span><span class="special">);</span>
<span class="keyword">template</span><span class="special">&lt;</span>
@ -50,11 +50,11 @@
<span class="keyword">typename</span> <span class="identifier">First</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Last</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/erase.html" title="erase"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">First</span><span class="special">,</span> <span class="identifier">Last</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">erase</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">First</span><span class="special">,</span> <span class="identifier">Last</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">erase</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">First</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">it1</span><span class="special">,</span> <span class="identifier">Last</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">it2</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id581173"></a><p class="title"><b>Table<EFBFBD>1.62.<2E>Parameters</b></p>
<a name="id1140038"></a><p class="title"><b>Table<EFBFBD>1.62.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -68,7 +68,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -77,82 +77,82 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">it1</span></tt></td>
<td><code class="computeroutput"><span class="identifier">it1</span></code></td>
<td>A
model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</td>
<td>Iterator into <tt class="computeroutput"><span class="identifier">seq</span></tt>
<td>Iterator into <code class="computeroutput"><span class="identifier">seq</span></code>
</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">it2</span></tt></td>
<td><code class="computeroutput"><span class="identifier">it2</span></code></td>
<td>A
model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</td>
<td>Iterator into <tt class="computeroutput"><span class="identifier">seq</span></tt>
after <tt class="computeroutput"><span class="identifier">it1</span></tt>
<td>Iterator into <code class="computeroutput"><span class="identifier">seq</span></code>
after <code class="computeroutput"><span class="identifier">it1</span></code>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.erase.expression_semantics"></a><h6>
<a name="id581331"></a>
<a name="id1140179"></a>
<a href="erase.html#fusion.algorithms.transformation.functions.erase.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">pos</span><span class="special">);</span>
<a href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">pos</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>
except the element at <tt class="computeroutput"><span class="identifier">pos</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>
except the element at <code class="computeroutput"><span class="identifier">pos</span></code>.
</p>
<pre class="programlisting">
<a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">);</span>
<a href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, with
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
in their original order, except those in the range [<tt class="computeroutput"><span class="identifier">first</span></tt>,<tt class="computeroutput"><span class="identifier">last</span></tt>).
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, with
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
in their original order, except those in the range [<code class="computeroutput"><span class="identifier">first</span></code>,<code class="computeroutput"><span class="identifier">last</span></code>).
</p>
<a name="fusion.algorithms.transformation.functions.erase.complexity"></a><h6>
<a name="id581580"></a>
<a name="id1140399"></a>
<a href="erase.html#fusion.algorithms.transformation.functions.erase.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.erase.header"></a><h6>
<a name="id581612"></a>
<a name="id1140428"></a>
<a href="erase.html#fusion.algorithms.transformation.functions.erase.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.erase.example"></a><h6>
<a name="id581718"></a>
<a name="id1140521"></a>
<a href="erase.html#fusion.algorithms.transformation.functions.erase.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2.0</span><span class="special">,</span> <span class="char">'c'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'c'</span><span class="special">));</span>
<span class="identifier">assert</span><span class="special">(</span><a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a href="../../../sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2.0</span><span class="special">,</span> <span class="char">'c'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'c'</span><span class="special">));</span>
<span class="identifier">assert</span><span class="special">(</span><a href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a href="../../../sequences/intrinsics/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>erase_key</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="erase.html" title="erase">
@ -26,20 +26,20 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.erase_key"></a><a href="erase_key.html" title="erase_key">erase_key</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.erase_key.description"></a><h6>
<a name="id582175"></a>
<a name="id1140925"></a>
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.description">Description</a>
</h6>
<p>
For an <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a> <tt class="computeroutput"><span class="identifier">seq</span></tt>,
Sequence</a> <code class="computeroutput"><span class="identifier">seq</span></code>,
returns a <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a> containing all the elements of the original except those
with a given key.
</p>
<a name="fusion.algorithms.transformation.functions.erase_key.synposis"></a><h6>
<a name="id582236"></a>
<a name="id1140980"></a>
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.synposis">Synposis</a>
</h6>
<pre class="programlisting">
@ -50,7 +50,7 @@
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">erase_key</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id582408"></a><p class="title"><b>Table<EFBFBD>1.63.<2E>Parameters</b></p>
<a name="id1141130"></a><p class="title"><b>Table<EFBFBD>1.63.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -64,7 +64,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
Sequence">Associative
@ -73,7 +73,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">Key</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Key</span></code></td>
<td>Any
type</td>
<td>Key to erase</td>
@ -82,43 +82,43 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.erase_key.expression_semantics"></a><h6>
<a name="id582505"></a>
<a name="id1141215"></a>
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">erase_key</span></tt></a><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
<a href="erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">erase_key</span></code></a><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
except those with key <tt class="computeroutput"><span class="identifier">Key</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
except those with key <code class="computeroutput"><span class="identifier">Key</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.erase_key.complexity"></a><h6>
<a name="id582631"></a>
<a name="id1141327"></a>
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.erase_key.header"></a><h6>
<a name="id582662"></a>
<a name="id1141355"></a>
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.erase_key.example"></a><h6>
<a name="id582769"></a>
<a name="id1141449"></a>
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">erase_key</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><a href="../../../sequences/generation/functions/make_map.html" title="make_map"><tt class="computeroutput"><span class="identifier">make_map</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">&gt;(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_map.html" title="make_map"><tt class="computeroutput"><span class="identifier">make_map</span></tt></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">&gt;(</span><span class="char">'b'</span><span class="special">));</span>
<span class="identifier">assert</span><span class="special">(</span><a href="erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">erase_key</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><a href="../../../sequences/generation/functions/make_map.html" title="make_map"><code class="computeroutput"><span class="identifier">make_map</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">&gt;(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_map.html" title="make_map"><code class="computeroutput"><span class="identifier">make_map</span></code></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">&gt;(</span><span class="char">'b'</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>filter</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="../functions.html" title="Functions">
@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.filter"></a><a href="filter.html" title="filter">filter</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.filter.description"></a><h6>
<a name="id571789"></a>
<a name="id1114252"></a>
<a href="filter.html#fusion.algorithms.transformation.functions.filter.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
the elements of a specified type.
</p>
<a name="fusion.algorithms.transformation.functions.filter.synopsis"></a><h6>
<a name="id571823"></a>
<a name="id1114282"></a>
<a href="filter.html#fusion.algorithms.transformation.functions.filter.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -42,10 +42,10 @@
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/filter.html" title="filter"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">filter</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../metafunctions/filter.html" title="filter"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">filter</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id572007"></a><p class="title"><b>Table<EFBFBD>1.52.<2E>Parameters</b></p>
<a name="id1114444"></a><p class="title"><b>Table<EFBFBD>1.52.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -59,7 +59,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -68,7 +68,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">T</span></tt></td>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>The type to retain</td>
@ -77,45 +77,45 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.filter.expression_semantics"></a><h6>
<a name="id572101"></a>
<a name="id1114529"></a>
<a href="filter.html#fusion.algorithms.transformation.functions.filter.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
<a href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>
of type <tt class="computeroutput"><span class="identifier">T</span></tt>. Equivalent
to <tt class="computeroutput"><a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">same_type</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>
of type <code class="computeroutput"><span class="identifier">T</span></code>. Equivalent
to <code class="computeroutput"><a href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">same_type</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.filter.complexity"></a><h6>
<a name="id572310"></a>
<a name="id1114713"></a>
<a href="filter.html#fusion.algorithms.transformation.functions.filter.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.filter.header"></a><h6>
<a name="id572342"></a>
<a name="id1114742"></a>
<a href="filter.html#fusion.algorithms.transformation.functions.filter.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.filter.example"></a><h6>
<a name="id572448"></a>
<a name="id1114835"></a>
<a href="filter.html#fusion.algorithms.transformation.functions.filter.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">long</span><span class="special">,</span><span class="keyword">long</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">long</span><span class="special">,</span><span class="keyword">long</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>filter_if</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="filter.html" title="filter">
@ -26,16 +26,16 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.filter_if"></a><a href="filter_if.html" title="filter_if">filter_if</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.filter_if.description"></a><h6>
<a name="id572718"></a>
<a name="id1115075"></a>
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.description">Description</a>
</h6>
<p>
For a given sequence, <a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a> returns a new sequences
containing only the elements with types for which a given MPL Lambda
Expression evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>.
For a given sequence, <a href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a> returns a new sequences
containing only the elements with types for which a given <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a> evaluates to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.filter_if.synopsis"></a><h6>
<a name="id572799"></a>
<a name="id1115153"></a>
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -43,10 +43,10 @@
<span class="keyword">typename</span> <span class="identifier">Pred</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">filter_if</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../metafunctions/filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">filter_if</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id572984"></a><p class="title"><b>Table<EFBFBD>1.53.<2E>Parameters</b></p>
<a name="id1115315"></a><p class="title"><b>Table<EFBFBD>1.53.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -60,7 +60,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -69,56 +69,57 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">Pred</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Pred</span></code></td>
<td>A
unary MPL Lambda Expression</td>
<td>The predicate to filter
by</td>
unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</td>
<td>The predicate to filter by</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.filter_if.expression_semantics"></a><h6>
<a name="id573082"></a>
<a name="id1115407"></a>
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Pred</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
<a href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a><span class="special">&lt;</span><span class="identifier">Pred</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>
with types for which <tt class="computeroutput"><span class="identifier">Pred</span></tt>
evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>. The order of the retained elements
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>
with types for which <code class="computeroutput"><span class="identifier">Pred</span></code>
evaluates to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>. The order of the retained elements
is the same as in the original sequence.
</p>
<a name="fusion.algorithms.transformation.functions.filter_if.complexity"></a><h6>
<a name="id573240"></a>
<a name="id1115547"></a>
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.filter_if.header"></a><h6>
<a name="id573271"></a>
<a name="id1115576"></a>
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.filter_if.example"></a><h6>
<a name="id573378"></a>
<a name="id1115669"></a>
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3.0</span><span class="special">,</span><span class="number">4.0</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3.0</span><span class="special">,</span><span class="number">4.0</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a><span class="special">&lt;</span><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>insert</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="erase_key.html" title="erase_key">
@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.insert"></a><a href="insert.html" title="insert">insert</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.insert.description"></a><h6>
<a name="id582974"></a>
<a name="id1141632"></a>
<a href="insert.html#fusion.algorithms.transformation.functions.insert.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
element inserted the position described by a given iterator.
</p>
<a name="fusion.algorithms.transformation.functions.insert.synposis"></a><h6>
<a name="id583008"></a>
<a name="id1141662"></a>
<a href="insert.html#fusion.algorithms.transformation.functions.insert.synposis">Synposis</a>
</h6>
<pre class="programlisting">
@ -46,7 +46,7 @@
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">insert</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">Pos</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id583198"></a><p class="title"><b>Table<EFBFBD>1.64.<2E>Parameters</b></p>
<a name="id1141828"></a><p class="title"><b>Table<EFBFBD>1.64.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -60,7 +60,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -69,7 +69,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">pos</span></tt></td>
<td><code class="computeroutput"><span class="identifier">pos</span></code></td>
<td>A
model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -78,7 +78,7 @@
<td>The position to insert at</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">t</span></tt></td>
<td><code class="computeroutput"><span class="identifier">t</span></code></td>
<td>Any
type</td>
<td>The value to insert</td>
@ -87,46 +87,46 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.insert.expression_semantics"></a><h6>
<a name="id583322"></a>
<a name="id1141938"></a>
<a href="insert.html#fusion.algorithms.transformation.functions.insert.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
<a href="insert.html" title="insert"><code class="computeroutput"><span class="identifier">insert</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
in their original order, and a new element with the type and value of
<tt class="computeroutput"><span class="identifier">t</span></tt> inserted at iterator
<tt class="computeroutput"><span class="identifier">pos</span></tt>.
<code class="computeroutput"><span class="identifier">t</span></code> inserted at iterator
<code class="computeroutput"><span class="identifier">pos</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.insert.complexity"></a><h6>
<a name="id583472"></a>
<a name="id1142070"></a>
<a href="insert.html#fusion.algorithms.transformation.functions.insert.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.insert.header"></a><h6>
<a name="id583504"></a>
<a name="id1142099"></a>
<a href="insert.html#fusion.algorithms.transformation.functions.insert.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.insert.example"></a><h6>
<a name="id583610"></a>
<a name="id1142192"></a>
<a href="insert.html#fusion.algorithms.transformation.functions.insert.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="insert.html" title="insert"><code class="computeroutput"><span class="identifier">insert</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>insert_range</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="insert.html" title="insert">
@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.insert_range"></a><a href="insert_range.html" title="insert_range">insert_range</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.insert_range.description"></a><h6>
<a name="id583904"></a>
<a name="id1142452"></a>
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
iterator.
</p>
<a name="fusion.algorithms.transformation.functions.insert_range.synposis"></a><h6>
<a name="id583938"></a>
<a name="id1142483"></a>
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.synposis">Synposis</a>
</h6>
<pre class="programlisting">
@ -43,11 +43,11 @@
<span class="keyword">typename</span> <span class="identifier">Pos</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Range</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pos</span><span class="special">,</span> <span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">insert_range</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pos</span><span class="special">,</span> <span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">insert_range</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">Pos</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">Range</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">range</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id584210"></a><p class="title"><b>Table<EFBFBD>1.65.<2E>Parameters</b></p>
<a name="id1142722"></a><p class="title"><b>Table<EFBFBD>1.65.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -61,7 +61,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -70,7 +70,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">pos</span></tt></td>
<td><code class="computeroutput"><span class="identifier">pos</span></code></td>
<td>A
model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -79,7 +79,7 @@
<td>The position to insert at</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">range</span></tt></td>
<td><code class="computeroutput"><span class="identifier">range</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -91,46 +91,46 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.insert_range.expression_semantics"></a><h6>
<a name="id584342"></a>
<a name="id1142840"></a>
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">range</span><span class="special">);</span>
<a href="insert.html" title="insert"><code class="computeroutput"><span class="identifier">insert</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">range</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
and the elements of <tt class="computeroutput"><span class="identifier">range</span></tt>
inserted at iterator <tt class="computeroutput"><span class="identifier">pos</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
and the elements of <code class="computeroutput"><span class="identifier">range</span></code>
inserted at iterator <code class="computeroutput"><span class="identifier">pos</span></code>.
All elements retaining their ordering from the orignal sequences.
</p>
<a name="fusion.algorithms.transformation.functions.insert_range.complexity"></a><h6>
<a name="id584495"></a>
<a name="id1142974"></a>
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.insert_range.header"></a><h6>
<a name="id584526"></a>
<a name="id1143002"></a>
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.insert_range.example"></a><h6>
<a name="id584632"></a>
<a name="id1143096"></a>
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">insert_range</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">insert_range</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>join</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="insert_range.html" title="insert_range">
@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.join"></a><a href="join.html" title="join">join</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.join.description"></a><h6>
<a name="id584963"></a>
<a name="id1143387"></a>
<a href="join.html#fusion.algorithms.transformation.functions.join.description">Description</a>
</h6>
<p>
@ -34,17 +34,17 @@
first followed by the elements of the second.
</p>
<a name="fusion.algorithms.transformation.functions.join.synopsis"></a><h6>
<a name="id584996"></a>
<a name="id1143417"></a>
<a href="join.html#fusion.algorithms.transformation.functions.join.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">LhSequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">RhSequence</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/join.html" title="join"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></tt></a><span class="special">&lt;</span><span class="identifier">LhSequence</span><span class="special">,</span> <span class="identifier">RhSequence</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">join</span><span class="special">(</span><span class="identifier">LhSequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">RhSequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../metafunctions/join.html" title="join"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></code></a><span class="special">&lt;</span><span class="identifier">LhSequence</span><span class="special">,</span> <span class="identifier">RhSequence</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">join</span><span class="special">(</span><span class="identifier">LhSequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">RhSequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id585204"></a><p class="title"><b>Table<EFBFBD>1.66.<2E>Parameters</b></p>
<a name="id1143598"></a><p class="title"><b>Table<EFBFBD>1.66.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -58,7 +58,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">lhs</span></tt></td>
<td><code class="computeroutput"><span class="identifier">lhs</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -67,7 +67,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">rhs</span></tt></td>
<td><code class="computeroutput"><span class="identifier">rhs</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -79,46 +79,46 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.join.expression_semantics"></a><h6>
<a name="id585305"></a>
<a name="id1143691"></a>
<a href="join.html#fusion.algorithms.transformation.functions.join.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="join.html" title="join"><tt class="computeroutput"><span class="identifier">join</span></tt></a><span class="special">(</span><span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">);</span>
<a href="join.html" title="join"><code class="computeroutput"><span class="identifier">join</span></code></a><span class="special">(</span><span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">lhs</span></tt>
followed by all the elements of <tt class="computeroutput"><span class="identifier">rhs</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
all the elements of <code class="computeroutput"><span class="identifier">lhs</span></code>
followed by all the elements of <code class="computeroutput"><span class="identifier">rhs</span></code>.
The order of th elements is preserved.
</p>
<a name="fusion.algorithms.transformation.functions.join.complexity"></a><h6>
<a name="id585432"></a>
<a name="id1143803"></a>
<a href="join.html#fusion.algorithms.transformation.functions.join.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.join.header"></a><h6>
<a name="id585464"></a>
<a name="id1143832"></a>
<a href="join.html#fusion.algorithms.transformation.functions.join.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.join.example"></a><h6>
<a name="id585570"></a>
<a name="id1143925"></a>
<a href="join.html#fusion.algorithms.transformation.functions.join.example">Example</a>
</h6>
<pre class="programlisting">
<a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
<a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="join.html" title="join"><tt class="computeroutput"><span class="identifier">join</span></tt></a><span class="special">(</span><span class="identifier">v1</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="char">'a'</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="char">'b'</span><span class="special">));</span>
<a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
<a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="join.html" title="join"><code class="computeroutput"><span class="identifier">join</span></code></a><span class="special">(</span><span class="identifier">v1</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="char">'a'</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="char">'b'</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pop_back</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="zip.html" title="zip">
@ -26,24 +26,24 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.pop_back"></a><a href="pop_back.html" title="pop_back">pop_back</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.pop_back.description"></a><h6>
<a name="id587086"></a>
<a name="id1145267"></a>
<a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.description">Description</a>
</h6>
<p>
Returns a new sequence, with the last element of the original removed.
</p>
<a name="fusion.algorithms.transformation.functions.pop_back.synopsis"></a><h6>
<a name="id587119"></a>
<a name="id1145296"></a>
<a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">pop_back</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../metafunctions/pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">pop_back</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id587275"></a><p class="title"><b>Table<EFBFBD>1.68.<2E>Parameters</b></p>
<a name="id1145433"></a><p class="title"><b>Table<EFBFBD>1.68.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -56,7 +56,7 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -67,44 +67,44 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.pop_back.expression_semantics"></a><h6>
<a name="id587350"></a>
<a name="id1145500"></a>
<a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">pop_back</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
<a href="pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">pop_back</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
except the last element. The elements in the new sequence are in the
same order as they were in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.pop_back.complexity"></a><h6>
<a name="id587468"></a>
<a name="id1145604"></a>
<a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.pop_back.header"></a><h6>
<a name="id587499"></a>
<a name="id1145632"></a>
<a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.pop_back.example"></a><h6>
<a name="id587605"></a>
<a name="id1145725"></a>
<a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">___pop_back__</span><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">___pop_back__</span><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pop_front</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="pop_back.html" title="pop_back">
@ -26,24 +26,24 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.pop_front"></a><a href="pop_front.html" title="pop_front">pop_front</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.pop_front.description"></a><h6>
<a name="id587780"></a>
<a name="id1145881"></a>
<a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.description">Description</a>
</h6>
<p>
Returns a new sequence, with the first element of the original removed.
</p>
<a name="fusion.algorithms.transformation.functions.pop_front.synopsis"></a><h6>
<a name="id587813"></a>
<a name="id1145888"></a>
<a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">pop_front</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../metafunctions/pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">pop_front</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id587969"></a><p class="title"><b>Table<EFBFBD>1.69.<2E>Parameters</b></p>
<a name="id1146046"></a><p class="title"><b>Table<EFBFBD>1.69.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -56,7 +56,7 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -67,44 +67,44 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.pop_front.expression_semantics"></a><h6>
<a name="id588045"></a>
<a name="id1146114"></a>
<a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">pop_front</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
<a href="pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">pop_front</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
except the first element. The elements in the new sequence are in the
same order as they were in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.pop_front.complexity"></a><h6>
<a name="id588163"></a>
<a name="id1146217"></a>
<a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.pop_front.header"></a><h6>
<a name="id588194"></a>
<a name="id1146246"></a>
<a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">pop_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.pop_front.example"></a><h6>
<a name="id588300"></a>
<a name="id1146339"></a>
<a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">pop_front</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
<span class="identifier">assert</span><span class="special">(</span><a href="pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">pop_front</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>push_back</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="pop_front.html" title="pop_front">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.push_back"></a><a href="push_back.html" title="push_back">push_back</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.push_back.description"></a><h6>
<a name="id588482"></a>
<a name="id1146502"></a>
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.description">Description</a>
</h6>
<p>
Returns a new sequence with an element added at the end.
</p>
<a name="fusion.algorithms.transformation.functions.push_back.synopsis"></a><h6>
<a name="id588515"></a>
<a name="id1146509"></a>
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -41,11 +41,11 @@
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">push_back</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">push_back</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id588724"></a><p class="title"><b>Table<EFBFBD>1.70.<2E>Parameters</b></p>
<a name="id1146713"></a><p class="title"><b>Table<EFBFBD>1.70.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -59,7 +59,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -68,7 +68,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">t</span></tt></td>
<td><code class="computeroutput"><span class="identifier">t</span></code></td>
<td>Any
type</td>
<td>The value to add to the end</td>
@ -77,44 +77,44 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.push_back.expression_semantics"></a><h6>
<a name="id588820"></a>
<a name="id1146798"></a>
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
<a href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
and new element <tt class="computeroutput"><span class="identifier">t</span></tt> appended
to the end. The elements are in the same order as they were in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
and new element <code class="computeroutput"><span class="identifier">t</span></code> appended
to the end. The elements are in the same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.push_back.complexity"></a><h6>
<a name="id588959"></a>
<a name="id1146920"></a>
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.push_back.header"></a><h6>
<a name="id588990"></a>
<a name="id1146948"></a>
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.push_back.example"></a><h6>
<a name="id589096"></a>
<a name="id1147042"></a>
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span><span class="number">4</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">));</span>
<span class="identifier">assert</span><span class="special">(</span><a href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span><span class="number">4</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>push_front</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="push_back.html" title="push_back">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.push_front"></a><a href="push_front.html" title="push_front">push_front</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.push_front.description"></a><h6>
<a name="id589309"></a>
<a name="id1147232"></a>
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.description">Description</a>
</h6>
<p>
Returns a new sequence with an element added at the beginning.
</p>
<a name="fusion.algorithms.transformation.functions.push_front.synopsis"></a><h6>
<a name="id589342"></a>
<a name="id1147239"></a>
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -41,11 +41,11 @@
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">push_front</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">push_front</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id589550"></a><p class="title"><b>Table<EFBFBD>1.71.<2E>Parameters</b></p>
<a name="id1147443"></a><p class="title"><b>Table<EFBFBD>1.71.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -59,7 +59,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -68,7 +68,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">t</span></tt></td>
<td><code class="computeroutput"><span class="identifier">t</span></code></td>
<td>Any
type</td>
<td>The value to add to the beginning</td>
@ -77,45 +77,45 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.push_front.expression_semantics"></a><h6>
<a name="id589647"></a>
<a name="id1147528"></a>
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
<a href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
and new element <tt class="computeroutput"><span class="identifier">t</span></tt> appended
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
and new element <code class="computeroutput"><span class="identifier">t</span></code> appended
to the beginning. The elements are in the same order as they were in
<tt class="computeroutput"><span class="identifier">seq</span></tt>.
<code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.push_front.complexity"></a><h6>
<a name="id589788"></a>
<a name="id1147653"></a>
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.push_front.header"></a><h6>
<a name="id589819"></a>
<a name="id1147681"></a>
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.push_front.example"></a><h6>
<a name="id589925"></a>
<a name="id1147774"></a>
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">push_front</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span><span class="number">0</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
<span class="identifier">assert</span><span class="special">(</span><a href="push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">push_front</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span><span class="number">0</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>remove</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="replace_if.html" title="replace_if">
@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.remove"></a><a href="remove.html" title="remove">remove</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.remove.description"></a><h6>
<a name="id577468"></a>
<a name="id1136755"></a>
<a href="remove.html#fusion.algorithms.transformation.functions.remove.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
except those of a given type.
</p>
<a name="fusion.algorithms.transformation.functions.remove.synopsis"></a><h6>
<a name="id577502"></a>
<a name="id1136785"></a>
<a href="remove.html#fusion.algorithms.transformation.functions.remove.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -42,10 +42,10 @@
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/remove.html" title="remove"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">replace</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../metafunctions/remove.html" title="remove"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">replace</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id577686"></a><p class="title"><b>Table<EFBFBD>1.58.<2E>Parameters</b></p>
<a name="id1136947"></a><p class="title"><b>Table<EFBFBD>1.58.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -59,7 +59,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -68,7 +68,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">T</span></tt></td>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>Type to remove</td>
@ -77,45 +77,45 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.remove.expression_semantics"></a><h6>
<a name="id577780"></a>
<a name="id1137032"></a>
<a href="remove.html#fusion.algorithms.transformation.functions.remove.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="remove.html" title="remove"><tt class="computeroutput"><span class="identifier">remove</span></tt></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
<a href="remove.html" title="remove"><code class="computeroutput"><span class="identifier">remove</span></code></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
in their original order, except those of type <tt class="computeroutput"><span class="identifier">T</span></tt>.
Equivalent to <tt class="computeroutput"><a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
in their original order, except those of type <code class="computeroutput"><span class="identifier">T</span></code>.
Equivalent to <code class="computeroutput"><a href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.remove.complexity"></a><h6>
<a name="id577991"></a>
<a name="id1137217"></a>
<a href="remove.html#fusion.algorithms.transformation.functions.remove.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.remove.header"></a><h6>
<a name="id578022"></a>
<a name="id1137246"></a>
<a href="remove.html#fusion.algorithms.transformation.functions.remove.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.remove.example"></a><h6>
<a name="id578128"></a>
<a name="id1137339"></a>
<a href="remove.html#fusion.algorithms.transformation.functions.remove.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2.0</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="remove.html" title="remove"><tt class="computeroutput"><span class="identifier">remove</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2.0</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="remove.html" title="remove"><code class="computeroutput"><span class="identifier">remove</span></code></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>remove_if</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="remove.html" title="remove">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.remove_if"></a><a href="remove_if.html" title="remove_if">remove_if</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.remove_if.description"></a><h6>
<a name="id578349"></a>
<a name="id1137536"></a>
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.description">Description</a>
</h6>
<p>
Returns a new sequence, containing all the elements of the original except
those where a given unary function object evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>.
those where a given unary function object evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.remove_if.synopsis"></a><h6>
<a name="id578393"></a>
<a name="id1137543"></a>
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -42,10 +42,10 @@
<span class="keyword">typename</span> <span class="identifier">Pred</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">remove_if</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../metafunctions/remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">remove_if</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id578578"></a><p class="title"><b>Table<EFBFBD>1.59.<2E>Parameters</b></p>
<a name="id1137737"></a><p class="title"><b>Table<EFBFBD>1.59.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -59,7 +59,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -68,55 +68,57 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">Pred</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Pred</span></code></td>
<td>A
model of unary MPL Lambda Expression</td>
model of unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</td>
<td>Removal predicate</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.remove_if.expression_semantics"></a><h6>
<a name="id578674"></a>
<a name="id1137829"></a>
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Pred</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
<a href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></a><span class="special">&lt;</span><span class="identifier">Pred</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
in their original order, except those elements with types for which
<tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>. Equivalent to <tt class="computeroutput"><a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">not_</span><span class="special">&lt;</span><span class="identifier">Pred</span><span class="special">&gt;</span>
<span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></tt>.
<code class="computeroutput"><span class="identifier">Pred</span></code> evaluates to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>. Equivalent to <code class="computeroutput"><a href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">not_</span><span class="special">&lt;</span><span class="identifier">Pred</span><span class="special">&gt;</span>
<span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.remove_if.complexity"></a><h6>
<a name="id578915"></a>
<a name="id1138040"></a>
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.remove_if.header"></a><h6>
<a name="id578946"></a>
<a name="id1138069"></a>
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.remove_if.example"></a><h6>
<a name="id579052"></a>
<a name="id1138162"></a>
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2.0</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">is_floating_point</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2.0</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></a><span class="special">&lt;</span><span class="identifier">is_floating_point</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>replace</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="transform.html" title="transform">
@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.replace"></a><a href="replace.html" title="replace">replace</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.replace.description"></a><h6>
<a name="id575415"></a>
<a name="id1117467"></a>
<a href="replace.html#fusion.algorithms.transformation.functions.replace.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
a new value.
</p>
<a name="fusion.algorithms.transformation.functions.replace.synopsis"></a><h6>
<a name="id575448"></a>
<a name="id1117497"></a>
<a href="replace.html#fusion.algorithms.transformation.functions.replace.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -42,11 +42,11 @@
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/replace.html" title="replace"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">replace</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/replace.html" title="replace"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">replace</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">old_value</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">new_value</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id575691"></a><p class="title"><b>Table<EFBFBD>1.56.<2E>Parameters</b></p>
<a name="id1117710"></a><p class="title"><b>Table<EFBFBD>1.56.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -60,27 +60,27 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">e</span> <span class="special">==</span> <span class="identifier">old_value</span></tt>
is a valid expression, convertible to <tt class="computeroutput"><span class="keyword">bool</span></tt>,
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
in <tt class="computeroutput"><span class="identifier">seq</span></tt> with type
convertible to <tt class="computeroutput"><span class="identifier">T</span></tt>
Sequence</a>, <code class="computeroutput"><span class="identifier">e</span> <span class="special">==</span> <span class="identifier">old_value</span></code>
is a valid expression, convertible to <code class="computeroutput"><span class="keyword">bool</span></code>,
for each element <code class="computeroutput"><span class="identifier">e</span></code>
in <code class="computeroutput"><span class="identifier">seq</span></code> with type
convertible to <code class="computeroutput"><span class="identifier">T</span></code>
</td>
<td>Operation's
argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">old_value</span></tt></td>
<td><code class="computeroutput"><span class="identifier">old_value</span></code></td>
<td>Any
type</td>
<td>Value to replace</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">new_value</span></tt></td>
<td><code class="computeroutput"><span class="identifier">new_value</span></code></td>
<td>Any
type</td>
<td>Replacement value</td>
@ -89,44 +89,44 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.replace.expression_semantics"></a><h6>
<a name="id575872"></a>
<a name="id1117872"></a>
<a href="replace.html#fusion.algorithms.transformation.functions.replace.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">old_value</span><span class="special">,</span> <span class="identifier">new_value</span><span class="special">);</span>
<a href="replace.html" title="replace"><code class="computeroutput"><span class="identifier">replace</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">old_value</span><span class="special">,</span> <span class="identifier">new_value</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence with
all the values of <tt class="computeroutput"><span class="identifier">seq</span></tt>
with <tt class="computeroutput"><span class="identifier">new_value</span></tt> assigned
to elements with the same type and equal to <tt class="computeroutput"><span class="identifier">old_value</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with
all the values of <code class="computeroutput"><span class="identifier">seq</span></code>
with <code class="computeroutput"><span class="identifier">new_value</span></code> assigned
to elements with the same type and equal to <code class="computeroutput"><span class="identifier">old_value</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.replace.complexity"></a><h6>
<a name="id576023"></a>
<a name="id1118004"></a>
<a href="replace.html#fusion.algorithms.transformation.functions.replace.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.replace.header"></a><h6>
<a name="id576055"></a>
<a name="id1118032"></a>
<a href="replace.html#fusion.algorithms.transformation.functions.replace.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.replace.example"></a><h6>
<a name="id576162"></a>
<a name="id1118125"></a>
<a href="replace.html#fusion.algorithms.transformation.functions.replace.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
<span class="identifier">assert</span><span class="special">(</span><a href="replace.html" title="replace"><code class="computeroutput"><span class="identifier">replace</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>replace_if</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="replace.html" title="replace">
@ -26,16 +26,16 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.replace_if"></a><a href="replace_if.html" title="replace_if">replace_if</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.replace_if.description"></a><h6>
<a name="id576358"></a>
<a name="id1118301"></a>
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.description">Description</a>
</h6>
<p>
Replaces each element of a given sequence for which an unary function
object evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>
object evaluates to <code class="computeroutput"><span class="keyword">true</span></code>
replaced with a new value.
</p>
<a name="fusion.algorithms.transformation.functions.replace_if.synopsis"></a><h6>
<a name="id576401"></a>
<a name="id1118308"></a>
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -43,11 +43,11 @@
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">replace_if</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">replace_if</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">new_value</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id576660"></a><p class="title"><b>Table<EFBFBD>1.57.<2E>Parameters</b></p>
<a name="id1136043"></a><p class="title"><b>Table<EFBFBD>1.57.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -61,7 +61,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -70,16 +70,16 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">f</span></tt></td>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
function object for which <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for each element
<tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
function object for which <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible
to <code class="computeroutput"><span class="keyword">bool</span></code>, for each element
<code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
</td>
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">new_value</span></tt></td>
<td><code class="computeroutput"><span class="identifier">new_value</span></code></td>
<td>Any
type</td>
<td>Replacement value</td>
@ -88,41 +88,41 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.replace_if.expression_semantics"></a><h6>
<a name="id576832"></a>
<a name="id1136195"></a>
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">new_value</span><span class="special">);</span>
<a href="replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">replace_if</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">new_value</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence with
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
with <tt class="computeroutput"><span class="identifier">new_value</span></tt> assigned
to each element for which <tt class="computeroutput"><span class="identifier">f</span></tt>
evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
with <code class="computeroutput"><span class="identifier">new_value</span></code> assigned
to each element for which <code class="computeroutput"><span class="identifier">f</span></code>
evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.replace_if.complexity"></a><h6>
<a name="id576994"></a>
<a name="id1136338"></a>
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.replace_if.header"></a><h6>
<a name="id577027"></a>
<a name="id1136366"></a>
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.replace_if.example"></a><h6>
<a name="id577133"></a>
<a name="id1136459"></a>
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.example">Example</a>
</h6>
<pre class="programlisting">
@ -135,7 +135,7 @@
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">(),</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
<span class="identifier">assert</span><span class="special">(</span><a href="replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">replace_if</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">(),</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>reverse</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="remove_if.html" title="remove_if">
@ -26,24 +26,24 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.reverse"></a><a href="reverse.html" title="reverse">reverse</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.reverse.description"></a><h6>
<a name="id579301"></a>
<a name="id1138382"></a>
<a href="reverse.html#fusion.algorithms.transformation.functions.reverse.description">Description</a>
</h6>
<p>
Returns a new sequence with the elements of the original in reverse order.
</p>
<a name="fusion.algorithms.transformation.functions.reverse.synposis"></a><h6>
<a name="id579333"></a>
<a name="id1138412"></a>
<a href="reverse.html#fusion.algorithms.transformation.functions.reverse.synposis">Synposis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">reverse</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../metafunctions/reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">reverse</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id579489"></a><p class="title"><b>Table<EFBFBD>1.60.<2E>Parameters</b></p>
<a name="id1138549"></a><p class="title"><b>Table<EFBFBD>1.60.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -56,7 +56,7 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
@ -67,43 +67,43 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.reverse.expression_semantics"></a><h6>
<a name="id579564"></a>
<a name="id1138616"></a>
<a href="reverse.html#fusion.algorithms.transformation.functions.reverse.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">reverse</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
<a href="reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">reverse</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>
in reverse order.
</p>
<a name="fusion.algorithms.transformation.functions.reverse.complexity"></a><h6>
<a name="id579670"></a>
<a name="id1138711"></a>
<a href="reverse.html#fusion.algorithms.transformation.functions.reverse.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.reverse.header"></a><h6>
<a name="id579703"></a>
<a name="id1138739"></a>
<a href="reverse.html#fusion.algorithms.transformation.functions.reverse.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.reverse.example"></a><h6>
<a name="id579809"></a>
<a name="id1138833"></a>
<a href="reverse.html#fusion.algorithms.transformation.functions.reverse.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">reverse</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">1</span><span class="special">));</span>
<span class="identifier">assert</span><span class="special">(</span><a href="reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">reverse</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">1</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>transform</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="filter_if.html" title="filter_if">
@ -26,19 +26,19 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.transform"></a><a href="transform.html" title="transform">transform</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.transform.description"></a><h6>
<a name="id573674"></a>
<a name="id1115932"></a>
<a href="transform.html#fusion.algorithms.transformation.functions.transform.description">Description</a>
</h6>
<p>
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
<a href="../../concepts/poly.html" title=" Polymorphic Function
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and
<a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a> <tt class="computeroutput"><span class="identifier">F</span></tt>, <tt class="computeroutput"><span class="identifier">transform</span></tt> returns a new sequence with
elements created by applying <tt class="computeroutput"><span class="identifier">F</span></tt>
to each element of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
Object</a> <code class="computeroutput"><span class="identifier">F</span></code>, <code class="computeroutput"><span class="identifier">transform</span></code> returns a new sequence with
elements created by applying <code class="computeroutput"><span class="identifier">F</span></code>
to each element of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.transform.unary_version_synopsis"></a><h6>
<a name="id573768"></a>
<a name="id1116015"></a>
<a href="transform.html#fusion.algorithms.transformation.functions.transform.unary_version_synopsis">Unary
version synopsis</a>
</h6>
@ -47,11 +47,11 @@
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">transform</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">transform</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id573972"></a><p class="title"><b>Table<EFBFBD>1.54.<2E>Parameters</b></p>
<a name="id1116193"></a><p class="title"><b>Table<EFBFBD>1.54.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -65,7 +65,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -74,12 +74,12 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">f</span></tt></td>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
model of unary <a href="../../concepts/poly.html" title=" Polymorphic Function
model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> where <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression for each element
<tt class="computeroutput"><span class="identifier">e</span></tt> of <tt class="computeroutput"><span class="identifier">seq</span></tt>
Function Object</a> where <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression for each element
<code class="computeroutput"><span class="identifier">e</span></code> of <code class="computeroutput"><span class="identifier">seq</span></code>
</td>
<td>Transformation
function</td>
@ -88,25 +88,25 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.transform.expression_semantics"></a><h6>
<a name="id574120"></a>
<a name="id1116325"></a>
<a href="transform.html#fusion.algorithms.transformation.functions.transform.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
<a href="transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
the return values of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
within <tt class="computeroutput"><span class="identifier">seq</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
the return values of <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> for each element <code class="computeroutput"><span class="identifier">e</span></code>
within <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.transform.binary_version_synopsis"></a><h6>
<a name="id574273"></a>
<a name="id1116461"></a>
<a href="transform.html#fusion.algorithms.transformation.functions.transform.binary_version_synopsis">Binary
version synopsis</a>
</h6>
@ -116,11 +116,11 @@
<span class="keyword">typename</span> <span class="identifier">Sequence2</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">transform</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">transform</span><span class="special">(</span>
<span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id574540"></a><p class="title"><b>Table<EFBFBD>1.55.<2E>Parameters</b></p>
<a name="id1116693"></a><p class="title"><b>Table<EFBFBD>1.55.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -134,7 +134,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq1</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq1</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -143,7 +143,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">seq2</span></tt></td>
<td><code class="computeroutput"><span class="identifier">seq2</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -152,13 +152,13 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">f</span></tt></td>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
model of binary <a href="../../concepts/poly.html" title=" Polymorphic Function
model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> where <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span> <span class="identifier">e2</span><span class="special">)</span></tt> is a valid expression for each pair
of elements <tt class="computeroutput"><span class="identifier">e1</span></tt> and
<tt class="computeroutput"><span class="identifier">e2</span></tt> of <tt class="computeroutput"><span class="identifier">seq1</span></tt> and <tt class="computeroutput"><span class="identifier">seq2</span></tt>
Function Object</a> where <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span> <span class="identifier">e2</span><span class="special">)</span></code> is a valid expression for each pair
of elements <code class="computeroutput"><span class="identifier">e1</span></code> and
<code class="computeroutput"><span class="identifier">e2</span></code> of <code class="computeroutput"><span class="identifier">seq1</span></code> and <code class="computeroutput"><span class="identifier">seq2</span></code>
respectively</td>
<td>Transformation function</td>
</tr>
@ -166,31 +166,31 @@
</table>
</div>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
the return values of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span> <span class="identifier">e2</span><span class="special">)</span></tt> for each pair of elements <tt class="computeroutput"><span class="identifier">e1</span></tt> and <tt class="computeroutput"><span class="identifier">e2</span></tt>
within <tt class="computeroutput"><span class="identifier">seq1</span></tt> and <tt class="computeroutput"><span class="identifier">seq2</span></tt> respectively.
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
the return values of <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span> <span class="identifier">e2</span><span class="special">)</span></code> for each pair of elements <code class="computeroutput"><span class="identifier">e1</span></code> and <code class="computeroutput"><span class="identifier">e2</span></code>
within <code class="computeroutput"><span class="identifier">seq1</span></code> and <code class="computeroutput"><span class="identifier">seq2</span></code> respectively.
</p>
<a name="fusion.algorithms.transformation.functions.transform.complexity"></a><h6>
<a name="id574859"></a>
<a name="id1116974"></a>
<a href="transform.html#fusion.algorithms.transformation.functions.transform.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.transform.header"></a><h6>
<a name="id574890"></a>
<a name="id1117003"></a>
<a href="transform.html#fusion.algorithms.transformation.functions.transform.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.transform.example"></a><h6>
<a name="id574996"></a>
<a name="id1117096"></a>
<a href="transform.html#fusion.algorithms.transformation.functions.transform.example">Example</a>
</h6>
<pre class="programlisting">
@ -209,7 +209,7 @@
<span class="special">};</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a href="transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">triple</span><span class="special">())</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">6</span><span class="special">,</span><span class="number">9</span><span class="special">));</span>
<span class="identifier">assert</span><span class="special">(</span><a href="transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">triple</span><span class="special">())</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">6</span><span class="special">,</span><span class="number">9</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>zip</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="join.html" title="join">
@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.zip"></a><a href="zip.html" title="zip">zip</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.zip.description"></a><h6>
<a name="id585886"></a>
<a name="id1144205"></a>
<a href="zip.html#fusion.algorithms.transformation.functions.zip.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
of the members of the component sequences.
</p>
<a name="fusion.algorithms.transformation.functions.zip.synopsis"></a><h6>
<a name="id585920"></a>
<a name="id1144235"></a>
<a href="zip.html#fusion.algorithms.transformation.functions.zip.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -44,11 +44,11 @@
<span class="special">...</span>
<span class="keyword">typename</span> <span class="identifier">SequenceN</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/zip.html" title="zip"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">zip</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence1</span><span class="special">,</span> <span class="identifier">Sequence2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="keyword">typename</span> <a href="../metafunctions/zip.html" title="zip"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">zip</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence1</span><span class="special">,</span> <span class="identifier">Sequence2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">zip</span><span class="special">(</span><span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seqN</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id586203"></a><p class="title"><b>Table<EFBFBD>1.67.<2E>Parameters</b></p>
<a name="id1144484"></a><p class="title"><b>Table<EFBFBD>1.67.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -62,7 +62,7 @@
</tr></thead>
<tbody><tr>
<td>
<tt class="computeroutput"><span class="identifier">seq1</span></tt> to <tt class="computeroutput"><span class="identifier">seqN</span></tt>
<code class="computeroutput"><span class="identifier">seq1</span></code> to <code class="computeroutput"><span class="identifier">seqN</span></code>
</td>
<td>Each sequence
is a model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
@ -73,50 +73,50 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.zip.expression_semantics"></a><h6>
<a name="id586290"></a>
<a name="id1144562"></a>
<a href="zip.html#fusion.algorithms.transformation.functions.zip.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="zip.html" title="zip"><tt class="computeroutput"><span class="identifier">zip</span></tt></a><span class="special">(</span><span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">seqN</span><span class="special">);</span>
<a href="zip.html" title="zip"><code class="computeroutput"><span class="identifier">zip</span></code></a><span class="special">(</span><span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">seqN</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
tuples of elements from sequences <tt class="computeroutput"><span class="identifier">seq1</span></tt>
to <tt class="computeroutput"><span class="identifier">seqN</span></tt>. For example,
applying zip to tuples <tt class="computeroutput"><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span></tt>
and <tt class="computeroutput"><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span>
<span class="char">'c'</span><span class="special">)</span></tt>
would return <tt class="computeroutput"><span class="special">((</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">),(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">),(</span><span class="number">3</span><span class="special">,</span>
<span class="char">'c'</span><span class="special">))</span></tt>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
tuples of elements from sequences <code class="computeroutput"><span class="identifier">seq1</span></code>
to <code class="computeroutput"><span class="identifier">seqN</span></code>. For example,
applying zip to tuples <code class="computeroutput"><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span></code>
and <code class="computeroutput"><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span>
<span class="char">'c'</span><span class="special">)</span></code>
would return <code class="computeroutput"><span class="special">((</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">),(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">),(</span><span class="number">3</span><span class="special">,</span>
<span class="char">'c'</span><span class="special">))</span></code>
</p>
<a name="fusion.algorithms.transformation.functions.zip.complexity"></a><h6>
<a name="id586588"></a>
<a name="id1144827"></a>
<a href="zip.html#fusion.algorithms.transformation.functions.zip.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.zip.header"></a><h6>
<a name="id586621"></a>
<a name="id1144855"></a>
<a href="zip.html#fusion.algorithms.transformation.functions.zip.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.transformation.functions.zip.example"></a><h6>
<a name="id586726"></a>
<a name="id1144947"></a>
<a href="zip.html#fusion.algorithms.transformation.functions.zip.example">Example</a>
</h6>
<pre class="programlisting">
<a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
<a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="zip.html" title="zip"><tt class="computeroutput"><span class="identifier">zip</span></tt></a><span class="special">(</span><span class="identifier">v1</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">),</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">));</span>
<a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
<a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="zip.html" title="zip"><code class="computeroutput"><span class="identifier">zip</span></code></a><span class="special">(</span><span class="identifier">v1</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">),</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Metafunctions</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../transformation.html" title="Transformation">
<link rel="prev" href="functions/push_front.html" title="push_front">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>clear</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="reverse.html" title="reverse">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.clear"></a><a href="clear.html" title="clear">clear</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.clear.description"></a><h6>
<a name="id595075"></a>
<a name="id1152358"></a>
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a>, given the input sequence
Returns the result type of <a href="../functions/clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a>, given the input sequence
type.
</p>
<a name="fusion.algorithms.transformation.metafunctions.clear.synopsis"></a><h6>
<a name="id595124"></a>
<a name="id1152401"></a>
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id595225"></a><p class="title"><b>Table<EFBFBD>1.80.<2E>Parameters</b></p>
<a name="id1152490"></a><p class="title"><b>Table<EFBFBD>1.80.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -60,7 +60,7 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>Any
type</td>
<td>Operation's argument</td>
@ -68,30 +68,30 @@
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.clear.expression_semantics"></a><h6>
<a name="id595293"></a>
<a name="id1152550"></a>
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns an empty sequence.
<span class="bold"><strong>Semantics</strong></span>: Returns an empty sequence.
</p>
<a name="fusion.algorithms.transformation.metafunctions.clear.complexity"></a><h6>
<a name="id595407"></a>
<a name="id1152648"></a>
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.clear.header"></a><h6>
<a name="id595438"></a>
<a name="id1152676"></a>
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>erase</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="clear.html" title="clear">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.erase"></a><a href="erase.html" title="erase">erase</a></h5></div></div></div>
<p>
Returns the result type of <a href="../functions/erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a>, given the input sequence
Returns the result type of <a href="../functions/erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a>, given the input sequence
and range delimiting iterator types.
</p>
<a name="fusion.algorithms.transformation.metafunctions.erase.description"></a><h6>
<a name="id595588"></a>
<a name="id1152810"></a>
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.description">Description</a>
</h6>
<a name="fusion.algorithms.transformation.metafunctions.erase.synopsis"></a><h6>
<a name="id595615"></a>
<a name="id1152818"></a>
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id595760"></a><p class="title"><b>Table<EFBFBD>1.81.<2E>Parameters</b></p>
<a name="id1152961"></a><p class="title"><b>Table<EFBFBD>1.81.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -62,7 +62,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -71,7 +71,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">It1</span></tt></td>
<td><code class="computeroutput"><span class="identifier">It1</span></code></td>
<td>A
model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -80,7 +80,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">It2</span></tt></td>
<td><code class="computeroutput"><span class="identifier">It2</span></code></td>
<td>A
model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -92,44 +92,44 @@
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.erase.expression_semantics"></a><h6>
<a name="id595892"></a>
<a name="id1153079"></a>
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">It1</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">It1</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence with
the element at <tt class="computeroutput"><span class="identifier">It1</span></tt> removed.
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with
the element at <code class="computeroutput"><span class="identifier">It1</span></code> removed.
</p>
<pre class="programlisting">
<a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">It1</span><span class="special">,</span> <span class="identifier">It2</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">It1</span><span class="special">,</span> <span class="identifier">It2</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence with
the elements between <tt class="computeroutput"><span class="identifier">It1</span></tt>
and <tt class="computeroutput"><span class="identifier">It2</span></tt> removed.
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with
the elements between <code class="computeroutput"><span class="identifier">It1</span></code>
and <code class="computeroutput"><span class="identifier">It2</span></code> removed.
</p>
<a name="fusion.algorithms.transformation.metafunctions.erase.complexity"></a><h6>
<a name="id596153"></a>
<a name="id1153307"></a>
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.erase.header"></a><h6>
<a name="id596185"></a>
<a name="id1153335"></a>
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>erase_key</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="erase.html" title="erase">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.erase_key"></a><a href="erase_key.html" title="erase_key">erase_key</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.erase_key.description"></a><h6>
<a name="id596315"></a>
<a name="id1170928"></a>
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">erase_key</span></tt></a>, given the sequence
Returns the result type of <a href="../functions/erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">erase_key</span></code></a>, given the sequence
and key types.
</p>
<a name="fusion.algorithms.transformation.metafunctions.erase_key.synopsis"></a><h6>
<a name="id596366"></a>
<a name="id1170973"></a>
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id596484"></a><p class="title"><b>Table<EFBFBD>1.82.<2E>Parameters</b></p>
<a name="id1171078"></a><p class="title"><b>Table<EFBFBD>1.82.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -62,7 +62,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
Sequence">Associative
@ -71,7 +71,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">Key</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Key</span></code></td>
<td>Any
type</td>
<td>Key type</td>
@ -80,32 +80,32 @@
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.erase_key.expression_semantics"></a><h6>
<a name="id596580"></a>
<a name="id1171162"></a>
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>,
except those with key <tt class="computeroutput"><span class="identifier">Key</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>,
except those with key <code class="computeroutput"><span class="identifier">Key</span></code>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.erase_key.complexity"></a><h6>
<a name="id596724"></a>
<a name="id1171290"></a>
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.erase_key.header"></a><h6>
<a name="id596756"></a>
<a name="id1171298"></a>
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>filter</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="../metafunctions.html" title="Metafunctions">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.filter"></a><a href="filter.html" title="filter">filter</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.filter.description"></a><h6>
<a name="id590157"></a>
<a name="id1147981"></a>
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></a> given the sequence type
Returns the result type of <a href="../functions/filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></a> given the sequence type
and type to retain.
</p>
<a name="fusion.algorithms.transformation.metafunctions.filter.synopsis"></a><h6>
<a name="id590206"></a>
<a name="id1148025"></a>
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id590324"></a><p class="title"><b>Table<EFBFBD>1.72.<2E>Parameter</b></p>
<a name="id1148129"></a><p class="title"><b>Table<EFBFBD>1.72.<2E>Parameter</b></p>
<table class="table" summary="Parameter">
<colgroup>
<col>
@ -62,7 +62,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -71,7 +71,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">T</span></tt></td>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>Type to retain</td>
@ -80,34 +80,34 @@
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.filter.expression_semantics"></a><h6>
<a name="id590421"></a>
<a name="id1148214"></a>
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
that are of type <tt class="computeroutput"><span class="identifier">T</span></tt>. Equivalent
to <tt class="computeroutput"><a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
that are of type <code class="computeroutput"><span class="identifier">T</span></code>. Equivalent
to <code class="computeroutput"><a href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span></code>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.filter.complexity"></a><h6>
<a name="id590677"></a>
<a name="id1148439"></a>
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.filter.header"></a><h6>
<a name="id590709"></a>
<a name="id1148446"></a>
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>filter_if</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="filter.html" title="filter">
@ -26,15 +26,16 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.filter_if"></a><a href="filter_if.html" title="filter_if">filter_if</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.filter_if.description"></a><h6>
<a name="id590837"></a>
<a name="id1148580"></a>
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a> given the sequence
and unary MPL Lambda Expression predicate type.
Returns the result type of <a href="../functions/filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a> given the sequence
and unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a> predicate type.
</p>
<a name="fusion.algorithms.transformation.metafunctions.filter_if.synopsis"></a><h6>
<a name="id590888"></a>
<a name="id1148633"></a>
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +49,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id591007"></a><p class="title"><b>Table<EFBFBD>1.73.<2E>Parameter</b></p>
<a name="id1148738"></a><p class="title"><b>Table<EFBFBD>1.73.<2E>Parameter</b></p>
<table class="table" summary="Parameter">
<colgroup>
<col>
@ -62,7 +63,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -71,42 +72,44 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">Pred</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Pred</span></code></td>
<td>A
unary MPL Lambda Expression</td>
unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</td>
<td>Type to retain</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.filter_if.expression_semantics"></a><h6>
<a name="id591103"></a>
<a name="id1148829"></a>
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
for which <tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates
to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
for which <code class="computeroutput"><span class="identifier">Pred</span></code> evaluates
to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.filter_if.complexity"></a><h6>
<a name="id591279"></a>
<a name="id1148984"></a>
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.filter_if.header"></a><h6>
<a name="id591311"></a>
<a name="id1148991"></a>
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>insert</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="erase_key.html" title="erase_key">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.insert"></a><a href="insert.html" title="insert">insert</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.insert.description"></a><h6>
<a name="id596887"></a>
<a name="id1171434"></a>
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a>, given the sequence,
Returns the result type of <a href="../functions/insert.html" title="insert"><code class="computeroutput"><span class="identifier">insert</span></code></a>, given the sequence,
position iterator and insertion types.
</p>
<a name="fusion.algorithms.transformation.metafunctions.insert.synopsis"></a><h6>
<a name="id596937"></a>
<a name="id1171478"></a>
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -49,7 +49,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id597073"></a><p class="title"><b>Table<EFBFBD>1.83.<2E>Parameters</b></p>
<a name="id1171597"></a><p class="title"><b>Table<EFBFBD>1.83.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -63,7 +63,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -72,7 +72,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">Position</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Position</span></code></td>
<td>A
model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -81,7 +81,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">T</span></tt></td>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>Operation's argument</td>
@ -90,33 +90,33 @@
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.insert.expression_semantics"></a><h6>
<a name="id597198"></a>
<a name="id1171709"></a>
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Position</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="insert.html" title="insert"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Position</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with an
element of type <tt class="computeroutput"><span class="identifier">T</span></tt> inserted
at position <tt class="computeroutput"><span class="identifier">Position</span></tt>
in <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with an
element of type <code class="computeroutput"><span class="identifier">T</span></code> inserted
at position <code class="computeroutput"><span class="identifier">Position</span></code>
in <code class="computeroutput"><span class="identifier">Sequence</span></code>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.insert.complexity"></a><h6>
<a name="id597365"></a>
<a name="id1171856"></a>
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.insert.header"></a><h6>
<a name="id597397"></a>
<a name="id1171863"></a>
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>insert_range</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="insert.html" title="insert">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.insert_range"></a><a href="insert_range.html" title="insert_range">insert_range</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.insert_range.description"></a><h6>
<a name="id597525"></a>
<a name="id1171998"></a>
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">insert_range</span></tt></a>, given the input
Returns the result type of <a href="../functions/insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">insert_range</span></code></a>, given the input
sequence, position iterator and insertion range types.
</p>
<a name="fusion.algorithms.transformation.metafunctions.insert_range.synopsis"></a><h6>
<a name="id597576"></a>
<a name="id1172044"></a>
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -49,7 +49,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id597712"></a><p class="title"><b>Table<EFBFBD>1.84.<2E>Parameters</b></p>
<a name="id1172164"></a><p class="title"><b>Table<EFBFBD>1.84.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -63,7 +63,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -72,7 +72,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">Position</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Position</span></code></td>
<td>A
model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -81,7 +81,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">Range</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Range</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -93,33 +93,33 @@
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.insert_range.expression_semantics"></a><h6>
<a name="id597847"></a>
<a name="id1172282"></a>
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Position</span><span class="special">,</span> <span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Position</span><span class="special">,</span> <span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
elements of <tt class="computeroutput"><span class="identifier">Range</span></tt> inserted
at position <tt class="computeroutput"><span class="identifier">Position</span></tt>
into <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
elements of <code class="computeroutput"><span class="identifier">Range</span></code> inserted
at position <code class="computeroutput"><span class="identifier">Position</span></code>
into <code class="computeroutput"><span class="identifier">Sequence</span></code>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.insert_range.complexity"></a><h6>
<a name="id598015"></a>
<a name="id1172431"></a>
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.insert_range.header"></a><h6>
<a name="id598047"></a>
<a name="id1172461"></a>
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>join</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="insert_range.html" title="insert_range">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.join"></a><a href="join.html" title="join">join</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.join.description"></a><h6>
<a name="id598176"></a>
<a name="id1172572"></a>
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.description">Description</a>
</h6>
<p>
Returns the result of joining 2 sequences, given the sequence types.
</p>
<a name="fusion.algorithms.transformation.metafunctions.join.synopsis"></a><h6>
<a name="id598208"></a>
<a name="id1172601"></a>
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,33 +47,33 @@
<span class="special">};</span>
</pre>
<a name="fusion.algorithms.transformation.metafunctions.join.expression_semantics"></a><h6>
<a name="id598337"></a>
<a name="id1172716"></a>
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="join.html" title="join"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></tt></a><span class="special">&lt;</span><span class="identifier">LhSequence</span><span class="special">,</span> <span class="identifier">RhSequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="join.html" title="join"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></code></a><span class="special">&lt;</span><span class="identifier">LhSequence</span><span class="special">,</span> <span class="identifier">RhSequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
the elements of <tt class="computeroutput"><span class="identifier">LhSequence</span></tt>
followed by the elements of <tt class="computeroutput"><span class="identifier">RhSequence</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
the elements of <code class="computeroutput"><span class="identifier">LhSequence</span></code>
followed by the elements of <code class="computeroutput"><span class="identifier">RhSequence</span></code>.
The order of the elements in the 2 sequences is preserved.
</p>
<a name="fusion.algorithms.transformation.metafunctions.join.complexity"></a><h6>
<a name="id598482"></a>
<a name="id1172844"></a>
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.join.header"></a><h6>
<a name="id598514"></a>
<a name="id1172872"></a>
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pop_back</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="zip.html" title="zip">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.pop_back"></a><a href="pop_back.html" title="pop_back">pop_back</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.pop_back.description"></a><h6>
<a name="id599291"></a>
<a name="id1173562"></a>
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">pop_back</span></tt></a>, given the input sequence
Returns the result type of <a href="../functions/pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">pop_back</span></code></a>, given the input sequence
type.
</p>
<a name="fusion.algorithms.transformation.metafunctions.pop_back.synopsis"></a><h6>
<a name="id377456"></a>
<a name="id1173608"></a>
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id377547"></a><p class="title"><b>Table<EFBFBD>1.85.<2E>Parameters</b></p>
<a name="id1173689"></a><p class="title"><b>Table<EFBFBD>1.85.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -60,7 +60,7 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -71,32 +71,32 @@
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.pop_back.expression_semantics"></a><h6>
<a name="id379440"></a>
<a name="id1173750"></a>
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with all
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with all
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
except the last element.
</p>
<a name="fusion.algorithms.transformation.metafunctions.pop_back.complexity"></a><h6>
<a name="id601047"></a>
<a name="id1173849"></a>
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.pop_back.header"></a><h6>
<a name="id601074"></a>
<a name="id1173856"></a>
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pop_front</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="pop_back.html" title="pop_back">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.pop_front"></a><a href="pop_front.html" title="pop_front">pop_front</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.pop_front.description"></a><h6>
<a name="id601188"></a>
<a name="id1173976"></a>
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">pop_front</span></tt></a>, given the input sequence
Returns the result type of <a href="../functions/pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">pop_front</span></code></a>, given the input sequence
type.
</p>
<a name="fusion.algorithms.transformation.metafunctions.pop_front.synopsis"></a><h6>
<a name="id601232"></a>
<a name="id1174017"></a>
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id601323"></a><p class="title"><b>Table<EFBFBD>1.86.<2E>Parameters</b></p>
<a name="id1174098"></a><p class="title"><b>Table<EFBFBD>1.86.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -60,7 +60,7 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -71,32 +71,32 @@
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.pop_front.expression_semantics"></a><h6>
<a name="id601393"></a>
<a name="id1174159"></a>
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with all
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with all
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
except the first element.
</p>
<a name="fusion.algorithms.transformation.metafunctions.pop_front.complexity"></a><h6>
<a name="id601504"></a>
<a name="id1174258"></a>
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.pop_front.header"></a><h6>
<a name="id601532"></a>
<a name="id1174265"></a>
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>push_back</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="pop_front.html" title="pop_front">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.push_back"></a><a href="push_back.html" title="push_back">push_back</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.push_back.description"></a><h6>
<a name="id601646"></a>
<a name="id1174385"></a>
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a>, given the types of
Returns the result type of <a href="../functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a>, given the types of
the input sequence and element to push.
</p>
<a name="fusion.algorithms.transformation.metafunctions.push_back.synopsis"></a><h6>
<a name="id601692"></a>
<a name="id1174426"></a>
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id601799"></a><p class="title"><b>Table<EFBFBD>1.87.<2E>Parameters</b></p>
<a name="id1174521"></a><p class="title"><b>Table<EFBFBD>1.87.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -62,7 +62,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -71,7 +71,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">T</span></tt></td>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>Operation's argument</td>
@ -80,33 +80,33 @@
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.push_back.expression_semantics"></a><h6>
<a name="id601888"></a>
<a name="id1174600"></a>
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
and an element of type <tt class="computeroutput"><span class="identifier">T</span></tt>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
and an element of type <code class="computeroutput"><span class="identifier">T</span></code>
added to the end.
</p>
<a name="fusion.algorithms.transformation.metafunctions.push_back.complexity"></a><h6>
<a name="id602018"></a>
<a name="id1174716"></a>
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.push_back.header"></a><h6>
<a name="id602046"></a>
<a name="id1174723"></a>
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>push_front</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="push_back.html" title="push_back">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.push_front"></a><a href="push_front.html" title="push_front">push_front</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.push_front.description"></a><h6>
<a name="id602161"></a>
<a name="id1174843"></a>
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">push_front</span></tt></a>, given the types
Returns the result type of <a href="../functions/push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">push_front</span></code></a>, given the types
of the input sequence and element to push.
</p>
<a name="fusion.algorithms.transformation.metafunctions.push_front.synopsis"></a><h6>
<a name="id602206"></a>
<a name="id1174884"></a>
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id602314"></a><p class="title"><b>Table<EFBFBD>1.88.<2E>Parameters</b></p>
<a name="id1174979"></a><p class="title"><b>Table<EFBFBD>1.88.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -62,7 +62,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -71,7 +71,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">T</span></tt></td>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>Operation's argument</td>
@ -80,33 +80,33 @@
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.push_front.expression_semantics"></a><h6>
<a name="id602403"></a>
<a name="id1175057"></a>
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
and an element of type <tt class="computeroutput"><span class="identifier">T</span></tt>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
and an element of type <code class="computeroutput"><span class="identifier">T</span></code>
added to the beginning.
</p>
<a name="fusion.algorithms.transformation.metafunctions.push_front.complexity"></a><h6>
<a name="id602533"></a>
<a name="id1175174"></a>
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.push_front.header"></a><h6>
<a name="id602561"></a>
<a name="id1175200"></a>
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>remove</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="replace_if.html" title="replace_if">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.remove"></a><a href="remove.html" title="remove">remove</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.remove.description"></a><h6>
<a name="id593258"></a>
<a name="id1150736"></a>
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/remove.html" title="remove"><tt class="computeroutput"><span class="identifier">remove</span></tt></a>, given the sequence and
Returns the result type of <a href="../functions/remove.html" title="remove"><code class="computeroutput"><span class="identifier">remove</span></code></a>, given the sequence and
removal types.
</p>
<a name="fusion.algorithms.transformation.metafunctions.remove.synopsis"></a><h6>
<a name="id593308"></a>
<a name="id1150779"></a>
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id593426"></a><p class="title"><b>Table<EFBFBD>1.77.<2E>Parameters</b></p>
<a name="id1150883"></a><p class="title"><b>Table<EFBFBD>1.77.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -62,7 +62,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -71,7 +71,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">T</span></tt></td>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>Remove elements of this type</td>
@ -80,34 +80,34 @@
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.remove.expression_semantics"></a><h6>
<a name="id593522"></a>
<a name="id1150968"></a>
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="remove.html" title="remove"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="remove.html" title="remove"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
not of type <tt class="computeroutput"><span class="identifier">T</span></tt>. Equivalent
to <tt class="computeroutput"><a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
not of type <code class="computeroutput"><span class="identifier">T</span></code>. Equivalent
to <code class="computeroutput"><a href="replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span></code>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.remove.complexity"></a><h6>
<a name="id593777"></a>
<a name="id1151193"></a>
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.remove.header"></a><h6>
<a name="id593809"></a>
<a name="id1151200"></a>
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>remove_if</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="remove.html" title="remove">
@ -26,15 +26,16 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.remove_if"></a><a href="remove_if.html" title="remove_if">remove_if</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.remove_if.description"></a><h6>
<a name="id593937"></a>
<a name="id1151334"></a>
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></a>, given the input sequence
and unary MPL Lambda Expression predicate types.
Returns the result type of <a href="../functions/remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></a>, given the input sequence
and unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a> predicate types.
</p>
<a name="fusion.algorithms.transformation.metafunctions.remove_if.synopsis"></a><h6>
<a name="id593988"></a>
<a name="id1151388"></a>
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +49,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id594107"></a><p class="title"><b>Table<EFBFBD>1.78.<2E>Parameters</b></p>
<a name="id1151493"></a><p class="title"><b>Table<EFBFBD>1.78.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -62,7 +63,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -71,44 +72,46 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">Pred</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Pred</span></code></td>
<td>A
model of unary MPL Lambda Expression</td>
<td>Remove elements
which evaluate to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>
model of unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</td>
<td>Remove elements which evaluate
to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.remove_if.expression_semantics"></a><h6>
<a name="id594231"></a>
<a name="id1151609"></a>
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
for which <tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates
to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
for which <code class="computeroutput"><span class="identifier">Pred</span></code> evaluates
to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.remove_if.complexity"></a><h6>
<a name="id594407"></a>
<a name="id1151764"></a>
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.remove_if.header"></a><h6>
<a name="id594439"></a>
<a name="id1151772"></a>
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>replace</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="transform.html" title="transform">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.replace"></a><a href="replace.html" title="replace">replace</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.replace.description"></a><h6>
<a name="id592066"></a>
<a name="id1149681"></a>
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a>, given the types of
Returns the result type of <a href="../functions/replace.html" title="replace"><code class="computeroutput"><span class="identifier">replace</span></code></a>, given the types of
the input sequence and element to replace.
</p>
<a name="fusion.algorithms.transformation.metafunctions.replace.synopsis"></a><h6>
<a name="id592117"></a>
<a name="id1149724"></a>
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id592235"></a><p class="title"><b>Table<EFBFBD>1.75.<2E>Parameters</b></p>
<a name="id1149828"></a><p class="title"><b>Table<EFBFBD>1.75.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -62,7 +62,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -71,7 +71,7 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">T</span></tt></td>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>The type of the search and replacement objects</td>
@ -80,31 +80,31 @@
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.replace.expression_semantics"></a><h6>
<a name="id592331"></a>
<a name="id1149914"></a>
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="replace.html" title="replace"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="replace.html" title="replace"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a>.
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
<a href="../functions/replace.html" title="replace"><code class="computeroutput"><span class="identifier">replace</span></code></a>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.replace.complexity"></a><h6>
<a name="id592470"></a>
<a name="id1150038"></a>
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.replace.header"></a><h6>
<a name="id592502"></a>
<a name="id1150045"></a>
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>replace_if</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="replace.html" title="replace">
@ -26,17 +26,17 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.replace_if"></a><a href="replace_if.html" title="replace_if">replace_if</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.replace_if.description"></a><h6>
<a name="id592630"></a>
<a name="id1150179"></a>
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a>, given the types
of the sequence, <a href="../../concepts/poly.html" title=" Polymorphic Function
Returns the result type of <a href="../functions/replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">replace_if</span></code></a>, given the types
of the sequence, <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> predicate and replacement object.
</p>
<a name="fusion.algorithms.transformation.metafunctions.replace_if.synopsis"></a><h6>
<a name="id592690"></a>
<a name="id1150232"></a>
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -50,7 +50,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id592825"></a><p class="title"><b>Table<EFBFBD>1.76.<2E>Parameters</b></p>
<a name="id1150351"></a><p class="title"><b>Table<EFBFBD>1.76.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -64,7 +64,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -73,16 +73,16 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">F</span></tt></td>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>A
model of unary <a href="../../concepts/poly.html" title=" Polymorphic Function
model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>Replacement predicate</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">T</span></tt></td>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>The type of the replacement object</td>
@ -91,31 +91,31 @@
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.replace_if.expression_semantics"></a><h6>
<a name="id592948"></a>
<a name="id1150460"></a>
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a>.
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
<a href="../functions/replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">replace_if</span></code></a>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.replace_if.complexity"></a><h6>
<a name="id593098"></a>
<a name="id1150592"></a>
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.replace_if.header"></a><h6>
<a name="id593130"></a>
<a name="id1150622"></a>
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>reverse</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="remove_if.html" title="remove_if">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.reverse"></a><a href="reverse.html" title="reverse">reverse</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.reverse.description"></a><h6>
<a name="id594567"></a>
<a name="id1151906"></a>
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">reverse</span></tt></a>, given the input sequence
Returns the result type of <a href="../functions/reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">reverse</span></code></a>, given the input sequence
type.
</p>
<a name="fusion.algorithms.transformation.metafunctions.reverse.synopsis"></a><h6>
<a name="id594616"></a>
<a name="id1151949"></a>
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id594717"></a><p class="title"><b>Table<EFBFBD>1.79.<2E>Parameters</b></p>
<a name="id1152038"></a><p class="title"><b>Table<EFBFBD>1.79.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -60,7 +60,7 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
@ -71,31 +71,31 @@
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.reverse.expression_semantics"></a><h6>
<a name="id594793"></a>
<a name="id1152106"></a>
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
elements in the reverse order to <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
elements in the reverse order to <code class="computeroutput"><span class="identifier">Sequence</span></code>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.reverse.complexity"></a><h6>
<a name="id594916"></a>
<a name="id1152216"></a>
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.reverse.header"></a><h6>
<a name="id594948"></a>
<a name="id1152224"></a>
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>transform</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="filter_if.html" title="filter_if">
@ -26,17 +26,17 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.transform"></a><a href="transform.html" title="transform">transform</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.transform.description"></a><h6>
<a name="id591439"></a>
<a name="id1149125"></a>
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.description">Description</a>
</h6>
<p>
Returns the result of type <a href="../functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a>, given the sequence
and <a href="../../concepts/poly.html" title=" Polymorphic Function
Returns the result of type <a href="../functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a>, given the sequence
and <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a> types.
</p>
<a name="fusion.algorithms.transformation.metafunctions.transform.synopsis"></a><h6>
<a name="id591499"></a>
<a name="id1149179"></a>
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -50,7 +50,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id591618"></a><p class="title"><b>Table<EFBFBD>1.74.<2E>Parameters</b></p>
<a name="id1149284"></a><p class="title"><b>Table<EFBFBD>1.74.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -64,7 +64,7 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">Sequence</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
@ -72,9 +72,9 @@
<td>Operation's argument</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">F</span></tt></td>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>A
model of unary <a href="../../concepts/poly.html" title=" Polymorphic Function
model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
@ -84,31 +84,31 @@
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.transform.expression_semantics"></a><h6>
<a name="id591722"></a>
<a name="id1149376"></a>
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="transform.html" title="transform"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with values
<tt class="computeroutput"><span class="identifier">F</span><span class="special">::</span><span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">E</span><span class="special">&gt;::</span><span class="identifier">type</span></tt> for each element type <tt class="computeroutput"><span class="identifier">E</span></tt> in <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with values
<code class="computeroutput"><span class="identifier">F</span><span class="special">::</span><span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">E</span><span class="special">&gt;::</span><span class="identifier">type</span></code> for each element type <code class="computeroutput"><span class="identifier">E</span></code> in <code class="computeroutput"><span class="identifier">Sequence</span></code>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.transform.complexity"></a><h6>
<a name="id591907"></a>
<a name="id1149539"></a>
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.transform.header"></a><h6>
<a name="id591939"></a>
<a name="id1149546"></a>
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>zip</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="join.html" title="join">
@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.zip"></a><a href="zip.html" title="zip">zip</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.zip.description"></a><h6>
<a name="id598640"></a>
<a name="id1172983"></a>
<a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
of the members of the component sequences.
</p>
<a name="fusion.algorithms.transformation.metafunctions.zip.synopsis"></a><h6>
<a name="id598674"></a>
<a name="id1173013"></a>
<a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -50,37 +50,37 @@
<span class="special">};</span>
</pre>
<a name="fusion.algorithms.transformation.metafunctions.zip.expression_semantics"></a><h6>
<a name="id598826"></a>
<a name="id1173148"></a>
<a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="zip.html" title="zip"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">zip</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence1</span><span class="special">,</span> <span class="identifier">Sequence2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="zip.html" title="zip"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">zip</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence1</span><span class="special">,</span> <span class="identifier">Sequence2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of the most restrictive
traversal category of sequences <tt class="computeroutput"><span class="identifier">Sequence1</span></tt>
to <tt class="computeroutput"><span class="identifier">SequenceN</span></tt>.
<span class="bold"><strong>Return type</strong></span>: A model of the most restrictive
traversal category of sequences <code class="computeroutput"><span class="identifier">Sequence1</span></code>
to <code class="computeroutput"><span class="identifier">SequenceN</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Return a sequence containing
<span class="bold"><strong>Semantics</strong></span>: Return a sequence containing
tuples of elements from each sequence. For example, applying zip to tuples
<tt class="computeroutput"><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span>
<span class="number">3</span><span class="special">)</span></tt>
and <tt class="computeroutput"><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span>
<span class="char">'c'</span><span class="special">)</span></tt>
would return <tt class="computeroutput"><span class="special">((</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">),(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">),(</span><span class="number">3</span><span class="special">,</span>
<span class="char">'c'</span><span class="special">))</span></tt>
<code class="computeroutput"><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span>
<span class="number">3</span><span class="special">)</span></code>
and <code class="computeroutput"><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span>
<span class="char">'c'</span><span class="special">)</span></code>
would return <code class="computeroutput"><span class="special">((</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">),(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">),(</span><span class="number">3</span><span class="special">,</span>
<span class="char">'c'</span><span class="special">))</span></code>
</p>
<a name="fusion.algorithms.transformation.metafunctions.zip.complexity"></a><h6>
<a name="id599133"></a>
<a name="id1173420"></a>
<a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.zip.header"></a><h6>
<a name="id599165"></a>
<a name="id1173448"></a>
<a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Change log</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="prev" href="notes.html" title="Notes">
@ -30,11 +30,11 @@
</p>
<div class="itemizedlist"><ul type="disc">
<li>
Sep 27, 2006: Added <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></tt>
Sep 27, 2006: Added <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></code>
support.
</li>
<li>
Nov 17, 2006: Added <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span></tt>
Nov 17, 2006: Added <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span></code>
support.
</li>
</ul></div>

View File

@ -3,11 +3,11 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Extension</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="prev" href="tuples/pairs.html" title="Pairs">
<link rel="next" href="notes.html" title="Notes">
<link rel="next" href="functional.html" title="Functional">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
@ -20,15 +20,15 @@
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="tuples/pairs.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="notes.html"><img src="../images/next.png" alt="Next"></a>
<a accesskey="p" href="tuples/pairs.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="functional.html"><img src="../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="fusion.extension"></a><a href="extension.html" title="Extension">Extension</a></h2></div></div></div>
<p>
The Fusion library is designed to be extensible, new sequences types can easily
be added. In fact, the library support for <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt>,
<tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></tt> and <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
be added. In fact, the library support for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>,
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code> and <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequences is entirely provided using the extension mechanism.
</p>
<p>
@ -48,7 +48,7 @@
</li>
</ol></div>
<a name="fusion.extension.our_example"></a><h3>
<a name="id609634"></a>
<a name="id1181263"></a>
<a href="extension.html#fusion.extension.our_example">Our example</a>
</h3>
<p>
@ -73,14 +73,14 @@
<p>
We are going to pretend that this type has been provided by a 3rd party library,
and therefore cannot be modified. We shall work through all the necessary steps
to enable <tt class="computeroutput"><span class="identifier">example_struct</span></tt> to
to enable <code class="computeroutput"><span class="identifier">example_struct</span></code> to
serve as an <a href="sequences/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a> as described in the <a href="quick_start.html" title="Quick Start">Quick
Start</a> guide.
</p>
<a name="fusion.extension.enabling_tag_dispatching"></a><h3>
<a name="id609916"></a>
<a name="id1181516"></a>
<a href="extension.html#fusion.extension.enabling_tag_dispatching">Enabling Tag Dispatching</a>
</h3>
<p>
@ -95,9 +95,9 @@
</span><span class="special">}</span>
</pre>
<p>
Next we need to enable the <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></tt>
Next we need to enable the <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></code>
metafunction to return our newly chosen tag type for operations involving our
sequence. This is done by specializing <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></tt>
sequence. This is done by specializing <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></code>
for our sequence type.
</p>
<pre class="programlisting">
@ -112,8 +112,8 @@
<span class="special">}}}</span>
</pre>
<p>
<tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></tt> also has a second template argument,
that can be used in conjuction with <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></tt>
<code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></code> also has a second template argument,
that can be used in conjuction with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></code>
to provide tag support for groups of related types. This feature is not necessary
for our sequence, but for an example see the code in:
</p>
@ -121,7 +121,7 @@
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">tag_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.extension.designing_a_suitable_iterator"></a><h3>
<a name="id610409"></a>
<a name="id1181956"></a>
<a href="extension.html#fusion.extension.designing_a_suitable_iterator">Designing a
suitable iterator</a>
</h3>
@ -131,9 +131,9 @@
access iterator in our example.
</p>
<p>
We will use a simple design, in which the 2 members of <tt class="computeroutput"><span class="identifier">example_struct</span></tt>
are given numbered indices, 0 for <tt class="computeroutput"><span class="identifier">name</span></tt>
and 1 for <tt class="computeroutput"><span class="identifier">age</span></tt> respectively.
We will use a simple design, in which the 2 members of <code class="computeroutput"><span class="identifier">example_struct</span></code>
are given numbered indices, 0 for <code class="computeroutput"><span class="identifier">name</span></code>
and 1 for <code class="computeroutput"><span class="identifier">age</span></code> respectively.
</p>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">Pos</span><span class="special">&gt;</span>
@ -160,37 +160,37 @@
of the current element.
</li>
<li>
The typedefs <tt class="computeroutput"><span class="identifier">struct_type</span></tt>
and <tt class="computeroutput"><span class="identifier">index</span></tt> provide convenient
The typedefs <code class="computeroutput"><span class="identifier">struct_type</span></code>
and <code class="computeroutput"><span class="identifier">index</span></code> provide convenient
access to information we will need later in the implementation.
</li>
<li>
The typedef <tt class="computeroutput"><span class="identifier">category</span></tt> allows
the <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><a href="support/category_of.html" title="category_of"><tt class="computeroutput"><span class="identifier">category_of</span></tt></a></tt>
The typedef <code class="computeroutput"><span class="identifier">category</span></code> allows
the <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><a href="support/category_of.html" title="category_of"><code class="computeroutput"><span class="identifier">category_of</span></code></a></code>
metafunction to establish the traversal category of the iterator.
</li>
<li>
The constructor stores a reference to the <tt class="computeroutput"><span class="identifier">example_struct</span></tt>
The constructor stores a reference to the <code class="computeroutput"><span class="identifier">example_struct</span></code>
being iterated over.
</li>
</ol></div>
<p>
We also need to enable <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag
dispatching</em></span></a> for our iterator type, with another specialization
of <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></tt>.
of <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></code>.
</p>
<p>
In isolation, the iterator implementation is pretty dry. Things should become
clearer as we add features to our implementation.
</p>
<a name="fusion.extension.a_first_couple_of_instructive_features"></a><h3>
<a name="id611044"></a>
<a name="id1182523"></a>
<a href="extension.html#fusion.extension.a_first_couple_of_instructive_features">A first
couple of instructive features</a>
</h3>
<p>
To start with, we will get the <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></tt></a> metafunction working. To
do this, we provide a specialization of the <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">extension</span><span class="special">::</span><span class="identifier">value_of_impl</span></tt>
To start with, we will get the <a href="iterators/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a> metafunction working. To
do this, we provide a specialization of the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">extension</span><span class="special">::</span><span class="identifier">value_of_impl</span></code>
template for our iterator's tag type.
</p>
<pre class="programlisting">
@ -215,29 +215,30 @@
</pre>
<p>
The implementation itself is pretty simple, it just uses 2 partial specializations
to provide the type of the 2 different members of <tt class="computeroutput"><span class="identifier">example_struct</span></tt>,
to provide the type of the 2 different members of <code class="computeroutput"><span class="identifier">example_struct</span></code>,
based on the index of the iterator.
</p>
<p>
To understand how <tt class="computeroutput"><span class="identifier">value_of_impl</span></tt>
is used by the library we will look at the implementation of <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a>:
To understand how <code class="computeroutput"><span class="identifier">value_of_impl</span></code>
is used by the library we will look at the implementation of <a href="iterators/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">value_of</span></code></a>:
</p>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a>
<span class="keyword">struct</span> <a href="iterators/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">value_of</span></code></a>
<span class="special">:</span> <span class="identifier">extension</span><span class="special">::</span><span class="identifier">value_of_impl</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span>
<span class="keyword">template</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="special">{};</span>
</pre>
<p>
So <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a>
So <a href="iterators/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">value_of</span></code></a>
uses <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag dispatching</em></span></a>
to select an MPL Metafunction Class to provide its functionality. You will
notice this pattern throughout the implementation of Fusion.
to select an <a href="http://www.boost.org/libs/mpl/doc/refmanual/metafunction-class.html" target="_top">MPL
Metafunction Class</a> to provide its functionality. You will notice this
pattern throughout the implementation of Fusion.
</p>
<p>
Ok, lets enable dereferencing of our iterator. In this case we must provide
a suitable specialization of <tt class="computeroutput"><span class="identifier">deref_impl</span></tt>.
a suitable specialization of <code class="computeroutput"><span class="identifier">deref_impl</span></code>.
</p>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;&gt;</span>
@ -275,17 +276,17 @@
<span class="special">}</span>
</pre>
<p>
The use of <tt class="computeroutput"><span class="identifier">deref_impl</span></tt> is very
similar to that of <tt class="computeroutput"><span class="identifier">value_of_impl</span></tt>,
but it also provides some runtime functionality this time via the <tt class="computeroutput"><span class="identifier">call</span></tt> static member function. To see how
<tt class="computeroutput"><span class="identifier">deref_impl</span></tt> is used, lets have
a look at the implementation of <a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a>:
The use of <code class="computeroutput"><span class="identifier">deref_impl</span></code> is very
similar to that of <code class="computeroutput"><span class="identifier">value_of_impl</span></code>,
but it also provides some runtime functionality this time via the <code class="computeroutput"><span class="identifier">call</span></code> static member function. To see how
<code class="computeroutput"><span class="identifier">deref_impl</span></code> is used, lets have
a look at the implementation of <a href="iterators/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a>:
</p>
<pre class="programlisting">
<span class="keyword">namespace</span> <span class="identifier">result_of</span>
<span class="special">{</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a>
<span class="keyword">struct</span> <a href="iterators/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a>
<span class="special">:</span> <span class="identifier">extension</span><span class="special">::</span><span class="identifier">deref_impl</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span>
<span class="keyword">template</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="special">{};</span>
@ -293,24 +294,24 @@
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><span class="identifier">Iterator</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">)</span>
<a href="iterators/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><span class="identifier">Iterator</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;</span> <span class="identifier">deref_meta</span><span class="special">;</span>
<span class="keyword">return</span> <span class="identifier">deref_meta</span><span class="special">::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
<span class="special">}</span>
</pre>
<p>
So again <a href="iterators/metafunctions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></tt></a> uses <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag
dispatching</em></span></a> in exactly the same way as the <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a> implementation. The runtime
functionality used by <a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a> is provided by the <tt class="computeroutput"><span class="identifier">call</span></tt> static function of the selected MPL
Metafunction Class.
So again <a href="iterators/metafunctions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a> uses <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag
dispatching</em></span></a> in exactly the same way as the <a href="iterators/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">value_of</span></code></a> implementation. The runtime
functionality used by <a href="iterators/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a> is provided by the <code class="computeroutput"><span class="identifier">call</span></code> static function of the selected <a href="http://www.boost.org/libs/mpl/doc/refmanual/metafunction-class.html" target="_top">MPL
Metafunction Class</a>.
</p>
<p>
The actual implementation of <tt class="computeroutput"><span class="identifier">deref_impl</span></tt>
is slightly more complex than that of <tt class="computeroutput"><span class="identifier">value_of_impl</span></tt>.
We also need to implement the <tt class="computeroutput"><span class="identifier">call</span></tt>
The actual implementation of <code class="computeroutput"><span class="identifier">deref_impl</span></code>
is slightly more complex than that of <code class="computeroutput"><span class="identifier">value_of_impl</span></code>.
We also need to implement the <code class="computeroutput"><span class="identifier">call</span></code>
function, which returns a reference to the appropriate member of the underlying
sequence. We also require a little bit of metaprogramming to return <tt class="computeroutput"><span class="keyword">const</span></tt> references if the underlying sequence
sequence. We also require a little bit of metaprogramming to return <code class="computeroutput"><span class="keyword">const</span></code> references if the underlying sequence
is const.
</p>
<div class="note"><table border="0" summary="Note">
@ -318,23 +319,23 @@
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td colspan="2" align="left" valign="top"><p>
<tr><td align="left" valign="top"><p>
Although there is a fair amount of left to do to produce a fully fledged
Fusion sequence, <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a> and <a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a> illustrate all the signficant
Fusion sequence, <a href="iterators/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">value_of</span></code></a> and <a href="iterators/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a> illustrate all the signficant
concepts required. The remainder of the process is very repetitive, simply
requiring implementation of a suitable <tt class="computeroutput"><span class="identifier">xxxx_impl</span></tt>
for each feature <tt class="computeroutput"><span class="identifier">xxxx</span></tt>.
requiring implementation of a suitable <code class="computeroutput"><span class="identifier">xxxx_impl</span></code>
for each feature <code class="computeroutput"><span class="identifier">xxxx</span></code>.
</p></td></tr>
</table></div>
<a name="fusion.extension.implementing_the_remaining_iterator_functionality"></a><h3>
<a name="id613285"></a>
<a name="id1184528"></a>
<a href="extension.html#fusion.extension.implementing_the_remaining_iterator_functionality">Implementing
the remaining iterator functionality</a>
</h3>
<p>
Ok, now we have seen the way <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a> and <a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a> work, everything else will work
Ok, now we have seen the way <a href="iterators/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">value_of</span></code></a> and <a href="iterators/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a> work, everything else will work
in pretty much the same way. Lets start with forward iteration, by providing
a <tt class="computeroutput"><span class="identifier">next_impl</span></tt>:
a <code class="computeroutput"><span class="identifier">next_impl</span></code>:
</p>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;&gt;</span>
@ -356,40 +357,40 @@
<span class="special">};</span>
</pre>
<p>
This should be very familiar from our <tt class="computeroutput"><span class="identifier">deref_impl</span></tt>
This should be very familiar from our <code class="computeroutput"><span class="identifier">deref_impl</span></code>
implementation, we will be using this approach again and again now. Our design
is simply to increment the <tt class="computeroutput"><span class="identifier">index</span></tt>
is simply to increment the <code class="computeroutput"><span class="identifier">index</span></code>
counter to move on to the next element. The various other iterator manipulations
we need to perform will all just involve simple calculations with the <tt class="computeroutput"><span class="identifier">index</span></tt> variables.
we need to perform will all just involve simple calculations with the <code class="computeroutput"><span class="identifier">index</span></code> variables.
</p>
<p>
We also need to provide a suitable <tt class="computeroutput"><span class="identifier">equal_to_impl</span></tt>
We also need to provide a suitable <code class="computeroutput"><span class="identifier">equal_to_impl</span></code>
so that iterators can be correctly compared. A <a href="iterators/concepts/bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a> will also need an implementation of <tt class="computeroutput"><span class="identifier">prior_impl</span></tt>.
Iterator</a> will also need an implementation of <code class="computeroutput"><span class="identifier">prior_impl</span></code>.
For a <a href="iterators/concepts/random_access_iterator.html" title="Random
Access Iterator">Random
Access Iterator</a> <tt class="computeroutput"><span class="identifier">distance_impl</span></tt>
and <tt class="computeroutput"><span class="identifier">advance_impl</span></tt> also need
Access Iterator</a> <code class="computeroutput"><span class="identifier">distance_impl</span></code>
and <code class="computeroutput"><span class="identifier">advance_impl</span></code> also need
to be provided in order to satisfy the necessary complexity guarantees. As
our iterator is a <a href="iterators/concepts/random_access_iterator.html" title="Random
Access Iterator">Random
Access Iterator</a> we will have to implement all of these functions.
</p>
<p>
Full implementations of <tt class="computeroutput"><span class="identifier">prior_impl</span></tt>,
<tt class="computeroutput"><span class="identifier">advance_impl</span></tt>, <tt class="computeroutput"><span class="identifier">distance_impl</span></tt> and <tt class="computeroutput"><span class="identifier">equal_to_impl</span></tt>
Full implementations of <code class="computeroutput"><span class="identifier">prior_impl</span></code>,
<code class="computeroutput"><span class="identifier">advance_impl</span></code>, <code class="computeroutput"><span class="identifier">distance_impl</span></code> and <code class="computeroutput"><span class="identifier">equal_to_impl</span></code>
are provided in the example code.
</p>
<a name="fusion.extension.implementing_the_intrinsic_functions_of_the_sequence"></a><h3>
<a name="id613911"></a>
<a name="id1185084"></a>
<a href="extension.html#fusion.extension.implementing_the_intrinsic_functions_of_the_sequence">Implementing
the intrinsic functions of the sequence</a>
</h3>
<p>
In order that Fusion can correctly identify our sequence as a Fusion sequence,
we need to enable <tt class="computeroutput"><span class="identifier">is_sequence</span></tt>
for our sequence type. As usual we just create an <tt class="computeroutput"><span class="identifier">impl</span></tt>
we need to enable <code class="computeroutput"><span class="identifier">is_sequence</span></code>
for our sequence type. As usual we just create an <code class="computeroutput"><span class="identifier">impl</span></code>
type specialized for our sequence tag:
</p>
<pre class="programlisting">
@ -401,14 +402,14 @@
<span class="special">};</span>
</pre>
<p>
We've some similar formalities to complete, providing <tt class="computeroutput"><span class="identifier">category_of_impl</span></tt>
so Fusion can correctly identify our sequence type, and <tt class="computeroutput"><span class="identifier">is_view_impl</span></tt>
We've some similar formalities to complete, providing <code class="computeroutput"><span class="identifier">category_of_impl</span></code>
so Fusion can correctly identify our sequence type, and <code class="computeroutput"><span class="identifier">is_view_impl</span></code>
so Fusion can correctly identify our sequence as not being a <a href="sequences/views.html" title="Views">View</a>
type. Implementations are provide in the example code.
</p>
<p>
Now we've completed some formalities, on to more interesting features. Lets
get <a href="sequences/intrinsics/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a> working so that we can get an
get <a href="sequences/intrinsics/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a> working so that we can get an
iterator to start accessing the data in our sequence.
</p>
<pre class="programlisting">
@ -431,32 +432,32 @@
<p>
The implementation uses the same ideas we have applied throughout, in this
case we are just creating one of the iterators we developed earlier, pointing
to the first element in the sequence. The implementation of <a href="sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a> is very similar, and is provided
to the first element in the sequence. The implementation of <a href="sequences/intrinsics/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a> is very similar, and is provided
in the example code.
</p>
<p>
For our <a href="sequences/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a> we will also need to implement <tt class="computeroutput"><span class="identifier">size_impl</span></tt>,
<tt class="computeroutput"><span class="identifier">value_at_impl</span></tt> and <tt class="computeroutput"><span class="identifier">at_impl</span></tt>.
Access Sequence</a> we will also need to implement <code class="computeroutput"><span class="identifier">size_impl</span></code>,
<code class="computeroutput"><span class="identifier">value_at_impl</span></code> and <code class="computeroutput"><span class="identifier">at_impl</span></code>.
</p>
<a name="fusion.extension.enabling_our_type_as_an_associative_container"></a><h3>
<a name="id614499"></a>
<a name="id1185603"></a>
<a href="extension.html#fusion.extension.enabling_our_type_as_an_associative_container">Enabling
our type as an associative container</a>
</h3>
<p>
In order for <tt class="computeroutput"><span class="identifier">example_struct</span></tt>
In order for <code class="computeroutput"><span class="identifier">example_struct</span></code>
to serve as an associative container, we need to enable 3 lookup features,
<a href="sequences/intrinsics/functions/at_key.html" title="at_key"><tt class="computeroutput"><span class="identifier">at_key</span></tt></a>, <a href="sequences/intrinsics/metafunctions/value_at_key.html" title="value_at_key"><tt class="computeroutput"><span class="identifier">value_at_key</span></tt></a> and <a href="sequences/intrinsics/functions/has_key.html" title="has_key"><tt class="computeroutput"><span class="identifier">has_key</span></tt></a>. We also need to provide an
implementation of the <tt class="computeroutput"><span class="identifier">is_associative</span></tt>
<a href="sequences/intrinsics/functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a>, <a href="sequences/intrinsics/metafunctions/value_at_key.html" title="value_at_key"><code class="computeroutput"><span class="identifier">value_at_key</span></code></a> and <a href="sequences/intrinsics/functions/has_key.html" title="has_key"><code class="computeroutput"><span class="identifier">has_key</span></code></a>. We also need to provide an
implementation of the <code class="computeroutput"><span class="identifier">is_associative</span></code>
trait so that our sequence can be correctly identified as an associative container.
</p>
<p>
To implement <tt class="computeroutput"><span class="identifier">at_key_impl</span></tt> we
need to associate the <tt class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></tt> and
<tt class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></tt> types described in the <a href="quick_start.html" title="Quick Start">Quick
Start</a> guide with the appropriate members of <tt class="computeroutput"><span class="identifier">example_struct</span></tt>.
To implement <code class="computeroutput"><span class="identifier">at_key_impl</span></code> we
need to associate the <code class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></code> and
<code class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></code> types described in the <a href="quick_start.html" title="Quick Start">Quick
Start</a> guide with the appropriate members of <code class="computeroutput"><span class="identifier">example_struct</span></code>.
Our implementation is as follows:
</p>
<pre class="programlisting">
@ -499,15 +500,15 @@
</pre>
<p>
Its all very similar to the implementations we've seen previously, such as
<tt class="computeroutput"><span class="identifier">deref_impl</span></tt> and <tt class="computeroutput"><span class="identifier">value_of_impl</span></tt>. Instead of identifying the
members by index or position, we are now selecting them using the types <tt class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">name</span></tt> and <tt class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></tt>. The
implementations of <tt class="computeroutput"><span class="identifier">value_at_key_impl</span></tt>
and <tt class="computeroutput"><span class="identifier">has_key_impl</span></tt> are equally
<code class="computeroutput"><span class="identifier">deref_impl</span></code> and <code class="computeroutput"><span class="identifier">value_of_impl</span></code>. Instead of identifying the
members by index or position, we are now selecting them using the types <code class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">name</span></code> and <code class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></code>. The
implementations of <code class="computeroutput"><span class="identifier">value_at_key_impl</span></code>
and <code class="computeroutput"><span class="identifier">has_key_impl</span></code> are equally
straightforward, and are provided in the example code, along with an implementation
of <tt class="computeroutput"><span class="identifier">is_associative_impl</span></tt>.
of <code class="computeroutput"><span class="identifier">is_associative_impl</span></code>.
</p>
<a name="fusion.extension.summary"></a><h3>
<a name="id615481"></a>
<a name="id1186467"></a>
<a href="extension.html#fusion.extension.summary">Summary</a>
</h3>
<p>
@ -517,8 +518,8 @@
pattern.
</p>
<p>
The support for <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt>, <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequences, and <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></tt> all use the same approach, and provide
The support for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>, <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequences, and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code> all use the same approach, and provide
additional examples of the approach for a variety of types.
</p>
</div>
@ -528,7 +529,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="tuples/pairs.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="notes.html"><img src="../images/next.png" alt="Next"></a>
<a accesskey="p" href="tuples/pairs.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="functional.html"><img src="../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,50 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Adapters</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functional.html" title="Functional">
<link rel="prev" href="invocation/metafunctions/invoke_function_object.html" title="invoke_function_object">
<link rel="next" href="adapters/fused.html" title="fused">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="invocation/metafunctions/invoke_function_object.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="adapters/fused.html"><img src="../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.functional.adapters"></a><a href="adapters.html" title=" Adapters"> Adapters</a></h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="adapters/fused.html">fused</a></span></dt>
<dt><span class="section"><a href="adapters/fused_procedure.html">fused_procedure</a></span></dt>
<dt><span class="section"><a href="adapters/fused_function_object.html">fused_function_object</a></span></dt>
<dt><span class="section"><a href="adapters/unfused_generic.html">unfused_generic</a></span></dt>
<dt><span class="section"><a href="adapters/unfused_lvalue_args.html">unfused_lvalue_args</a></span></dt>
<dt><span class="section"><a href="adapters/unfused_rvalue_args.html">unfused_rvalue_args</a></span></dt>
<dt><span class="section"><a href="adapters/unfused_typed.html">unfused_typed</a></span></dt>
</dl></div>
<p>
Function object templates to transform a particular target function.
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="invocation/metafunctions/invoke_function_object.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="adapters/fused.html"><img src="../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,203 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>fused</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapters.html" title=" Adapters">
<link rel="prev" href="../adapters.html" title=" Adapters">
<link rel="next" href="fused_procedure.html" title="fused_procedure">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../adapters.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="fused_procedure.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.adapters.fused"></a><a href="fused.html" title="fused">fused</a></h4></div></div></div>
<a name="fusion.functional.adapters.fused.description"></a><h5>
<a name="id1209486"></a>
<a href="fused.html#fusion.functional.adapters.fused.description">Description</a>
</h5>
<p>
An unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a> adapter template for <a href="../concepts/def_callable.html" title=" Deferred
Callable Object">Deferred
Callable Object</a> target functions. It takes a <a href="../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a> that contains the arguments for the target function.
</p>
<p>
The nested <code class="computeroutput"><span class="identifier">result</span></code> metafunction
does not define a <code class="computeroutput"><span class="identifier">type</span></code>
member for target functions of non-class type whose arity is not satisfied
by the size of the sequence.
</p>
<p>
The type of the target function is allowed to be const qualified or a reference.
Const qualification is preserved and propagated appropriately (in other
words, only const versions of <code class="literal">operator()</code> can be used
for an target function object that is const or, if the target function
object is held by value, the adapter is const - these semantics have nothing
to do with the const qualification of a member function, which is referring
to the type of object pointed to by <code class="literal">this</code>, which is specified
with the first element in the sequence passed to the adapter).
</p>
<p>
If the target function is a pointer to a class members, the corresponding
object can be specified as a reference, pointer, or smart pointer. In case
of the latter, a freestanding <code class="literal">get_pointer</code> function must
be defined (Boost provides this function for <code class="literal">std::auto_ptr</code>
and <a href="http://www.boost.org/libs/smart_ptr/smart_ptr.hpp" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code></a>).
</p>
<a name="fusion.functional.adapters.fused.header"></a><h5>
<a name="id1209629"></a>
<a href="fused.html#fusion.functional.adapters.fused.header">Header</a>
</h5>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">fused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.adapters.fused.synopsis"></a><h5>
<a name="id1209720"></a>
<a href="fused.html#fusion.functional.adapters.fused.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">fused</span><span class="special">;</span>
</pre>
<a name="fusion.functional.adapters.fused.template_parameters"></a><h5>
<a name="id1209789"></a>
<a href="fused.html#fusion.functional.adapters.fused.template_parameters">Template
parameters</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">Function</span></code></td>
<td>A
<a href="../concepts/def_callable.html" title=" Deferred
Callable Object">Deferred
Callable Object</a>
</td>
<td><EFBFBD></td>
</tr></tbody>
</table></div>
<a name="fusion.functional.adapters.fused.model_of"></a><h5>
<a name="id1209865"></a>
<a href="fused.html#fusion.functional.adapters.fused.model_of">Model of</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li><a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a></li>
<li><a href="../concepts/def_callable.html" title=" Deferred
Callable Object">Deferred Callable
Object</a></li>
</ul></div>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">R</span></code></span></dt>
<dd>
A possibly const qualified <a href="../concepts/def_callable.html" title=" Deferred
Callable Object">Deferred
Callable Object</a> type or reference type thereof
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">r</span></code></span></dt>
<dd>
An object convertible to <code class="computeroutput"><span class="identifier">R</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt>
<dd>
A <a href="../../sequences.html" title="Sequences">Sequence</a> of arguments that
are accepted by <code class="computeroutput"><span class="identifier">r</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
<dd>
An instance of <code class="computeroutput"><span class="identifier">fused</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;</span></code>
</dd>
</dl>
</div>
<a name="fusion.functional.adapters.fused.expression_semantics"></a><h5>
<a name="id1210037"></a>
<a href="fused.html#fusion.functional.adapters.fused.expression_semantics">Expression
Semantics</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Semantics</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">fused</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;(</span><span class="identifier">r</span><span class="special">)</span></code></td>
<td>Creates
a fused function as described above, initializes the target function
with <code class="computeroutput"><span class="identifier">r</span></code>.</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">fused</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;()</span></code></td>
<td>Creates
a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">R</span></code>'s default constructor.</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code></td>
<td>Calls
<code class="computeroutput"><span class="identifier">r</span></code> with the elements
in <code class="computeroutput"><span class="identifier">s</span></code> as its arguments.</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.adapters.fused.example"></a><h5>
<a name="id1210219"></a>
<a href="fused.html#fusion.functional.adapters.fused.example">Example</a>
</h5>
<pre class="programlisting">
<span class="identifier">fused</span><span class="special">&lt;</span> <a href="http://www.sgi.com/tech/stl/plus.html" target="_top"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">plus</span></code></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">f</span><span class="special">;</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">f</span><span class="special">(</span><a href="../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2l</span><span class="special">))</span> <span class="special">==</span> <span class="number">3l</span><span class="special">);</span>
</pre>
<a name="fusion.functional.adapters.fused.see_also"></a><h5>
<a name="id1210375"></a>
<a href="fused.html#fusion.functional.adapters.fused.see_also">See also</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li><a href="fused_procedure.html" title="fused_procedure"><code class="computeroutput"><span class="identifier">fused_procedure</span></code></a></li>
<li><a href="fused_function_object.html" title="fused_function_object"><code class="computeroutput"><span class="identifier">fused_function_object</span></code></a></li>
<li><a href="../invocation/functions/invoke.html" title="invoke"><code class="computeroutput"><span class="identifier">invoke</span></code></a></li>
<li><a href="../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a></li>
</ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../adapters.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="fused_procedure.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,221 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>fused_function_object</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapters.html" title=" Adapters">
<link rel="prev" href="fused_procedure.html" title="fused_procedure">
<link rel="next" href="unfused_generic.html" title="unfused_generic">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="fused_procedure.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="unfused_generic.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.adapters.fused_function_object"></a><a href="fused_function_object.html" title="fused_function_object">fused_function_object</a></h4></div></div></div>
<a name="fusion.functional.adapters.fused_function_object.description"></a><h5>
<a name="id1211879"></a>
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.description">Description</a>
</h5>
<p>
An unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a> adapter template for a <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> target function. It takes a <a href="../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a> that contains the arguments for the target function.
</p>
<p>
The nested <code class="computeroutput"><span class="identifier">result</span></code> metafunction
is inhertied from the target function.
</p>
<p>
The type of the target function is allowed to be const qualified or a reference.
Const qualification is preserved and propagated appropriately (in other
words, only const versions of <code class="literal">operator()</code> can be used
for an target function object that is const or, if the target function
object is held by value, the adapter is const).
</p>
<a name="fusion.functional.adapters.fused_function_object.header"></a><h5>
<a name="id1211961"></a>
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.header">Header</a>
</h5>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">fused_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.adapters.fused_function_object.synopsis"></a><h5>
<a name="id1212054"></a>
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">fused_function_object</span><span class="special">;</span>
</pre>
<a name="fusion.functional.adapters.fused_function_object.template_parameters"></a><h5>
<a name="id1212126"></a>
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.template_parameters">Template
parameters</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">Function</span></code></td>
<td>
<a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function Object</a>
type</td>
<td><EFBFBD></td>
</tr></tbody>
</table></div>
<a name="fusion.functional.adapters.fused_function_object.model_of"></a><h5>
<a name="id1212201"></a>
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.model_of">Model
of</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li><a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a></li>
<li><a href="../concepts/def_callable.html" title=" Deferred
Callable Object">Deferred Callable
Object</a></li>
</ul></div>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">R</span></code></span></dt>
<dd>
A possibly const qualified <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> type or reference type thereof
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">r</span></code></span></dt>
<dd>
An object convertible to <code class="computeroutput"><span class="identifier">R</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt>
<dd>
A <a href="../../sequences.html" title="Sequences">Sequence</a> of arguments that
are accepted by <code class="computeroutput"><span class="identifier">r</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
<dd>
An instance of <code class="computeroutput"><span class="identifier">fused</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;</span></code>
</dd>
</dl>
</div>
<a name="fusion.functional.adapters.fused_function_object.expression_semantics"></a><h5>
<a name="id1212376"></a>
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.expression_semantics">Expression
Semantics</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Semantics</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">fused_function_object</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;(</span><span class="identifier">r</span><span class="special">)</span></code></td>
<td>Creates a fused function
as described above, initializes the target function with <code class="computeroutput"><span class="identifier">r</span></code>.</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">fused_function_object</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;()</span></code></td>
<td>Creates a fused
function as described above, attempts to use <code class="computeroutput"><span class="identifier">R</span></code>'s
default constructor.</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code></td>
<td>Calls
<code class="computeroutput"><span class="identifier">r</span></code> with the elements
in <code class="computeroutput"><span class="identifier">s</span></code> as its arguments.</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.adapters.fused_function_object.example"></a><h5>
<a name="id1212559"></a>
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SeqOfSeqs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Func</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../../algorithms/transformation/metafunctions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special">&lt;</span> <span class="identifier">zip_view</span><span class="special">&lt;</span><span class="identifier">SeqOfSeqs</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">,</span>
<span class="identifier">fused_function_object</span><span class="special">&lt;</span><span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&amp;&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">n_ary_transform</span><span class="special">(</span><span class="identifier">SeqOfSeqs</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">f</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <a href="../../algorithms/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><span class="identifier">zip_view</span><span class="special">&lt;</span><span class="identifier">SeqOfSeqs</span><span class="special">&gt;(</span><span class="identifier">s</span><span class="special">),</span>
<span class="identifier">fused_function_object</span><span class="special">&lt;</span><span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&amp;&gt;(</span><span class="identifier">f</span><span class="special">));</span>
<span class="special">}</span>
<span class="keyword">struct</span> <span class="identifier">sub</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">_</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="identifier">T</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">lhs</span> <span class="special">-</span> <span class="identifier">rhs</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
<span class="special">{</span>
<a href="../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">a</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">2.0f</span><span class="special">);</span>
<a href="../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">b</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">1.5f</span><span class="special">);</span>
<a href="../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">c</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">0.5f</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">c</span> <span class="special">==</span> <span class="identifier">n_ary_transform</span><span class="special">(</span><a href="../../sequences/generation/functions/vector_tie.html" title="vector_tie"><code class="computeroutput"><span class="identifier">vector_tie</span></code></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">sub</span><span class="special">()));</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.adapters.fused_function_object.see_also"></a><h5>
<a name="id1213389"></a>
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.see_also">See
also</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li><a href="fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a></li>
<li><a href="fused_procedure.html" title="fused_procedure"><code class="computeroutput"><span class="identifier">fused_procedure</span></code></a></li>
<li><a href="../invocation/functions/invoke_function_object.html" title="invoke_function_object"><code class="computeroutput"><span class="identifier">invoke_function_object</span></code></a></li>
<li><a href="../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a></li>
</ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="fused_procedure.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="unfused_generic.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,219 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>fused_procedure</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapters.html" title=" Adapters">
<link rel="prev" href="fused.html" title="fused">
<link rel="next" href="fused_function_object.html" title="fused_function_object">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="fused.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="fused_function_object.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.adapters.fused_procedure"></a><a href="fused_procedure.html" title="fused_procedure">fused_procedure</a></h4></div></div></div>
<a name="fusion.functional.adapters.fused_procedure.description"></a><h5>
<a name="id1210487"></a>
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.description">Description</a>
</h5>
<p>
An unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a> adapter template for <a href="../concepts/callable.html" title=" Callable Object">Callable
Object</a> target functions. It takes a <a href="../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a> that contains the arguments for the target function.
</p>
<p>
The result is discared and the adapter's return type is <code class="computeroutput"><span class="keyword">void</span></code>.
The nested <code class="computeroutput"><span class="identifier">result</span></code> metafunction
does not define a <code class="computeroutput"><span class="identifier">type</span></code>
member for target functions of non-class type whose arity is not satisfied
by the size of the sequence.
</p>
<p>
The type of the target function is allowed to be const qualified or a reference.
Const qualification is preserved and propagated appropriately (in other
words, only const versions of <code class="literal">operator()</code> can be used
for an target function object that is const or, if the target function
object is held by value, the adapter is const - these semantics have nothing
to do with the const qualification of a member function, which is referring
to the type of object pointed to by <code class="literal">this</code>, which is specified
with the first element in the sequence passed to the adapter).
</p>
<p>
If the target function is a pointer to a members function, the corresponding
object can be specified as a reference, pointer, or smart pointer. In case
of the latter, a freestanding <code class="literal">get_pointer</code> function must
be defined (Boost provides this function for <code class="literal">std::auto_ptr</code>
and <a href="http://www.boost.org/libs/smart_ptr/smart_ptr.hpp" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code></a>).
</p>
<p>
The target function must not be a pointer to a member object (dereferencing
such a pointer without returning anything does not make sense, so it isn't
implemented).
</p>
<a name="fusion.functional.adapters.fused_procedure.header"></a><h5>
<a name="id1210648"></a>
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.header">Header</a>
</h5>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">fused_procedure</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.adapters.fused_procedure.synopsis"></a><h5>
<a name="id1210740"></a>
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">fused_procedure</span><span class="special">;</span>
</pre>
<a name="fusion.functional.adapters.fused_procedure.template_parameters"></a><h5>
<a name="id1210809"></a>
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.template_parameters">Template
parameters</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">Function</span></code></td>
<td>
<a href="../concepts/callable.html" title=" Callable Object">Callable Object</a>
type</td>
<td><EFBFBD></td>
</tr></tbody>
</table></div>
<a name="fusion.functional.adapters.fused_procedure.model_of"></a><h5>
<a name="id1210884"></a>
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.model_of">Model
of</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li><a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a></li>
<li><a href="../concepts/def_callable.html" title=" Deferred
Callable Object">Deferred Callable
Object</a></li>
</ul></div>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">R</span></code></span></dt>
<dd>
A possibly const qualified <a href="../concepts/callable.html" title=" Callable Object">Callable
Object</a> type or reference type thereof
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">r</span></code></span></dt>
<dd>
An object convertible to <code class="computeroutput"><span class="identifier">R</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt>
<dd>
A <a href="../../sequences.html" title="Sequences">Sequence</a> of arguments that
are accepted by <code class="computeroutput"><span class="identifier">r</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
<dd>
An instance of <code class="computeroutput"><span class="identifier">fused</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;</span></code>
</dd>
</dl>
</div>
<a name="fusion.functional.adapters.fused_procedure.expression_semantics"></a><h5>
<a name="id1211058"></a>
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.expression_semantics">Expression
Semantics</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Semantics</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">fused_procedure</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;(</span><span class="identifier">r</span><span class="special">)</span></code></td>
<td>Creates a fused function
as described above, initializes the target function with <code class="computeroutput"><span class="identifier">r</span></code>.</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">fused_procedure</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;()</span></code></td>
<td>Creates a fused
function as described above, attempts to use <code class="computeroutput"><span class="identifier">R</span></code>'s
default constructor.</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code></td>
<td>Calls
<code class="computeroutput"><span class="identifier">r</span></code> with the elements
in <code class="computeroutput"><span class="identifier">s</span></code> as its arguments.</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.adapters.fused_procedure.example"></a><h5>
<a name="id1211241"></a>
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SequenceOfSequences</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Func</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="identifier">n_ary_for_each</span><span class="special">(</span><span class="identifier">SequenceOfSequences</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">f</span><span class="special">)</span>
<span class="special">{</span>
<a href="../../algorithms/iteration/functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><a href="../../sequences/views/zip_view.html" title="zip_view"><code class="computeroutput"><span class="identifier">zip_view</span></code></a><span class="special">&lt;</span><span class="identifier">SequenceOfSequences</span><span class="special">&gt;(</span><span class="identifier">s</span><span class="special">),</span>
<span class="identifier">fused_procedure</span><span class="special">&lt;</span><span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&amp;&gt;(</span><span class="identifier">f</span><span class="special">));</span>
<span class="special">}</span>
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
<span class="special">{</span>
<a href="../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">a</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">2.0f</span><span class="special">);</span>
<a href="../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">b</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">1.5f</span><span class="special">);</span>
<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">;</span>
<span class="identifier">n_ary_for_each</span><span class="special">(</span><a href="../../sequences/generation/functions/vector_tie.html" title="vector_tie"><code class="computeroutput"><span class="identifier">vector_tie</span></code></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">_1</span> <span class="special">-=</span> <span class="identifier">_2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <a href="../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">0.5f</span><span class="special">));</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.adapters.fused_procedure.see_also"></a><h5>
<a name="id1211780"></a>
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.see_also">See
also</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li><a href="fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a></li>
<li><a href="fused_function_object.html" title="fused_function_object"><code class="computeroutput"><span class="identifier">fused_function_object</span></code></a></li>
<li><a href="../invocation/functions/invoke_procedure.html" title="invoke_procedure"><code class="computeroutput"><span class="identifier">invoke_procedure</span></code></a></li>
</ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="fused.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="fused_function_object.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,270 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>unfused_generic</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapters.html" title=" Adapters">
<link rel="prev" href="fused_function_object.html" title="fused_function_object">
<link rel="next" href="unfused_lvalue_args.html" title="unfused_lvalue_args">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="fused_function_object.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="unfused_lvalue_args.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.adapters.unfused_generic"></a><a href="unfused_generic.html" title="unfused_generic">unfused_generic</a></h4></div></div></div>
<a name="fusion.functional.adapters.unfused_generic.description"></a><h5>
<a name="id1213504"></a>
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.description">Description</a>
</h5>
<p>
An n-ary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a> adapter template for an unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> target function. When called, its arguments are
bundled to a <a href="../../sequences/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a> of references that is passed to the target function.
Non-const LValue arguments are transported as references to non-const,
otherwise references to const are used.
</p>
<div class="tip"><table border="0" summary="Tip">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../images/tip.png"></td>
<th align="left">Tip</th>
</tr>
<tr><td align="left" valign="top"><p>
Detecting mutable LValues on a per-argument basis is currently a compile
time expensive operation (see <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm" target="_top">The
Forwarding Problem</a> for details). Therefore, there are two, lightweight
and more restricted variants of this class template, <a href="unfused_lvalue_args.html" title="unfused_lvalue_args"><code class="computeroutput"><span class="identifier">unfused_lvalue_args</span></code></a> and <a href="unfused_rvalue_args.html" title="unfused_rvalue_args"><code class="computeroutput"><span class="identifier">unfused_rvalue_args</span></code></a>.
</p></td></tr>
</table></div>
<p>
The overload set of the adapter's function call operator can be restricted
by removing the <code class="computeroutput"><span class="identifier">type</span></code> member
from the nested result metafunction of the <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> (in this case the substitution-failure-is-not-an-error
principle applies for non-nullary case and nullary calls are explicitly
disabled by the library).
</p>
<div class="caution"><table border="0" summary="Caution">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../images/caution.png"></td>
<th align="left">Caution</th>
</tr>
<tr><td align="left" valign="top"><p>
As the nullary call operator cannot be a template it will be instantiated
along with the class template, so it must be disabled (as described above)
in cases where it isn't instantiable.
</p></td></tr>
</table></div>
<p>
The type of the target function is allowed to be const qualified or a reference.
Const qualification is preserved and propagated appropriately (in other
words, only const versions of <code class="literal">operator()</code> can be used
if the target function object is const - or, in case the target function
object is held by value, the adapter is const).
</p>
<a name="fusion.functional.adapters.unfused_generic.header"></a><h5>
<a name="id1213664"></a>
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.header">Header</a>
</h5>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused_generic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.adapters.unfused_generic.synopsis"></a><h5>
<a name="id1213758"></a>
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">unfused_generic</span><span class="special">;</span>
</pre>
<a name="fusion.functional.adapters.unfused_generic.template_parameters"></a><h5>
<a name="id1213828"></a>
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.template_parameters">Template
parameters</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">Function</span></code></td>
<td>An
unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td><EFBFBD></td>
</tr></tbody>
</table></div>
<a name="fusion.functional.adapters.unfused_generic.model_of"></a><h5>
<a name="id1213902"></a>
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.model_of">Model
of</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li><a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a></li>
<li><a href="../concepts/def_callable.html" title=" Deferred
Callable Object">Deferred Callable
Object</a></li>
</ul></div>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt>
<dd>
A possibly const qualified, unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> type or reference type thereof
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
<dd>
An object convertible to <code class="computeroutput"><span class="identifier">F</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">UG</span></code></span></dt>
<dd>
The type <code class="computeroutput"><span class="identifier">unfused_generic</span><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">ug</span></code></span></dt>
<dd>
An instance of <code class="computeroutput"><span class="identifier">UG</span></code>, initialized
with <code class="computeroutput"><span class="identifier">f</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code></span></dt>
<dd>
Arguments to <code class="computeroutput"><span class="identifier">ug</span></code>
</dd>
</dl>
</div>
<a name="fusion.functional.adapters.unfused_generic.expression_semantics"></a><h5>
<a name="id1214110"></a>
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.expression_semantics">Expression
Semantics</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Semantics</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">UG</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code></td>
<td>Creates
a fused function as described above, initializes the target function
with <code class="computeroutput"><span class="identifier">f</span></code>.</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">UG</span><span class="special">()</span></code></td>
<td>Creates
a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor.</td>
</tr>
<tr>
<td>
<code class="computeroutput"><span class="identifier">ug</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code>
</td>
<td>Calls <code class="computeroutput"><span class="identifier">f</span></code> with a <a href="../../sequences.html" title="Sequences">Sequence</a>
that contains references to the arguments <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>.</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.adapters.unfused_generic.example"></a><h5>
<a name="id1214298"></a>
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">fused_bound_1st</span>
<span class="special">{</span>
<span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><a href="../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a><span class="special">&lt;</span><span class="identifier">Function</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">fnc_deferred</span><span class="special">;</span>
<span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><a href="../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">xxx_bound</span><span class="special">;</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="identifier">fused_bound_1st</span><span class="special">(</span><span class="identifier">Function</span> <span class="identifier">deferred</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">bound</span><span class="special">)</span>
<span class="special">:</span> <span class="identifier">fnc_deferred</span><span class="special">(</span><span class="identifier">deferred</span><span class="special">),</span> <span class="identifier">xxx_bound</span><span class="special">(</span><span class="identifier">bound</span><span class="special">)</span>
<span class="special">{</span> <span class="special">}</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span>
<span class="special">:</span> <a href="../invocation/metafunctions/invoke.html" title="invoke"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">invoke</span></code></a><span class="special">&lt;</span> <span class="identifier">Function</span><span class="special">,</span>
<span class="keyword">typename</span> <a href="../../algorithms/transformation/metafunctions/push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></code></a><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span>
<span class="special">{</span> <span class="special">};</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <a href="../invocation/functions/invoke.html" title="invoke"><code class="computeroutput"><span class="identifier">invoke</span></code></a><span class="special">(</span><span class="identifier">fnc_deferred</span><span class="special">,</span> <span class="identifier">push_front</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span><span class="identifier">xxx_bound</span><span class="special">));</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="identifier">unfused_generic</span><span class="special">&lt;</span> <span class="identifier">fused_bound_1st</span><span class="special">&lt;</span><span class="identifier">Function</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;</span>
<span class="identifier">bind_1st</span><span class="special">(</span><span class="identifier">Function</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">x</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">unfused_generic</span><span class="special">&lt;</span> <span class="identifier">fused_bound_1st</span><span class="special">&lt;</span><span class="identifier">Function</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;(</span>
<span class="identifier">fused_bound_1st</span><span class="special">&lt;</span><span class="identifier">Function</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">f</span><span class="special">,</span><span class="identifier">x</span><span class="special">)</span> <span class="special">);</span>
<span class="special">}</span>
<span class="keyword">int</span> <span class="identifier">test_func</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">c</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">+</span><span class="identifier">c</span><span class="special">;</span>
<span class="special">}</span>
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
<span class="special">{</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">bind_1st</span><span class="special">(&amp;</span> <span class="identifier">test_func</span><span class="special">,</span><span class="number">3</span><span class="special">)(-</span><span class="number">2</span><span class="special">,-</span><span class="number">1</span><span class="special">)</span> <span class="special">==</span> <span class="number">0</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">bind_1st</span><span class="special">(</span><a href="http://www.sgi.com/tech/stl/plus.html" target="_top"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">plus</span></code></a><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(),</span> <span class="number">1</span><span class="special">)(</span><span class="number">0.5f</span><span class="special">)</span> <span class="special">==</span> <span class="number">1.5f</span><span class="special">);</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.adapters.unfused_generic.see_also"></a><h5>
<a name="id1215450"></a>
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.see_also">See
also</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li><a href="unfused_lvalue_args.html" title="unfused_lvalue_args"><code class="computeroutput"><span class="identifier">unfused_lvalue_args</span></code></a></li>
<li><a href="unfused_rvalue_args.html" title="unfused_rvalue_args"><code class="computeroutput"><span class="identifier">unfused_rvalue_args</span></code></a></li>
<li><a href="unfused_typed.html" title="unfused_typed"><code class="computeroutput"><span class="identifier">unfused_typed</span></code></a></li>
<li><a href="../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a></li>
<li><a href="../../support/deduce_sequence.html" title="deduce_sequence"><code class="computeroutput"><span class="identifier">deduce_sequence</span></code></a></li>
</ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="fused_function_object.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="unfused_lvalue_args.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,235 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>unfused_lvalue_args</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapters.html" title=" Adapters">
<link rel="prev" href="unfused_generic.html" title="unfused_generic">
<link rel="next" href="unfused_rvalue_args.html" title="unfused_rvalue_args">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="unfused_generic.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="unfused_rvalue_args.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.adapters.unfused_lvalue_args"></a><a href="unfused_lvalue_args.html" title="unfused_lvalue_args">unfused_lvalue_args</a></h4></div></div></div>
<a name="fusion.functional.adapters.unfused_lvalue_args.description"></a><h5>
<a name="id1215582"></a>
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.description">Description</a>
</h5>
<p>
An n-ary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a> adapter template for an unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> target function. When called, its arguments are
bundled to a <a href="../../sequences/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a> of references that is passed to the target function
object. Only LValue arguments are accepted.
</p>
<p>
The overload set of the adapter's function call operator can be restricted
by removing the <code class="computeroutput"><span class="identifier">type</span></code> member
from the nested result metafunction of the <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> (in this case the substitution-failure-is-not-an-error
principle applies for non-nullary calls and nullary calls are explicitly
disabled by the library).
</p>
<div class="caution"><table border="0" summary="Caution">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../images/caution.png"></td>
<th align="left">Caution</th>
</tr>
<tr><td align="left" valign="top"><p>
As the nullary call operator cannot be a template it will be instantiated
along with the class template, so it must be disabled (as described above)
in cases where it isn't instantiable.
</p></td></tr>
</table></div>
<p>
The type of the target function is allowed to be const qualified or a reference.
Const qualification is preserved and propagated appropriately (in other
words, only const versions of <code class="literal">operator()</code> can be used
if the target function object is const - or, in case the target function
object is held by value, the adapter is const).
</p>
<a name="fusion.functional.adapters.unfused_lvalue_args.header"></a><h5>
<a name="id1215689"></a>
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.header">Header</a>
</h5>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused_lvalue_args</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.adapters.unfused_lvalue_args.synopsis"></a><h5>
<a name="id1215783"></a>
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">unfused_lvalue_args</span><span class="special">;</span>
</pre>
<a name="fusion.functional.adapters.unfused_lvalue_args.template_parameters"></a><h5>
<a name="id1215856"></a>
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.template_parameters">Template
parameters</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">Function</span></code></td>
<td>A
unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td><EFBFBD></td>
</tr></tbody>
</table></div>
<a name="fusion.functional.adapters.unfused_lvalue_args.model_of"></a><h5>
<a name="id1215930"></a>
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.model_of">Model
of</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li><a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a></li>
<li><a href="../concepts/def_callable.html" title=" Deferred
Callable Object">Deferred Callable
Object</a></li>
</ul></div>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt>
<dd>
A possibly const qualified, unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> type or reference type thereof
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
<dd>
An object convertible to <code class="computeroutput"><span class="identifier">F</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">UL</span></code></span></dt>
<dd>
The type <code class="computeroutput"><span class="identifier">unfused_lvalue_args</span><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">ul</span></code></span></dt>
<dd>
An instance of <code class="computeroutput"><span class="identifier">UL</span></code>, initialized
with <code class="computeroutput"><span class="identifier">f</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code></span></dt>
<dd>
Arguments to <code class="computeroutput"><span class="identifier">ul</span></code>
</dd>
</dl>
</div>
<a name="fusion.functional.adapters.unfused_lvalue_args.expression_semantics"></a><h5>
<a name="id1216140"></a>
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.expression_semantics">Expression
Semantics</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Semantics</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">UL</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code></td>
<td>Creates
a fused function as described above, initializes the target function
with <code class="computeroutput"><span class="identifier">f</span></code>.</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">UL</span><span class="special">()</span></code></td>
<td>Creates
a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor.</td>
</tr>
<tr>
<td>
<code class="computeroutput"><span class="identifier">ul</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code>
</td>
<td>Calls <code class="computeroutput"><span class="identifier">f</span></code> with a <a href="../../sequences.html" title="Sequences">Sequence</a>
that contains references to the arguments <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>.</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.adapters.unfused_lvalue_args.example"></a><h5>
<a name="id1216328"></a>
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">fused_incrementer</span>
<span class="special">{</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<a href="../../algorithms/iteration/functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">,++</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">_1</span><span class="special">);</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
<span class="special">{</span>
<span class="identifier">unfused_lvalue_args</span><span class="special">&lt;</span><span class="identifier">fused_incrementer</span><span class="special">&gt;</span> <span class="identifier">increment</span><span class="special">;</span>
<span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="keyword">char</span> <span class="identifier">b</span> <span class="special">=</span> <span class="char">'X'</span><span class="special">;</span>
<span class="identifier">increment</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <span class="number">3</span> <span class="special">&amp;&amp;</span> <span class="identifier">b</span> <span class="special">==</span> <span class="char">'Y'</span><span class="special">);</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.adapters.unfused_lvalue_args.see_also"></a><h5>
<a name="id1216767"></a>
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.see_also">See
also</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li><a href="unfused_rvalue_args.html" title="unfused_rvalue_args"><code class="computeroutput"><span class="identifier">unfused_rvalue_args</span></code></a></li>
<li><a href="unfused_generic.html" title="unfused_generic"><code class="computeroutput"><span class="identifier">unfused_generic</span></code></a></li>
<li><a href="unfused_typed.html" title="unfused_typed"><code class="computeroutput"><span class="identifier">unfused_typed</span></code></a></li>
</ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="unfused_generic.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="unfused_rvalue_args.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,235 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>unfused_rvalue_args</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapters.html" title=" Adapters">
<link rel="prev" href="unfused_lvalue_args.html" title="unfused_lvalue_args">
<link rel="next" href="unfused_typed.html" title="unfused_typed">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="unfused_lvalue_args.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="unfused_typed.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.adapters.unfused_rvalue_args"></a><a href="unfused_rvalue_args.html" title="unfused_rvalue_args">unfused_rvalue_args</a></h4></div></div></div>
<a name="fusion.functional.adapters.unfused_rvalue_args.description"></a><h5>
<a name="id1216864"></a>
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.description">Description</a>
</h5>
<p>
An n-ary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a> adapter template for an unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> target function. When called, its arguments are
bundled to a <a href="../../sequences/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a> of references that is passed to the target function
object. All referenced objects in the sequence are const qualified.
</p>
<p>
The overload set of the adapter's function call operator can be restricted
by removing the <code class="computeroutput"><span class="identifier">type</span></code> member
from the nested result metafunction of the <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> (in this case the substitution-failure-is-not-an-error
principle applies for non-nullary calls and nullary calls are explicitly
disabled by the library).
</p>
<div class="caution"><table border="0" summary="Caution">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../images/caution.png"></td>
<th align="left">Caution</th>
</tr>
<tr><td align="left" valign="top"><p>
As the nullary call operator cannot be a template it will be instantiated
along with the class template, so it must be disabled (as described above)
in cases where it isn't instantiable.
</p></td></tr>
</table></div>
<p>
The type of the target function is allowed to be const qualified or a reference.
Const qualification is preserved and propagated appropriately (in other
words, only const versions of <code class="literal">operator()</code> can be used
if the target function object is const - or, in case the target function
object is held by value, the adapter is const).
</p>
<a name="fusion.functional.adapters.unfused_rvalue_args.header"></a><h5>
<a name="id1216972"></a>
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.header">Header</a>
</h5>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused_rvalue_args</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.adapters.unfused_rvalue_args.synopsis"></a><h5>
<a name="id1217065"></a>
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">unfused_rvalue_args</span><span class="special">;</span>
</pre>
<a name="fusion.functional.adapters.unfused_rvalue_args.template_parameters"></a><h5>
<a name="id1217138"></a>
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.template_parameters">Template
parameters</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">Function</span></code></td>
<td>A
unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td><EFBFBD></td>
</tr></tbody>
</table></div>
<a name="fusion.functional.adapters.unfused_rvalue_args.model_of"></a><h5>
<a name="id1217213"></a>
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.model_of">Model
of</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li><a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a></li>
<li><a href="../concepts/def_callable.html" title=" Deferred
Callable Object">Deferred Callable
Object</a></li>
</ul></div>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt>
<dd>
A possibly const qualified, unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> type or reference type thereof
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
<dd>
An object convertible to <code class="computeroutput"><span class="identifier">F</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">UR</span></code></span></dt>
<dd>
The type <code class="computeroutput"><span class="identifier">unfused_rvalue_args</span><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">ur</span></code></span></dt>
<dd>
An instance of <code class="computeroutput"><span class="identifier">UR</span></code>, initialized
with <code class="computeroutput"><span class="identifier">f</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code></span></dt>
<dd>
Arguments to <code class="computeroutput"><span class="identifier">ur</span></code>
</dd>
</dl>
</div>
<a name="fusion.functional.adapters.unfused_rvalue_args.expression_semantics"></a><h5>
<a name="id1217423"></a>
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.expression_semantics">Expression
Semantics</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Semantics</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">UR</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code></td>
<td>Creates
a fused function as described above, initializes the target function
with <code class="computeroutput"><span class="identifier">f</span></code>.</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">UR</span><span class="special">()</span></code></td>
<td>Creates
a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor.</td>
</tr>
<tr>
<td>
<code class="computeroutput"><span class="identifier">ur</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code>
</td>
<td>Calls <code class="computeroutput"><span class="identifier">f</span></code> with a <a href="../../sequences.html" title="Sequences">Sequence</a>
that contains references to the arguments <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>.</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.adapters.unfused_rvalue_args.example"></a><h5>
<a name="id1217611"></a>
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">sequence_printer</span>
<span class="special">{</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">s</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
<span class="special">{</span>
<span class="identifier">unfused_rvalue_args</span><span class="special">&lt;</span><span class="identifier">sequence_printer</span><span class="special">&gt;</span> <span class="identifier">print</span><span class="special">;</span>
<span class="identifier">print</span><span class="special">(</span><span class="number">24</span><span class="special">,</span><span class="string">"bottles of beer in"</span><span class="special">,</span><span class="char">'a'</span><span class="special">,</span><span class="string">"box."</span><span class="special">);</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.adapters.unfused_rvalue_args.see_also"></a><h5>
<a name="id1217963"></a>
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.see_also">See
also</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li><a href="unfused_lvalue_args.html" title="unfused_lvalue_args"><code class="computeroutput"><span class="identifier">unfused_lvalue_args</span></code></a></li>
<li><a href="unfused_generic.html" title="unfused_generic"><code class="computeroutput"><span class="identifier">unfused_generic</span></code></a></li>
<li><a href="unfused_typed.html" title="unfused_typed"><code class="computeroutput"><span class="identifier">unfused_typed</span></code></a></li>
<li><a href="../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a></li>
<li><a href="../../support/deduce_sequence.html" title="deduce_sequence"><code class="computeroutput"><span class="identifier">deduce_sequence</span></code></a></li>
</ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="unfused_lvalue_args.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="unfused_typed.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,309 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>unfused_typed</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapters.html" title=" Adapters">
<link rel="prev" href="unfused_rvalue_args.html" title="unfused_rvalue_args">
<link rel="next" href="../generation.html" title="Generation">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="unfused_rvalue_args.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../generation.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.adapters.unfused_typed"></a><a href="unfused_typed.html" title="unfused_typed">unfused_typed</a></h4></div></div></div>
<a name="fusion.functional.adapters.unfused_typed.description"></a><h5>
<a name="id1218094"></a>
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.description">Description</a>
</h5>
<p>
An n-ary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a> adapter template for an unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> target function. When called, its arguments are
bundled to a <a href="../../sequences/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a> that is passed to the target function object.
</p>
<p>
The call operators of the resulting function object are strictly typed
(in other words, non-templatized) with the types from a <a href="../../sequences.html" title="Sequences">Sequence</a>.
By default, call operators with zero to N parameters are generated to,
where N is the size of the <a href="../../sequences.html" title="Sequences">Sequence</a>
that specifies the types.
</p>
<p>
The overload set of the adapter's function call operator can be restricted
by removing the <code class="computeroutput"><span class="identifier">type</span></code> member
from the nested result metafunction of the <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> (in this case the substitution-failure-is-not-an-error
principle applies for non-nullary calls and nullary calls are explicitly
disabled by the library).
</p>
<div class="caution"><table border="0" summary="Caution">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../images/caution.png"></td>
<th align="left">Caution</th>
</tr>
<tr><td align="left" valign="top"><p>
As the function call operators are not templates, they are instantiated
along with the class template, so they must be disabled (as described
above) in cases where they are not instantiable.
</p></td></tr>
</table></div>
<p>
The type of the target function is allowed to be const qualified or a reference.
Const qualification is preserved and propagated appropriately (in other
words, only const versions of <code class="literal">operator()</code> can be used
if the target function object is const - or, in case the target function
object is held by value, the adapter is const).
</p>
<div class="tip"><table border="0" summary="Tip">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../images/tip.png"></td>
<th align="left">Tip</th>
</tr>
<tr><td align="left" valign="top"><p>
If the type sequence passed to this template contains non-reference elements,
the element is copied only once - the call operator's signature is optimized
automatically to avoid by-value parameters.
</p></td></tr>
</table></div>
<a name="fusion.functional.adapters.unfused_typed.header"></a><h5>
<a name="id1218234"></a>
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.header">Header</a>
</h5>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused_typed</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.adapters.unfused_typed.synopsis"></a><h5>
<a name="id1218325"></a>
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Sequence</span><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">unfused_typed</span><span class="special">;</span>
</pre>
<a name="fusion.functional.adapters.unfused_typed.template_parameters"></a><h5>
<a name="id1218412"></a>
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.template_parameters">Template
parameters</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Function</span></code></td>
<td>A
unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td><EFBFBD></td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
<a href="../../sequences.html" title="Sequences">Sequence</a>
</td>
<td><EFBFBD></td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.adapters.unfused_typed.model_of"></a><h5>
<a name="id1218510"></a>
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.model_of">Model
of</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li><a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a></li>
<li><a href="../concepts/def_callable.html" title=" Deferred
Callable Object">Deferred Callable
Object</a></li>
</ul></div>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt>
<dd>
A possibly const qualified, unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> type or reference type thereof
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
<dd>
An object convertible to <code class="computeroutput"><span class="identifier">F</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">S</span></code></span></dt>
<dd>
A <a href="../../sequences.html" title="Sequences">Sequence</a> of parameter types
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">UT</span></code></span></dt>
<dd>
The type <code class="computeroutput"><span class="identifier">unfused_typed</span><span class="special">&lt;</span><span class="identifier">F</span><span class="special">,</span><span class="identifier">S</span><span class="special">&gt;</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">ut</span></code></span></dt>
<dd>
An instance of <code class="computeroutput"><span class="identifier">UT</span></code>, initialized
with <code class="computeroutput"><span class="identifier">f</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code></span></dt>
<dd>
Arguments to <code class="computeroutput"><span class="identifier">ut</span></code>, convertible
to the types in <code class="computeroutput"><span class="identifier">S</span></code>
</dd>
</dl>
</div>
<a name="fusion.functional.adapters.unfused_typed.expression_semantics"></a><h5>
<a name="id1218758"></a>
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.expression_semantics">Expression
Semantics</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Semantics</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">UT</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code></td>
<td>Creates
a fused function as described above, initializes the target function
with <code class="computeroutput"><span class="identifier">f</span></code>.</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">UT</span><span class="special">()</span></code></td>
<td>Creates
a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor.</td>
</tr>
<tr>
<td>
<code class="computeroutput"><span class="identifier">ut</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code>
</td>
<td>Calls <code class="computeroutput"><span class="identifier">f</span></code> with an instance of <code class="computeroutput"><span class="identifier">S</span></code> (or a subsequence of <code class="computeroutput"><span class="identifier">S</span></code> starting at the first element,
if fewer arguments are given and the overload hasn't been disabled)
initialized with <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>.</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.adapters.unfused_typed.example"></a><h5>
<a name="id1218958"></a>
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">add_assign</span> <span class="comment">// applies operator+=
</span><span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">result_type</span><span class="special">;</span> <span class="comment">// for simplicity
</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="identifier">lhs</span> <span class="special">+=</span> <span class="identifier">rhs</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Tie</span><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">fused_parallel_adder</span>
<span class="special">{</span>
<span class="identifier">Tie</span> <span class="identifier">tie_dest</span><span class="special">;</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="keyword">explicit</span> <span class="identifier">fused_parallel_adder</span><span class="special">(</span><span class="identifier">Tie</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">dest</span><span class="special">)</span>
<span class="special">:</span> <span class="identifier">tie_dest</span><span class="special">(</span><span class="identifier">dest</span><span class="special">)</span>
<span class="special">{</span> <span class="special">}</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<a href="../../algorithms/iteration/functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><a href="../../algorithms/transformation/functions/zip.html" title="zip"><code class="computeroutput"><span class="identifier">zip</span></code></a><span class="special">(</span><span class="identifier">tie_dest</span><span class="special">,</span><span class="identifier">s</span><span class="special">),</span> <a href="fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a><span class="special">&lt;</span><span class="identifier">add_assign</span><span class="special">&gt;()</span> <span class="special">);</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="comment">// accepts a tie and creates a typed function object from it
</span><span class="keyword">struct</span> <span class="identifier">fused_parallel_adder_maker</span>
<span class="special">{</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">unfused_typed</span><span class="special">&lt;</span><span class="identifier">fused_parallel_adder</span><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">&gt;,</span>
<span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">transform</span><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">,</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">tie</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="keyword">typename</span> <span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">(</span><span class="identifier">fused_parallel_adder</span><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">&gt;(</span><span class="identifier">tie</span><span class="special">));</span>
<span class="special">}</span>
<span class="special">};</span>
<a href="unfused_lvalue_args.html" title="unfused_lvalue_args"><code class="computeroutput"><span class="identifier">unfused_lvalue_args</span></code></a><span class="special">&lt;</span><span class="identifier">fused_parallel_adder_maker</span><span class="special">&gt;</span> <span class="identifier">parallel_add</span><span class="special">;</span>
<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
<span class="special">{</span>
<span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="keyword">char</span> <span class="identifier">b</span> <span class="special">=</span> <span class="char">'X'</span><span class="special">;</span>
<span class="comment">// the second call is strictly typed with the types deduced from the
</span> <span class="comment">// first call
</span> <span class="identifier">parallel_add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">)(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">parallel_add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">)(</span><span class="number">3</span><span class="special">);</span>
<span class="identifier">parallel_add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">)();</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <span class="number">8</span> <span class="special">&amp;&amp;</span> <span class="identifier">b</span> <span class="special">==</span> <span class="char">'Z'</span><span class="special">);</span>
<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.adapters.unfused_typed.see_also"></a><h5>
<a name="id1220201"></a>
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.see_also">See also</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li><a href="unfused_generic.html" title="unfused_generic"><code class="computeroutput"><span class="identifier">unfused_generic</span></code></a></li>
<li><a href="unfused_lvalue_args.html" title="unfused_lvalue_args"><code class="computeroutput"><span class="identifier">unfused_lvalue_args</span></code></a></li>
<li><a href="unfused_rvalue_args.html" title="unfused_rvalue_args"><code class="computeroutput"><span class="identifier">unfused_rvalue_args</span></code></a></li>
<li><a href="../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a></li>
<li><a href="../../support/deduce_sequence.html" title="deduce_sequence"><code class="computeroutput"><span class="identifier">deduce_sequence</span></code></a></li>
</ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="unfused_rvalue_args.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../generation.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,45 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Concepts</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functional.html" title="Functional">
<link rel="prev" href="../functional.html" title="Functional">
<link rel="next" href="concepts/callable.html" title=" Callable Object">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../functional.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="concepts/callable.html"><img src="../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.functional.concepts"></a><a href="concepts.html" title="Concepts">Concepts</a></h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="concepts/callable.html"> Callable Object</a></span></dt>
<dt><span class="section"><a href="concepts/poly.html"> Polymorphic Function
Object</a></span></dt>
<dt><span class="section"><a href="concepts/def_callable.html"> Deferred
Callable Object</a></span></dt>
</dl></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../functional.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="concepts/callable.html"><img src="../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,45 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Callable Object</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../concepts.html" title="Concepts">
<link rel="prev" href="../concepts.html" title="Concepts">
<link rel="next" href="poly.html" title=" Polymorphic Function
Object">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="poly.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.concepts.callable"></a><a href="callable.html" title=" Callable Object"> Callable Object</a></h4></div></div></div>
<p>
A pointer to a function, a pointer to member function, a pointer to member
data, or a class type whose objects can appear immediately to the left
of a function call operator.
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="poly.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,100 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Deferred
Callable Object</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../concepts.html" title="Concepts">
<link rel="prev" href="poly.html" title=" Polymorphic Function
Object">
<link rel="next" href="../invocation.html" title="Invocation">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="poly.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../invocation.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.concepts.def_callable"></a><a href="def_callable.html" title=" Deferred
Callable Object"> Deferred
Callable Object</a></h4></div></div></div>
<a name="fusion.functional.concepts.def_callable.description"></a><h5>
<a name="id1187418"></a>
<a href="def_callable.html#fusion.functional.concepts.def_callable.description">Description</a>
</h5>
<p>
<a href="callable.html" title=" Callable Object">Callable Object</a>
that works with <a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top">Boost.ResultOf</a>
to determine the result of a call (such as the function objects provided
by the standard library).
</p>
<a name="fusion.functional.concepts.def_callable.refinement_of"></a><h5>
<a name="id1187461"></a>
<a href="def_callable.html#fusion.functional.concepts.def_callable.refinement_of">Refinement
of</a>
</h5>
<div class="itemizedlist"><ul type="disc"><li><a href="callable.html" title=" Callable Object">Callable Object</a></li></ul></div>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt>
<dd>
A Deferred Callable Object type
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">T1</span>
<span class="special">...</span><span class="identifier">TN</span></code></span></dt>
<dd>
Arbitrary types
</dd>
</dl>
</div>
<a name="fusion.functional.concepts.def_callable.expression_requirements"></a><h5>
<a name="id1187547"></a>
<a href="def_callable.html#fusion.functional.concepts.def_callable.expression_requirements">Expression
requirements</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Type</th>
</tr></thead>
<tbody><tr>
<td>
<a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><code class="computeroutput"><span class="special">&lt;</span> <span class="identifier">F</span><span class="special">(</span><span class="identifier">T1</span> <span class="special">...</span><span class="identifier">TN</span><span class="special">)</span> <span class="special">&gt;::</span><span class="identifier">type</span></code>
</td>
<td>Unspecified</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.concepts.def_callable.models"></a><h5>
<a name="id1187671"></a>
<a href="def_callable.html#fusion.functional.concepts.def_callable.models">Models</a>
</h5>
<div class="itemizedlist"><ul type="disc"><li>
all Fusion <a href="../adapters.html" title=" Adapters">functional adapters</a>
</li></ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="poly.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../invocation.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,110 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Polymorphic Function
Object</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../concepts.html" title="Concepts">
<link rel="prev" href="callable.html" title=" Callable Object">
<link rel="next" href="def_callable.html" title=" Deferred
Callable Object">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="callable.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="def_callable.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.concepts.poly"></a><a href="poly.html" title=" Polymorphic Function
Object"> Polymorphic Function
Object</a></h4></div></div></div>
<a name="fusion.functional.concepts.poly.description"></a><h5>
<a name="id1187028"></a>
<a href="poly.html#fusion.functional.concepts.poly.description">Description</a>
</h5>
<p>
A type of function object with a nested metafunction <code class="computeroutput"><span class="identifier">result</span></code>.
<code class="computeroutput"><span class="identifier">result</span></code> returns the result
type of calling the function object, given the argument types.
</p>
<a name="fusion.functional.concepts.poly.refinement_of"></a><h5>
<a name="id1187074"></a>
<a href="poly.html#fusion.functional.concepts.poly.refinement_of">Refinement
of</a>
</h5>
<div class="itemizedlist"><ul type="disc"><li><a href="callable.html" title=" Callable Object">Callable Object</a></li></ul></div>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt>
<dd>
A Polymorphic Function Object type
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
<dd>
A Polymorphic Function Object
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">T1</span>
<span class="special">...</span><span class="identifier">TN</span></code></span></dt>
<dd>
Arbitrary types
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">t1</span>
<span class="special">...</span><span class="identifier">tN</span></code></span></dt>
<dd>
Objects with types <code class="computeroutput"><span class="identifier">T1</span> <span class="special">...</span><span class="identifier">TN</span></code>
</dd>
</dl>
</div>
<a name="fusion.functional.concepts.poly.expression_requirements"></a><h5>
<a name="id1187218"></a>
<a href="poly.html#fusion.functional.concepts.poly.expression_requirements">Expression
requirements</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Return Type</th>
<th>Runtime
Complexity</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">t1</span><span class="special">,</span> <span class="special">...</span><span class="identifier">tN</span><span class="special">)</span></code></td>
<td><code class="computeroutput"><span class="identifier">F</span><span class="special">::</span><span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">T1</span><span class="special">,</span> <span class="special">...</span><span class="identifier">TN</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
<td>Unspecified</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.concepts.poly.models"></a><h5>
<a name="id1187362"></a>
<a href="poly.html#fusion.functional.concepts.poly.models">Models</a>
</h5>
<div class="itemizedlist"><ul type="disc"><li>
all Fusion <a href="../adapters.html" title=" Adapters">functional adapters</a>
</li></ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="callable.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="def_callable.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,58 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Generation</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functional.html" title="Functional">
<link rel="prev" href="adapters/unfused_typed.html" title="unfused_typed">
<link rel="next" href="generation/functions.html" title="Functions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="adapters/unfused_typed.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="generation/functions.html"><img src="../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.functional.generation"></a><a href="generation.html" title="Generation">Generation</a></h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="generation/functions.html">Functions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="generation/functions/make_fused.html">make_fused</a></span></dt>
<dt><span class="section"><a href="generation/functions/make_fused_procedure.html">make_fused_procedure</a></span></dt>
<dt><span class="section"><a href="generation/functions/make_fused_function_object.html">make_fused_function_object</a></span></dt>
<dt><span class="section"><a href="generation/functions/make_unfused_generic.html">make_unfused_generic</a></span></dt>
<dt><span class="section"><a href="generation/functions/make_unfused_lvalue_args.html">make_unfused_lvalue_args</a></span></dt>
<dt><span class="section"><a href="generation/functions/make_unfused_rvalue_args.html">make_unfused_rvalue_args</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="generation/metafunctions.html">Metafunctions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="generation/metafunctions/make_fused.html">make_fused</a></span></dt>
<dt><span class="section"><a href="generation/metafunctions/make_fused_procedure.html">make_fused_procedure</a></span></dt>
<dt><span class="section"><a href="generation/metafunctions/make_fused_function_object.html">make_fused_function_object</a></span></dt>
<dt><span class="section"><a href="generation/metafunctions/make_unfused_generic.html">make_unfused_generic</a></span></dt>
<dt><span class="section"><a href="generation/metafunctions/make_unfused_lvalue_args.html">make_unfused_lvalue_args</a></span></dt>
<dt><span class="section"><a href="generation/metafunctions/make_unfused_rvalue_args.html">make_unfused_rvalue_args</a></span></dt>
</dl></dd>
</dl></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="adapters/unfused_typed.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="generation/functions.html"><img src="../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,46 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Functions</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../generation.html" title="Generation">
<link rel="prev" href="../generation.html" title="Generation">
<link rel="next" href="functions/make_fused.html" title="make_fused">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../generation.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../generation.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="functions/make_fused.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.generation.functions"></a><a href="functions.html" title="Functions">Functions</a></h4></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="functions/make_fused.html">make_fused</a></span></dt>
<dt><span class="section"><a href="functions/make_fused_procedure.html">make_fused_procedure</a></span></dt>
<dt><span class="section"><a href="functions/make_fused_function_object.html">make_fused_function_object</a></span></dt>
<dt><span class="section"><a href="functions/make_unfused_generic.html">make_unfused_generic</a></span></dt>
<dt><span class="section"><a href="functions/make_unfused_lvalue_args.html">make_unfused_lvalue_args</a></span></dt>
<dt><span class="section"><a href="functions/make_unfused_rvalue_args.html">make_unfused_rvalue_args</a></span></dt>
</dl></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../generation.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../generation.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="functions/make_fused.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,129 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>make_fused</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="../functions.html" title="Functions">
<link rel="next" href="make_fused_procedure.html" title="make_fused_procedure">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../functions.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_fused_procedure.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.functional.generation.functions.make_fused"></a><a href="make_fused.html" title="make_fused">make_fused</a></h5></div></div></div>
<a name="fusion.functional.generation.functions.make_fused.description"></a><h6>
<a name="id1220368"></a>
<a href="make_fused.html#fusion.functional.generation.functions.make_fused.description">Description</a>
</h6>
<p>
Creates a <a href="../../adapters/fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a> adapter for a given <a href="../../concepts/def_callable.html" title=" Deferred
Callable Object">Deferred Callable Object</a>.
The usual <a href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element
conversion</em></span></a> is applied to the target function.
</p>
<a name="fusion.functional.generation.functions.make_fused.synopsis"></a><h6>
<a name="id1220428"></a>
<a href="make_fused.html#fusion.functional.generation.functions.make_fused.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
<span class="keyword">inline</span> <span class="keyword">typename</span> <a href="../metafunctions/make_fused.html" title="make_fused"><code class="computeroutput"><span class="identifier">make_fused</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">make_fused</span><span class="special">(</span><span class="identifier">F</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<a name="fusion.functional.generation.functions.make_fused.parameters"></a><h6>
<a name="id1220562"></a>
<a href="make_fused.html#fusion.functional.generation.functions.make_fused.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>Model
of <a href="../../concepts/def_callable.html" title=" Deferred
Callable Object">Deferred
Callable Object</a>
</td>
<td>The function to transform.</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.generation.functions.make_fused.expression_semantics"></a><h6>
<a name="id1220641"></a>
<a href="make_fused.html#fusion.functional.generation.functions.make_fused.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">make_fused</span><span class="special">(</span><span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: A specialization of <a href="../../adapters/fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a <a href="../../adapters/fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a> adapter for <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<a name="fusion.functional.generation.functions.make_fused.header"></a><h6>
<a name="id1220745"></a>
<a href="make_fused.html#fusion.functional.generation.functions.make_fused.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.functions.make_fused.example"></a><h6>
<a name="id1220837"></a>
<a href="make_fused.html#fusion.functional.generation.functions.make_fused.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">float</span> <span class="identifier">sub</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">a</span> <span class="special">-</span> <span class="identifier">b</span><span class="special">;</span> <span class="special">}</span>
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
<span class="special">{</span>
<a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">a</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">2.0f</span><span class="special">);</span>
<a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">b</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">1.5f</span><span class="special">);</span>
<a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">float</span><span class="special">,</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">c</span><span class="special">(</span><span class="number">1.0f</span><span class="special">,</span><span class="number">0.5f</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">c</span> <span class="special">==</span> <a href="../../../algorithms/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><a href="../../../algorithms/transformation/functions/zip.html" title="zip"><code class="computeroutput"><span class="identifier">zip</span></code></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">make_fused</span><span class="special">(&amp;</span> <span class="identifier">sub</span><span class="special">)));</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">c</span> <span class="special">==</span> <a href="../../../algorithms/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><a href="../../../algorithms/transformation/functions/zip.html" title="zip"><code class="computeroutput"><span class="identifier">zip</span></code></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">make_fused</span><span class="special">(</span><a href="http://www.sgi.com/tech/stl/minus.html" target="_top"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">minus</span></code></a><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;())));</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.functions.make_fused.see_also"></a><h6>
<a name="id1221372"></a>
<a href="make_fused.html#fusion.functional.generation.functions.make_fused.see_also">See
also</a>
</h6>
<div class="itemizedlist"><ul type="disc">
<li><a href="../../adapters/fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a></li>
<li><a href="../../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a></li>
<li><a href="../metafunctions/make_fused.html" title="make_fused"><code class="computeroutput"><span class="identifier">make_fused</span></code></a></li>
</ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../functions.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_fused_procedure.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,143 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>make_fused_function_object</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="make_fused_procedure.html" title="make_fused_procedure">
<link rel="next" href="make_unfused_generic.html" title="make_unfused_generic">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_fused_procedure.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_unfused_generic.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.functional.generation.functions.make_fused_function_object"></a><a href="make_fused_function_object.html" title="make_fused_function_object">make_fused_function_object</a></h5></div></div></div>
<a name="fusion.functional.generation.functions.make_fused_function_object.description"></a><h6>
<a name="id1222293"></a>
<a href="make_fused_function_object.html#fusion.functional.generation.functions.make_fused_function_object.description">Description</a>
</h6>
<p>
Creates a <a href="../../adapters/fused_function_object.html" title="fused_function_object"><code class="computeroutput"><span class="identifier">fused_function_object</span></code></a> adapter
for a given <a href="../../concepts/def_callable.html" title=" Deferred
Callable Object">Deferred
Callable Object</a>. The usual <a href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element
conversion</em></span></a> is applied to the target function.
</p>
<a name="fusion.functional.generation.functions.make_fused_function_object.synopsis"></a><h6>
<a name="id1222355"></a>
<a href="make_fused_function_object.html#fusion.functional.generation.functions.make_fused_function_object.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
<span class="keyword">inline</span> <span class="keyword">typename</span> <a href="../metafunctions/make_fused_function_object.html" title="make_fused_function_object"><code class="computeroutput"><span class="identifier">make_fused_function_object</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">make_fused_function_object</span><span class="special">(</span><span class="identifier">F</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<a name="fusion.functional.generation.functions.make_fused_function_object.parameters"></a><h6>
<a name="id1222493"></a>
<a href="make_fused_function_object.html#fusion.functional.generation.functions.make_fused_function_object.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>Model
of <a href="../../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>The function to transform.</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.generation.functions.make_fused_function_object.expression_semantics"></a><h6>
<a name="id1222572"></a>
<a href="make_fused_function_object.html#fusion.functional.generation.functions.make_fused_function_object.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">make_fused_function_object</span><span class="special">(</span><span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: A specialization of <a href="../../adapters/fused_function_object.html" title="fused_function_object"><code class="computeroutput"><span class="identifier">fused_function_object</span></code></a>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a <a href="../../adapters/fused_function_object.html" title="fused_function_object"><code class="computeroutput"><span class="identifier">fused_function_object</span></code></a> adapter
for <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<a name="fusion.functional.generation.functions.make_fused_function_object.header"></a><h6>
<a name="id1222681"></a>
<a href="make_fused_function_object.html#fusion.functional.generation.functions.make_fused_function_object.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.functions.make_fused_function_object.example"></a><h6>
<a name="id1222775"></a>
<a href="make_fused_function_object.html#fusion.functional.generation.functions.make_fused_function_object.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">sub</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">_</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="identifier">T</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">lhs</span> <span class="special">-</span> <span class="identifier">rhs</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
<span class="special">{</span>
<a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">a</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">2.0f</span><span class="special">);</span>
<a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">b</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">1.5f</span><span class="special">);</span>
<a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">c</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">0.5f</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">c</span> <span class="special">==</span> <a href="../../../algorithms/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><a href="../../../algorithms/transformation/functions/zip.html" title="zip"><code class="computeroutput"><span class="identifier">zip</span></code></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">make_fused_function_object</span><span class="special">(</span><span class="identifier">sub</span><span class="special">())));</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.functions.make_fused_function_object.see_also"></a><h6>
<a name="id1223328"></a>
<a href="make_fused_function_object.html#fusion.functional.generation.functions.make_fused_function_object.see_also">See
also</a>
</h6>
<div class="itemizedlist"><ul type="disc">
<li><a href="../../adapters/fused_function_object.html" title="fused_function_object"><code class="computeroutput"><span class="identifier">fused_function_object</span></code></a></li>
<li><a href="../../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a></li>
<li><a href="../metafunctions/make_fused_function_object.html" title="make_fused_function_object"><code class="computeroutput"><span class="identifier">make_fused_function_object</span></code></a></li>
</ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_fused_procedure.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_unfused_generic.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,124 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>make_fused_procedure</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="make_fused.html" title="make_fused">
<link rel="next" href="make_fused_function_object.html" title="make_fused_function_object">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_fused.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_fused_function_object.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.functional.generation.functions.make_fused_procedure"></a><a href="make_fused_procedure.html" title="make_fused_procedure">make_fused_procedure</a></h5></div></div></div>
<a name="fusion.functional.generation.functions.make_fused_procedure.description"></a><h6>
<a name="id1221473"></a>
<a href="make_fused_procedure.html#fusion.functional.generation.functions.make_fused_procedure.description">Description</a>
</h6>
<p>
Creates a <a href="../../adapters/fused_procedure.html" title="fused_procedure"><code class="computeroutput"><span class="identifier">fused_procedure</span></code></a> adapter for
a given <a href="../../concepts/def_callable.html" title=" Deferred
Callable Object">Deferred
Callable Object</a>. The usual <a href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element
conversion</em></span></a> applied to the target function.
</p>
<a name="fusion.functional.generation.functions.make_fused_procedure.synopsis"></a><h6>
<a name="id1221535"></a>
<a href="make_fused_procedure.html#fusion.functional.generation.functions.make_fused_procedure.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
<span class="keyword">inline</span> <span class="keyword">typename</span> <a href="../metafunctions/make_fused_procedure.html" title="make_fused_procedure"><code class="computeroutput"><span class="identifier">make_fused_procedure</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">make_fused_procedure</span><span class="special">(</span><span class="identifier">F</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<a name="fusion.functional.generation.functions.make_fused_procedure.parameters"></a><h6>
<a name="id1221672"></a>
<a href="make_fused_procedure.html#fusion.functional.generation.functions.make_fused_procedure.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>Model
of <a href="../../concepts/callable.html" title=" Callable Object">Callable
Object</a>
</td>
<td>The function to transform.</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.generation.functions.make_fused_procedure.expression_semantics"></a><h6>
<a name="id1221752"></a>
<a href="make_fused_procedure.html#fusion.functional.generation.functions.make_fused_procedure.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">make_fused_procedure</span><span class="special">(</span><span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: A specialization of <a href="../../adapters/fused_procedure.html" title="fused_procedure"><code class="computeroutput"><span class="identifier">fused_procedure</span></code></a>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a <a href="../../adapters/fused_procedure.html" title="fused_procedure"><code class="computeroutput"><span class="identifier">fused_procedure</span></code></a> adapter for
<code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<a name="fusion.functional.generation.functions.make_fused_procedure.header"></a><h6>
<a name="id1221857"></a>
<a href="make_fused_procedure.html#fusion.functional.generation.functions.make_fused_procedure.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused_procedure</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.functions.make_fused_procedure.example"></a><h6>
<a name="id1221952"></a>
<a href="make_fused_procedure.html#fusion.functional.generation.functions.make_fused_procedure.example">Example</a>
</h6>
<pre class="programlisting">
<a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span>
<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">;</span>
<span class="identifier">make_fused_procedure</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">+=</span> <span class="identifier">_2</span> <span class="special">-</span> <span class="identifier">_3</span><span class="special">)(</span><span class="identifier">v</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="../../../sequences/intrinsics/functions/front.html" title="front"><code class="computeroutput"><span class="identifier">front</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">==</span> <span class="number">0</span><span class="special">);</span>
</pre>
<a name="fusion.functional.generation.functions.make_fused_procedure.see_also"></a><h6>
<a name="id1222190"></a>
<a href="make_fused_procedure.html#fusion.functional.generation.functions.make_fused_procedure.see_also">See
also</a>
</h6>
<div class="itemizedlist"><ul type="disc">
<li><a href="../../adapters/fused_procedure.html" title="fused_procedure"><code class="computeroutput"><span class="identifier">fused_procedure</span></code></a></li>
<li><a href="../../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a></li>
<li><a href="../metafunctions/make_fused_procedure.html" title="make_fused_procedure"><code class="computeroutput"><span class="identifier">make_fused_procedure</span></code></a></li>
</ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_fused.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_fused_function_object.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,155 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>make_unfused_generic</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="make_fused_function_object.html" title="make_fused_function_object">
<link rel="next" href="make_unfused_lvalue_args.html" title="make_unfused_lvalue_args">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_fused_function_object.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_unfused_lvalue_args.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.functional.generation.functions.make_unfused_generic"></a><a href="make_unfused_generic.html" title="make_unfused_generic">make_unfused_generic</a></h5></div></div></div>
<a name="fusion.functional.generation.functions.make_unfused_generic.description"></a><h6>
<a name="id1240906"></a>
<a href="make_unfused_generic.html#fusion.functional.generation.functions.make_unfused_generic.description">Description</a>
</h6>
<p>
Creates a <a href="../../adapters/unfused_generic.html" title="unfused_generic"><code class="computeroutput"><span class="identifier">unfused_generic</span></code></a> adapter for
a given, unary <a href="../../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>. The usual <a href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element
conversion</em></span></a> is applied to the target function.
</p>
<a name="fusion.functional.generation.functions.make_unfused_generic.synopsis"></a><h6>
<a name="id1240966"></a>
<a href="make_unfused_generic.html#fusion.functional.generation.functions.make_unfused_generic.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
<span class="keyword">inline</span> <span class="keyword">typename</span> <a href="../metafunctions/make_unfused_generic.html" title="make_unfused_generic"><code class="computeroutput"><span class="identifier">make_unfused_generic</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">make_unfused_generic</span><span class="special">(</span><span class="identifier">F</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<a name="fusion.functional.generation.functions.make_unfused_generic.parameters"></a><h6>
<a name="id1241104"></a>
<a href="make_unfused_generic.html#fusion.functional.generation.functions.make_unfused_generic.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>Model
of <a href="../../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>The function to transform.</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.generation.functions.make_unfused_generic.expression_semantics"></a><h6>
<a name="id1241184"></a>
<a href="make_unfused_generic.html#fusion.functional.generation.functions.make_unfused_generic.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">make_unfused_generic</span><span class="special">(</span><span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: A specialization of <a href="../../adapters/unfused_generic.html" title="unfused_generic"><code class="computeroutput"><span class="identifier">unfused_generic</span></code></a>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a <a href="../../adapters/unfused_generic.html" title="unfused_generic"><code class="computeroutput"><span class="identifier">unfused_generic</span></code></a> adapter for
<code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<a name="fusion.functional.generation.functions.make_unfused_generic.header"></a><h6>
<a name="id1241290"></a>
<a href="make_unfused_generic.html#fusion.functional.generation.functions.make_unfused_generic.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_unfused_generic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.functions.make_unfused_generic.example"></a><h6>
<a name="id1241384"></a>
<a href="make_unfused_generic.html#fusion.functional.generation.functions.make_unfused_generic.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">bottles_song</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span>
<span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">less</span><span class="special">&lt;</span> <a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">&gt;,</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;</span> <span class="special">&gt;,</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">blank</span><span class="special">,</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">identity</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span>
<span class="special">{</span> <span class="special">};</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_c</span><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">,</span><span class="number">0</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">at_c</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">s</span><span class="special">);</span>
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_c</span><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">,</span><span class="number">1</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">what</span> <span class="special">=</span> <span class="identifier">at_c</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">s</span><span class="special">);</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span>
<span class="special">&lt;&lt;</span> <span class="identifier">n</span> <span class="special">&lt;&lt;</span> <span class="string">" bottles of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">what</span> <span class="special">&lt;&lt;</span> <span class="string">" on the wall.\n"</span>
<span class="special">&lt;&lt;</span> <span class="identifier">n</span> <span class="special">&lt;&lt;</span> <span class="string">" bottles of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">what</span> <span class="special">&lt;&lt;</span> <span class="string">"!\n"</span>
<span class="special">&lt;&lt;</span> <span class="string">"Take one down - pass it around.\n"</span><span class="special">;</span>
<span class="identifier">n</span> <span class="special">-=</span> <span class="number">1</span><span class="special">;</span> <span class="comment">// glug glug...
</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span>
<span class="special">&lt;&lt;</span> <span class="identifier">n</span> <span class="special">&lt;&lt;</span> <span class="string">" bottles of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">what</span> <span class="special">&lt;&lt;</span> <span class="string">" on the wall.\n"</span>
<span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
<span class="special">{</span>
<span class="keyword">unsigned</span> <span class="identifier">n_milk</span> <span class="special">=</span> <span class="number">99</span><span class="special">;</span>
<span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="number">3</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
<span class="identifier">make_unfused_generic</span><span class="special">(</span><span class="identifier">bottles_song</span><span class="special">())(</span><span class="identifier">n_milk</span><span class="special">,</span><span class="string">"milk"</span><span class="special">);</span>
<span class="comment">// 96 bottles left for me
</span><span class="special">}</span>
</pre>
<a name="fusion.functional.generation.functions.make_unfused_generic.see_also"></a><h6>
<a name="id1242286"></a>
<a href="make_unfused_generic.html#fusion.functional.generation.functions.make_unfused_generic.see_also">See
also</a>
</h6>
<div class="itemizedlist"><ul type="disc">
<li><a href="../../adapters/unfused_generic.html" title="unfused_generic"><code class="computeroutput"><span class="identifier">unfused_generic</span></code></a></li>
<li><a href="../../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a></li>
<li><a href="../metafunctions/make_unfused_generic.html" title="make_unfused_generic"><code class="computeroutput"><span class="identifier">make_unfused_generic</span></code></a></li>
</ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_fused_function_object.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_unfused_lvalue_args.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,142 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>make_unfused_lvalue_args</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="make_unfused_generic.html" title="make_unfused_generic">
<link rel="next" href="make_unfused_rvalue_args.html" title="make_unfused_rvalue_args">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_unfused_generic.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_unfused_rvalue_args.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.functional.generation.functions.make_unfused_lvalue_args"></a><a href="make_unfused_lvalue_args.html" title="make_unfused_lvalue_args">make_unfused_lvalue_args</a></h5></div></div></div>
<a name="fusion.functional.generation.functions.make_unfused_lvalue_args.description"></a><h6>
<a name="id1242387"></a>
<a href="make_unfused_lvalue_args.html#fusion.functional.generation.functions.make_unfused_lvalue_args.description">Description</a>
</h6>
<p>
Creates a <a href="../../adapters/unfused_lvalue_args.html" title="unfused_lvalue_args"><code class="computeroutput"><span class="identifier">unfused_lvalue_args</span></code></a> adapter
for a given, unary <a href="../../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>. The usual <a href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element
conversion</em></span></a> is applied to the target function.
</p>
<a name="fusion.functional.generation.functions.make_unfused_lvalue_args.synopsis"></a><h6>
<a name="id1242448"></a>
<a href="make_unfused_lvalue_args.html#fusion.functional.generation.functions.make_unfused_lvalue_args.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
<span class="keyword">inline</span> <span class="keyword">typename</span> <a href="../metafunctions/make_unfused_lvalue_args.html" title="make_unfused_lvalue_args"><code class="computeroutput"><span class="identifier">make_unfused_lvalue_args</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">make_unfused_lvalue_args</span><span class="special">(</span><span class="identifier">F</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<a name="fusion.functional.generation.functions.make_unfused_lvalue_args.parameters"></a><h6>
<a name="id1242586"></a>
<a href="make_unfused_lvalue_args.html#fusion.functional.generation.functions.make_unfused_lvalue_args.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>Model
of <a href="../../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>The function to transform.</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.generation.functions.make_unfused_lvalue_args.expression_semantics"></a><h6>
<a name="id1242665"></a>
<a href="make_unfused_lvalue_args.html#fusion.functional.generation.functions.make_unfused_lvalue_args.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">make_unfused_lvalue_args</span><span class="special">(</span><span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: A specialization of <a href="../../adapters/unfused_lvalue_args.html" title="unfused_lvalue_args"><code class="computeroutput"><span class="identifier">unfused_lvalue_args</span></code></a>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a <a href="../../adapters/unfused_lvalue_args.html" title="unfused_lvalue_args"><code class="computeroutput"><span class="identifier">unfused_lvalue_args</span></code></a> adapter
for <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<a name="fusion.functional.generation.functions.make_unfused_lvalue_args.header"></a><h6>
<a name="id1242771"></a>
<a href="make_unfused_lvalue_args.html#fusion.functional.generation.functions.make_unfused_lvalue_args.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_unfused_lvalue_args</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.functions.make_unfused_lvalue_args.example"></a><h6>
<a name="id1242865"></a>
<a href="make_unfused_lvalue_args.html#fusion.functional.generation.functions.make_unfused_lvalue_args.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">fused_incrementer</span>
<span class="special">{</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<a href="../../../algorithms/iteration/functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">,++</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">_1</span><span class="special">);</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
<span class="special">{</span>
<span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="keyword">char</span> <span class="identifier">b</span> <span class="special">=</span> <span class="char">'X'</span><span class="special">;</span>
<span class="identifier">make_unfused_lvalue_args</span><span class="special">(</span><span class="identifier">fused_incrementer</span><span class="special">())(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <span class="number">3</span> <span class="special">&amp;&amp;</span> <span class="identifier">b</span> <span class="special">==</span> <span class="char">'Y'</span><span class="special">);</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.functions.make_unfused_lvalue_args.see_also"></a><h6>
<a name="id1243287"></a>
<a href="make_unfused_lvalue_args.html#fusion.functional.generation.functions.make_unfused_lvalue_args.see_also">See
also</a>
</h6>
<div class="itemizedlist"><ul type="disc">
<li><a href="../../adapters/unfused_lvalue_args.html" title="unfused_lvalue_args"><code class="computeroutput"><span class="identifier">unfused_lvalue_args</span></code></a></li>
<li><a href="../../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a></li>
<li><a href="../metafunctions/make_unfused_lvalue_args.html" title="make_unfused_lvalue_args"><code class="computeroutput"><span class="identifier">make_unfused_lvalue_args</span></code></a></li>
</ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_unfused_generic.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_unfused_rvalue_args.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,141 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>make_unfused_rvalue_args</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="make_unfused_lvalue_args.html" title="make_unfused_lvalue_args">
<link rel="next" href="../metafunctions.html" title="Metafunctions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_unfused_lvalue_args.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.functional.generation.functions.make_unfused_rvalue_args"></a><a href="make_unfused_rvalue_args.html" title="make_unfused_rvalue_args">make_unfused_rvalue_args</a></h5></div></div></div>
<a name="fusion.functional.generation.functions.make_unfused_rvalue_args.description"></a><h6>
<a name="id1243389"></a>
<a href="make_unfused_rvalue_args.html#fusion.functional.generation.functions.make_unfused_rvalue_args.description">Description</a>
</h6>
<p>
Creates a <a href="../../adapters/unfused_rvalue_args.html" title="unfused_rvalue_args"><code class="computeroutput"><span class="identifier">unfused_rvalue_args</span></code></a> adapter
for a given, unary <a href="../../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>. The usual <a href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element
conversion</em></span></a> is applied to the target function.
</p>
<a name="fusion.functional.generation.functions.make_unfused_rvalue_args.synopsis"></a><h6>
<a name="id1243450"></a>
<a href="make_unfused_rvalue_args.html#fusion.functional.generation.functions.make_unfused_rvalue_args.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
<span class="keyword">inline</span> <span class="keyword">typename</span> <a href="../metafunctions/make_unfused_rvalue_args.html" title="make_unfused_rvalue_args"><code class="computeroutput"><span class="identifier">make_unfused_rvalue_args</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">make_unfused_rvalue_args</span><span class="special">(</span><span class="identifier">F</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<a name="fusion.functional.generation.functions.make_unfused_rvalue_args.parameters"></a><h6>
<a name="id1243588"></a>
<a href="make_unfused_rvalue_args.html#fusion.functional.generation.functions.make_unfused_rvalue_args.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>Model
of <a href="../../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>The function to transform.</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.generation.functions.make_unfused_rvalue_args.expression_semantics"></a><h6>
<a name="id1243666"></a>
<a href="make_unfused_rvalue_args.html#fusion.functional.generation.functions.make_unfused_rvalue_args.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">make_unfused_rvalue_args</span><span class="special">(</span><span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: A specialization of <a href="../../adapters/unfused_rvalue_args.html" title="unfused_rvalue_args"><code class="computeroutput"><span class="identifier">unfused_rvalue_args</span></code></a>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a <a href="../../adapters/unfused_rvalue_args.html" title="unfused_rvalue_args"><code class="computeroutput"><span class="identifier">unfused_rvalue_args</span></code></a> adapter
for <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<a name="fusion.functional.generation.functions.make_unfused_rvalue_args.header"></a><h6>
<a name="id1243773"></a>
<a href="make_unfused_rvalue_args.html#fusion.functional.generation.functions.make_unfused_rvalue_args.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_unfused_rvalue_args</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.functions.make_unfused_rvalue_args.example"></a><h6>
<a name="id1243868"></a>
<a href="make_unfused_rvalue_args.html#fusion.functional.generation.functions.make_unfused_rvalue_args.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">sequence_printer</span>
<span class="special">{</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">s</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
<span class="special">{</span>
<span class="identifier">make_unfused_rvalue_args</span><span class="special">(</span><span class="identifier">sequence_printer</span><span class="special">())</span>
<span class="special">(</span><span class="number">24</span><span class="special">,</span><span class="string">"bottles of beer in"</span><span class="special">,</span><span class="char">'a'</span><span class="special">,</span><span class="string">"box."</span><span class="special">);</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.functions.make_unfused_rvalue_args.see_also"></a><h6>
<a name="id1244206"></a>
<a href="make_unfused_rvalue_args.html#fusion.functional.generation.functions.make_unfused_rvalue_args.see_also">See
also</a>
</h6>
<div class="itemizedlist"><ul type="disc">
<li><a href="../../adapters/unfused_rvalue_args.html" title="unfused_rvalue_args"><code class="computeroutput"><span class="identifier">unfused_rvalue_args</span></code></a></li>
<li><a href="../../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a></li>
<li><a href="../metafunctions/make_unfused_rvalue_args.html" title="make_unfused_rvalue_args"><code class="computeroutput"><span class="identifier">make_unfused_rvalue_args</span></code></a></li>
</ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_unfused_lvalue_args.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,46 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Metafunctions</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../generation.html" title="Generation">
<link rel="prev" href="functions/make_unfused_rvalue_args.html" title="make_unfused_rvalue_args">
<link rel="next" href="metafunctions/make_fused.html" title="make_fused">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="functions/make_unfused_rvalue_args.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../generation.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/make_fused.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.generation.metafunctions"></a><a href="metafunctions.html" title="Metafunctions">Metafunctions</a></h4></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="metafunctions/make_fused.html">make_fused</a></span></dt>
<dt><span class="section"><a href="metafunctions/make_fused_procedure.html">make_fused_procedure</a></span></dt>
<dt><span class="section"><a href="metafunctions/make_fused_function_object.html">make_fused_function_object</a></span></dt>
<dt><span class="section"><a href="metafunctions/make_unfused_generic.html">make_unfused_generic</a></span></dt>
<dt><span class="section"><a href="metafunctions/make_unfused_lvalue_args.html">make_unfused_lvalue_args</a></span></dt>
<dt><span class="section"><a href="metafunctions/make_unfused_rvalue_args.html">make_unfused_rvalue_args</a></span></dt>
</dl></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="functions/make_unfused_rvalue_args.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../generation.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/make_fused.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,72 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>make_fused</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="../metafunctions.html" title="Metafunctions">
<link rel="next" href="make_fused_procedure.html" title="make_fused_procedure">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../metafunctions.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_fused_procedure.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.functional.generation.metafunctions.make_fused"></a><a href="make_fused.html" title="make_fused">make_fused</a></h5></div></div></div>
<a name="fusion.functional.generation.metafunctions.make_fused.description"></a><h6>
<a name="id1244325"></a>
<a href="make_fused.html#fusion.functional.generation.metafunctions.make_fused.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/make_fused.html" title="make_fused"><code class="computeroutput"><span class="identifier">make_fused</span></code></a>.
</p>
<a name="fusion.functional.generation.metafunctions.make_fused.header"></a><h6>
<a name="id1244367"></a>
<a href="make_fused.html#fusion.functional.generation.metafunctions.make_fused.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.metafunctions.make_fused.synopsis"></a><h6>
<a name="id1244460"></a>
<a href="make_fused.html#fusion.functional.generation.metafunctions.make_fused.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">namespace</span> <span class="identifier">result_of</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">make_fused</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.metafunctions.make_fused.see_also"></a><h6>
<a name="id1244577"></a>
<a href="make_fused.html#fusion.functional.generation.metafunctions.make_fused.see_also">See
also</a>
</h6>
<div class="itemizedlist"><ul type="disc"><li><a href="../functions/make_fused.html" title="make_fused"><code class="computeroutput"><span class="identifier">make_fused</span></code></a></li></ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../metafunctions.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_fused_procedure.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,72 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>make_fused_function_object</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="make_fused_procedure.html" title="make_fused_procedure">
<link rel="next" href="make_unfused_generic.html" title="make_unfused_generic">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_fused_procedure.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_unfused_generic.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.functional.generation.metafunctions.make_fused_function_object"></a><a href="make_fused_function_object.html" title="make_fused_function_object">make_fused_function_object</a></h5></div></div></div>
<a name="fusion.functional.generation.metafunctions.make_fused_function_object.description"></a><h6>
<a name="id1244967"></a>
<a href="make_fused_function_object.html#fusion.functional.generation.metafunctions.make_fused_function_object.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/make_fused_function_object.html" title="make_fused_function_object"><code class="computeroutput"><span class="identifier">make_fused_function_object</span></code></a>.
</p>
<a name="fusion.functional.generation.metafunctions.make_fused_function_object.header"></a><h6>
<a name="id1245012"></a>
<a href="make_fused_function_object.html#fusion.functional.generation.metafunctions.make_fused_function_object.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.metafunctions.make_fused_function_object.synopsis"></a><h6>
<a name="id1245107"></a>
<a href="make_fused_function_object.html#fusion.functional.generation.metafunctions.make_fused_function_object.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">namespace</span> <span class="identifier">result_of</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">make_fused_function_object</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.metafunctions.make_fused_function_object.see_also"></a><h6>
<a name="id1245224"></a>
<a href="make_fused_function_object.html#fusion.functional.generation.metafunctions.make_fused_function_object.see_also">See
also</a>
</h6>
<div class="itemizedlist"><ul type="disc"><li><a href="../functions/make_fused_function_object.html" title="make_fused_function_object"><code class="computeroutput"><span class="identifier">make_fused_function_object</span></code></a></li></ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_fused_procedure.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_unfused_generic.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,72 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>make_fused_procedure</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="make_fused.html" title="make_fused">
<link rel="next" href="make_fused_function_object.html" title="make_fused_function_object">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_fused.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_fused_function_object.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.functional.generation.metafunctions.make_fused_procedure"></a><a href="make_fused_procedure.html" title="make_fused_procedure">make_fused_procedure</a></h5></div></div></div>
<a name="fusion.functional.generation.metafunctions.make_fused_procedure.description"></a><h6>
<a name="id1244642"></a>
<a href="make_fused_procedure.html#fusion.functional.generation.metafunctions.make_fused_procedure.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/make_fused_procedure.html" title="make_fused_procedure"><code class="computeroutput"><span class="identifier">make_fused_procedure</span></code></a>.
</p>
<a name="fusion.functional.generation.metafunctions.make_fused_procedure.header"></a><h6>
<a name="id1244686"></a>
<a href="make_fused_procedure.html#fusion.functional.generation.metafunctions.make_fused_procedure.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused_procedure</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.metafunctions.make_fused_procedure.synopsis"></a><h6>
<a name="id1244781"></a>
<a href="make_fused_procedure.html#fusion.functional.generation.metafunctions.make_fused_procedure.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">namespace</span> <span class="identifier">result_of</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">make_fused_procedure</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.metafunctions.make_fused_procedure.see_also"></a><h6>
<a name="id1244899"></a>
<a href="make_fused_procedure.html#fusion.functional.generation.metafunctions.make_fused_procedure.see_also">See
also</a>
</h6>
<div class="itemizedlist"><ul type="disc"><li><a href="../functions/make_fused_procedure.html" title="make_fused_procedure"><code class="computeroutput"><span class="identifier">make_fused_procedure</span></code></a></li></ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_fused.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_fused_function_object.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,72 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>make_unfused_generic</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="make_fused_function_object.html" title="make_fused_function_object">
<link rel="next" href="make_unfused_lvalue_args.html" title="make_unfused_lvalue_args">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_fused_function_object.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_unfused_lvalue_args.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.functional.generation.metafunctions.make_unfused_generic"></a><a href="make_unfused_generic.html" title="make_unfused_generic">make_unfused_generic</a></h5></div></div></div>
<a name="fusion.functional.generation.metafunctions.make_unfused_generic.description"></a><h6>
<a name="id1245290"></a>
<a href="make_unfused_generic.html#fusion.functional.generation.metafunctions.make_unfused_generic.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/make_unfused_generic.html" title="make_unfused_generic"><code class="computeroutput"><span class="identifier">make_unfused_generic</span></code></a>.
</p>
<a name="fusion.functional.generation.metafunctions.make_unfused_generic.header"></a><h6>
<a name="id1245334"></a>
<a href="make_unfused_generic.html#fusion.functional.generation.metafunctions.make_unfused_generic.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_unfused_generic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.metafunctions.make_unfused_generic.synopsis"></a><h6>
<a name="id1245429"></a>
<a href="make_unfused_generic.html#fusion.functional.generation.metafunctions.make_unfused_generic.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">namespace</span> <span class="identifier">result_of</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">make_unfused_generic</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.metafunctions.make_unfused_generic.see_also"></a><h6>
<a name="id1245547"></a>
<a href="make_unfused_generic.html#fusion.functional.generation.metafunctions.make_unfused_generic.see_also">See
also</a>
</h6>
<div class="itemizedlist"><ul type="disc"><li><a href="../functions/make_unfused_generic.html" title="make_unfused_generic"><code class="computeroutput"><span class="identifier">make_unfused_generic</span></code></a></li></ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_fused_function_object.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_unfused_lvalue_args.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,72 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>make_unfused_lvalue_args</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="make_unfused_generic.html" title="make_unfused_generic">
<link rel="next" href="make_unfused_rvalue_args.html" title="make_unfused_rvalue_args">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_unfused_generic.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_unfused_rvalue_args.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.functional.generation.metafunctions.make_unfused_lvalue_args"></a><a href="make_unfused_lvalue_args.html" title="make_unfused_lvalue_args">make_unfused_lvalue_args</a></h5></div></div></div>
<a name="fusion.functional.generation.metafunctions.make_unfused_lvalue_args.description"></a><h6>
<a name="id1245614"></a>
<a href="make_unfused_lvalue_args.html#fusion.functional.generation.metafunctions.make_unfused_lvalue_args.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/make_unfused_lvalue_args.html" title="make_unfused_lvalue_args"><code class="computeroutput"><span class="identifier">make_unfused_lvalue_args</span></code></a>.
</p>
<a name="fusion.functional.generation.metafunctions.make_unfused_lvalue_args.header"></a><h6>
<a name="id1245659"></a>
<a href="make_unfused_lvalue_args.html#fusion.functional.generation.metafunctions.make_unfused_lvalue_args.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_unfused_lvalue_args</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.metafunctions.make_unfused_lvalue_args.synopsis"></a><h6>
<a name="id1245753"></a>
<a href="make_unfused_lvalue_args.html#fusion.functional.generation.metafunctions.make_unfused_lvalue_args.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">namespace</span> <span class="identifier">result_of</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">make_unfused_lvalue_args</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.metafunctions.make_unfused_lvalue_args.see_also"></a><h6>
<a name="id1245872"></a>
<a href="make_unfused_lvalue_args.html#fusion.functional.generation.metafunctions.make_unfused_lvalue_args.see_also">See
also</a>
</h6>
<div class="itemizedlist"><ul type="disc"><li><a href="../functions/make_unfused_lvalue_args.html" title="make_unfused_lvalue_args"><code class="computeroutput"><span class="identifier">make_unfused_lvalue_args</span></code></a></li></ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_unfused_generic.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="make_unfused_rvalue_args.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,72 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>make_unfused_rvalue_args</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="make_unfused_lvalue_args.html" title="make_unfused_lvalue_args">
<link rel="next" href="../../../notes.html" title="Notes">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_unfused_lvalue_args.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../../notes.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.functional.generation.metafunctions.make_unfused_rvalue_args"></a><a href="make_unfused_rvalue_args.html" title="make_unfused_rvalue_args">make_unfused_rvalue_args</a></h5></div></div></div>
<a name="fusion.functional.generation.metafunctions.make_unfused_rvalue_args.description"></a><h6>
<a name="id1245937"></a>
<a href="make_unfused_rvalue_args.html#fusion.functional.generation.metafunctions.make_unfused_rvalue_args.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/make_unfused_rvalue_args.html" title="make_unfused_rvalue_args"><code class="computeroutput"><span class="identifier">make_unfused_rvalue_args</span></code></a>.
</p>
<a name="fusion.functional.generation.metafunctions.make_unfused_rvalue_args.header"></a><h6>
<a name="id1245981"></a>
<a href="make_unfused_rvalue_args.html#fusion.functional.generation.metafunctions.make_unfused_rvalue_args.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_unfused_rvalue_args</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.metafunctions.make_unfused_rvalue_args.synopsis"></a><h6>
<a name="id1246076"></a>
<a href="make_unfused_rvalue_args.html#fusion.functional.generation.metafunctions.make_unfused_rvalue_args.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">namespace</span> <span class="identifier">result_of</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">make_unfused_rvalue_args</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.metafunctions.make_unfused_rvalue_args.see_also"></a><h6>
<a name="id1246194"></a>
<a href="make_unfused_rvalue_args.html#fusion.functional.generation.metafunctions.make_unfused_rvalue_args.see_also">See
also</a>
</h6>
<div class="itemizedlist"><ul type="disc"><li><a href="../functions/make_unfused_rvalue_args.html" title="make_unfused_rvalue_args"><code class="computeroutput"><span class="identifier">make_unfused_rvalue_args</span></code></a></li></ul></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_unfused_lvalue_args.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../../notes.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,53 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Invocation</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functional.html" title="Functional">
<link rel="prev" href="concepts/def_callable.html" title=" Deferred
Callable Object">
<link rel="next" href="invocation/functions.html" title="Functions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="concepts/def_callable.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="invocation/functions.html"><img src="../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.functional.invocation"></a><a href="invocation.html" title="Invocation">Invocation</a></h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="invocation/functions.html">Functions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="invocation/functions/invoke.html">invoke</a></span></dt>
<dt><span class="section"><a href="invocation/functions/invoke_procedure.html">invoke_procedure</a></span></dt>
<dt><span class="section"><a href="invocation/functions/invoke_function_object.html">invoke_function_object</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="invocation/metafunctions.html">Metafunctions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="invocation/metafunctions/invoke.html">invoke</a></span></dt>
<dt><span class="section"><a href="invocation/metafunctions/invoke_procedure.html">invoke_procedure</a></span></dt>
<dt><span class="section"><a href="invocation/metafunctions/invoke_function_object.html">invoke_function_object</a></span></dt>
</dl></dd>
</dl></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="concepts/def_callable.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="invocation/functions.html"><img src="../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,43 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Functions</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../invocation.html" title="Invocation">
<link rel="prev" href="../invocation.html" title="Invocation">
<link rel="next" href="functions/invoke.html" title="invoke">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../invocation.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../invocation.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="functions/invoke.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.invocation.functions"></a><a href="functions.html" title="Functions">Functions</a></h4></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="functions/invoke.html">invoke</a></span></dt>
<dt><span class="section"><a href="functions/invoke_procedure.html">invoke_procedure</a></span></dt>
<dt><span class="section"><a href="functions/invoke_function_object.html">invoke_function_object</a></span></dt>
</dl></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../invocation.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../invocation.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="functions/invoke.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More