introduces documentation for deduce / deduce_sequence

[SVN r36813]
This commit is contained in:
Tobias Schwinger
2007-01-27 10:52:43 +00:00
parent 1c542fa544
commit 586440e16e
215 changed files with 4061 additions and 3767 deletions

View File

@ -50,6 +50,8 @@
[def __is_view__ [link fusion.support.is_view `is_view`]]
[def __tag_of__ [link fusion.support.tag_of `tag_of`]]
[def __category_of__ [link fusion.support.category_of `category_of`]]
[def __deduce__ [link fusion.support.deduce `deduce`]]
[def __deduce_sequence__ [link fusion.support.deduce_sequence `deduce_sequence`]]
[def __fusion_pair__ [link fusion.support.pair `fusion::pair`]]
[def __pair__ [link fusion.support.pair `pair`]]
[def __fusion_make_pair__ [link fusion.support.pair `make_pair`]]

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,7 +3,7 @@
<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
@ -47,7 +47,7 @@
</dl></dd>
</dl></div>
<a name="fusion.algorithms.lazy_evaluation"></a><h3>
<a name="id550903"></a>
<a name="id1080122"></a>
<a href="algorithms.html#fusion.algorithms.lazy_evaluation">Lazy Evaluation</a>
</h3>
<p>
@ -61,39 +61,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="id551043"></a>
<a name="id1080250"></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="id551254"></a>
<a name="id1080438"></a>
<a href="algorithms.html#fusion.algorithms.header">Header</a>
</h3>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<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.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="../algorithms.html" title="Algorithms">

View File

@ -4,7 +4,7 @@
<title> Polymorphic Function
Object</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="../concepts.html" title="Concepts">
<link rel="prev" href="../concepts.html" title="Concepts">
@ -29,39 +29,39 @@
Object"> Polymorphic Function
Object</a></h4></div></div></div>
<a name="fusion.algorithms.concepts.poly.description"></a><h5>
<a name="id551375"></a>
<a name="id1080544"></a>
<a href="poly.html#fusion.algorithms.concepts.poly.description">Description</a>
</h5>
<p>
A type of function object with a nested metafunction <tt class="computeroutput"><span class="identifier">result</span></tt>.
<tt class="computeroutput"><span class="identifier">result</span></tt> returns the result
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>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">F</span></tt></span></dt>
<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"><tt class="computeroutput"><span class="identifier">f</span></tt></span></dt>
<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"><tt class="computeroutput"><span class="identifier">T1</span>
<span class="special">...</span><span class="identifier">TN</span></tt></span></dt>
<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"><tt class="computeroutput"><span class="identifier">t1</span>
<span class="special">...</span><span class="identifier">tN</span></tt></span></dt>
<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 <tt class="computeroutput"><span class="identifier">T1</span> <span class="special">...</span><span class="identifier">TN</span></tt>
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.algorithms.concepts.poly.refinement_of"></a><h5>
<a name="id551550"></a>
<a name="id1080698"></a>
<a href="poly.html#fusion.algorithms.concepts.poly.refinement_of">Refinement
of</a>
</h5>
@ -69,7 +69,7 @@
MPL Metafunction Class
</p>
<a name="fusion.algorithms.concepts.poly.expression_requirements"></a><h5>
<a name="id551581"></a>
<a name="id1080725"></a>
<a href="poly.html#fusion.algorithms.concepts.poly.expression_requirements">Expression
requirements</a>
</h5>
@ -86,8 +86,8 @@
Complexity</th>
</tr></thead>
<tbody><tr>
<td><tt 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></tt></td>
<td><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">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></tt></td>
<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>

View File

@ -3,7 +3,7 @@
<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
@ -31,7 +31,7 @@
a sequence repeatedly applying an operation to its elements.
</p>
<a name="fusion.algorithms.iteration.header"></a><h4>
<a name="id551771"></a>
<a name="id1080893"></a>
<a href="iteration.html#fusion.algorithms.iteration.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="../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="id553358"></a>
<a name="id1082295"></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
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="id553442"></a>
<a name="id1082370"></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="id553702"></a><p class="title"><b>Table<EFBFBD>1.33.<2E>Parameters</b></p>
<a name="id1082598"></a><p class="title"><b>Table<EFBFBD>1.33.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -64,24 +64,24 @@
</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
Object">Polymorphic
@ -93,7 +93,7 @@
</table>
</div>
<a name="fusion.algorithms.iteration.functions.accumulate.expression_semantics"></a><h6>
<a name="id553933"></a>
<a name="id1082801"></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="id554139"></a>
<a name="id1082808"></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="id554230"></a>
<a name="id1083062"></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="id554336"></a>
<a name="id1083155"></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="id551906"></a>
<a name="id1081011"></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
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="id551954"></a>
<a name="id1081057"></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="id552213"></a><p class="title"><b>Table<EFBFBD>1.32.<2E>Parameters</b></p>
<a name="id1081284"></a><p class="title"><b>Table<EFBFBD>1.32.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -63,23 +63,23 @@
</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
Object">Polymorphic
@ -91,7 +91,7 @@
</table>
</div>
<a name="fusion.algorithms.iteration.functions.fold.expression_semantics"></a><h6>
<a name="id552381"></a>
<a name="id1081432"></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="id552585"></a>
<a name="id1081612"></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="id552676"></a>
<a name="id1081693"></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="id552782"></a>
<a name="id1081786"></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="id554909"></a>
<a name="id1101136"></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="id554941"></a>
<a name="id1101165"></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="id555142"></a><p class="title"><b>Table<EFBFBD>1.34.<2E>Parameters</b></p>
<a name="id1101342"></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="id555281"></a>
<a name="id1101467"></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="id555433"></a>
<a name="id1101600"></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="id555525"></a>
<a name="id1101681"></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="id555630"></a>
<a name="id1101774"></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="id556722"></a>
<a name="id1102740"></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="id556770"></a>
<a name="id1102781"></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="id556905"></a><p class="title"><b>Table<EFBFBD>1.36.<2E>Parameters</b></p>
<a name="id1102900"></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,15 +70,15 @@
<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
Object">Polymorphic
@ -91,34 +91,34 @@
</table>
</div>
<a name="fusion.algorithms.iteration.metafunctions.accumulate.expression_semantics"></a><h6>
<a name="id557040"></a>
<a name="id1103020"></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>
<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="../../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="id557218"></a>
<a name="id1103174"></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="id557310"></a>
<a name="id1103256"></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="id556012"></a>
<a name="id1102111"></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="id556060"></a>
<a name="id1102153"></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="id556195"></a><p class="title"><b>Table<EFBFBD>1.35.<2E>Parameters</b></p>
<a name="id1102272"></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,15 +70,15 @@
<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
Object">Polymorphic
@ -91,34 +91,34 @@
</table>
</div>
<a name="fusion.algorithms.iteration.metafunctions.fold.expression_semantics"></a><h6>
<a name="id556328"></a>
<a name="id1102392"></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>
<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="../../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="id556505"></a>
<a name="id1102546"></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="id556596"></a>
<a name="id1102626"></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="id557486"></a>
<a name="id1103410"></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="id557513"></a>
<a name="id1103434"></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="id557633"></a><p class="title"><b>Table<EFBFBD>1.37.<2E>Parameters</b></p>
<a name="id1103541"></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="id557730"></a>
<a name="id1103626"></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="id557903"></a>
<a name="id1103777"></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="id557934"></a>
<a name="id1103805"></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">
@ -29,7 +29,7 @@
The query algorithms provide support for searching and analyzing sequences.
</p>
<a name="fusion.algorithms.query.header"></a><h4>
<a name="id558067"></a>
<a name="id1103922"></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="id559328"></a>
<a name="id1105034"></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="id559410"></a>
<a name="id1105108"></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="id559602"></a><p class="title"><b>Table<EFBFBD>1.39.<2E>Parameters</b></p>
<a name="id1105276"></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="id559752"></a>
<a name="id1105409"></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="id559914"></a>
<a name="id1105551"></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="id559997"></a>
<a name="id1105624"></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="id560101"></a>
<a name="id1105715"></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="id558202"></a>
<a name="id1104041"></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="id558282"></a>
<a name="id1104114"></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="id558475"></a><p class="title"><b>Table<EFBFBD>1.38.<2E>Parameters</b></p>
<a name="id1104282"></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="id558625"></a>
<a name="id1104415"></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="id558788"></a>
<a name="id1104557"></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="id558870"></a>
<a name="id1104630"></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="id558975"></a>
<a name="id1104721"></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="id563737"></a>
<a name="id1108928"></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="id563769"></a>
<a name="id1108957"></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="id563975"></a><p class="title"><b>Table<EFBFBD>1.43.<2E>Parameters</b></p>
<a name="id1109138"></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="id564123"></a>
<a name="id1109269"></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="id564260"></a>
<a name="id1109390"></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="id564342"></a>
<a name="id1109462"></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="id564446"></a>
<a name="id1109554"></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="id564662"></a>
<a name="id1109745"></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="id564704"></a>
<a name="id1109783"></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="id564900"></a><p class="title"><b>Table<EFBFBD>1.44.<2E>Parameters</b></p>
<a name="id1109955"></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="id565048"></a>
<a name="id1110088"></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="id565186"></a>
<a name="id1110208"></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="id565268"></a>
<a name="id1110281"></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="id565373"></a>
<a name="id1110374"></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="id561623"></a>
<a name="id1107060"></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="id561655"></a>
<a name="id1107089"></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="id561853"></a><p class="title"><b>Table<EFBFBD>1.41.<2E>Parameters</b></p>
<a name="id1107262"></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="id561947"></a>
<a name="id1107345"></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="id562192"></a>
<a name="id1107563"></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="id562275"></a>
<a name="id1107636"></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="id562379"></a>
<a name="id1107727"></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,14 @@
<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>.
MPL Lambda Expression 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="id562698"></a>
<a name="id1108010"></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="id562724"></a>
<a name="id1108034"></a>
<a href="find_if.html#fusion.algorithms.query.functions.find_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -51,7 +51,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="id562923"></a><p class="title"><b>Table<EFBFBD>1.42.<2E>Parameters</b></p>
<a name="id1108209"></a><p class="title"><b>Table<EFBFBD>1.42.<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,7 +74,7 @@
<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>
<td>The search predicate</td>
@ -83,46 +83,46 @@
</table>
</div>
<a name="fusion.algorithms.query.functions.find_if.expression_semantics"></a><h6>
<a name="id563017"></a>
<a name="id1108292"></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 MPL
Lambda Expression <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="id563210"></a>
<a name="id1108462"></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="id563292"></a>
<a name="id1108535"></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="id563398"></a>
<a name="id1108628"></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="id560454"></a>
<a name="id1106028"></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="id560536"></a>
<a name="id1106102"></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="id560729"></a><p class="title"><b>Table<EFBFBD>1.40.<2E>Parameters</b></p>
<a name="id1106271"></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="id560879"></a>
<a name="id1106404"></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="id561083"></a>
<a name="id1106582"></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="id561165"></a>
<a name="id1106654"></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="id561270"></a>
<a name="id1106746"></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="id566214"></a>
<a name="id1111119"></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="id566262"></a>
<a name="id1111161"></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="id566382"></a><p class="title"><b>Table<EFBFBD>1.46.<2E>Parameters</b></p>
<a name="id1111267"></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,7 +70,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>A
model of unary <a href="../../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
@ -82,34 +82,34 @@
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.all.expression_semantics"></a><h6>
<a name="id566484"></a>
<a name="id1111358"></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>
<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="../../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="id566664"></a>
<a name="id1111516"></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="id566694"></a>
<a name="id1111544"></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="id565610"></a>
<a name="id1110584"></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="id565657"></a>
<a name="id1110626"></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="id565777"></a><p class="title"><b>Table<EFBFBD>1.45.<2E>Parameters</b></p>
<a name="id1110732"></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,7 +70,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>A
model of unary <a href="../../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
@ -82,34 +82,34 @@
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.any.expression_semantics"></a><h6>
<a name="id565880"></a>
<a name="id1110823"></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>
<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="../../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="id566059"></a>
<a name="id1110981"></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="id566090"></a>
<a name="id1111009"></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="id568748"></a>
<a name="id1113359"></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="id568791"></a>
<a name="id1113397"></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="id568911"></a><p class="title"><b>Table<EFBFBD>1.50.<2E>Parameters</b></p>
<a name="id1113503"></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="id569006"></a>
<a name="id1113589"></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="id569145"></a>
<a name="id1113710"></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="id569175"></a>
<a name="id1113738"></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="id569300"></a>
<a name="id1113849"></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="id569343"></a>
<a name="id1113887"></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="id569464"></a><p class="title"><b>Table<EFBFBD>1.51.<2E>Parameters</b></p>
<a name="id1113993"></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="id569559"></a>
<a name="id1114080"></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="id569710"></a>
<a name="id1114211"></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="id569741"></a>
<a name="id1114239"></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="id567427"></a>
<a name="id1112193"></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="id567469"></a>
<a name="id1112230"></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="id567586"></a><p class="title"><b>Table<EFBFBD>1.48.<2E>Parameters</b></p>
<a name="id1112333"></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="id567680"></a>
<a name="id1112417"></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="id567877"></a>
<a name="id1112589"></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="id567959"></a>
<a name="id1112662"></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="id568086"></a>
<a name="id1112774"></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="id568129"></a>
<a name="id1112812"></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="id568247"></a><p class="title"><b>Table<EFBFBD>1.49.<2E>Parameters</b></p>
<a name="id1112917"></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,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
model of MPL Lambda Expression</td>
<td>Operation's arguments</td>
@ -80,32 +80,32 @@
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.find_if.expression_semantics"></a><h6>
<a name="id568342"></a>
<a name="id1113003"></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="id568540"></a>
<a name="id1113176"></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="id568623"></a>
<a name="id1113249"></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="id566819"></a>
<a name="id1111654"></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="id566867"></a>
<a name="id1111697"></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="id566988"></a><p class="title"><b>Table<EFBFBD>1.47.<2E>Parameters</b></p>
<a name="id1111803"></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,7 +70,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>A
model of unary <a href="../../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
@ -82,34 +82,34 @@
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.none.expression_semantics"></a><h6>
<a name="id567089"></a>
<a name="id1111893"></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
<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="../../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="id567269"></a>
<a name="id1112052"></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="id567300"></a>
<a name="id1112080"></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">
@ -35,14 +35,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="id569889"></a>
<a name="id1114371"></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="id578238"></a>
<a name="id1139225"></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="id578286"></a>
<a name="id1139268"></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="id578442"></a><p class="title"><b>Table<EFBFBD>1.61.<2E>Parameters</b></p>
<a name="id1139405"></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="id578517"></a>
<a name="id1139472"></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="id578614"></a>
<a name="id1139557"></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="id578645"></a>
<a name="id1139585"></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="id578751"></a>
<a name="id1139678"></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="id578914"></a>
<a name="id1139824"></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="id578948"></a>
<a name="id1139854"></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="id579409"></a><p class="title"><b>Table<EFBFBD>1.62.<2E>Parameters</b></p>
<a name="id1140260"></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="id579568"></a>
<a name="id1140401"></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="id579817"></a>
<a name="id1140621"></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="id579849"></a>
<a name="id1140649"></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="id579955"></a>
<a name="id1140742"></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="id580412"></a>
<a name="id1141147"></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="id580473"></a>
<a name="id1141201"></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="id580645"></a><p class="title"><b>Table<EFBFBD>1.63.<2E>Parameters</b></p>
<a name="id1141352"></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="id580741"></a>
<a name="id1141437"></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="id580868"></a>
<a name="id1141548"></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="id580899"></a>
<a name="id1141577"></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="id581005"></a>
<a name="id1141670"></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="id570026"></a>
<a name="id1114492"></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="id570060"></a>
<a name="id1114521"></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="id570244"></a><p class="title"><b>Table<EFBFBD>1.52.<2E>Parameters</b></p>
<a name="id1114683"></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="id570338"></a>
<a name="id1114769"></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="id570547"></a>
<a name="id1114953"></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="id570579"></a>
<a name="id1114982"></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="id570685"></a>
<a name="id1115075"></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="id570955"></a>
<a name="id1115315"></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
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 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>.
Expression 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="id571035"></a>
<a name="id1115386"></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="id571222"></a><p class="title"><b>Table<EFBFBD>1.53.<2E>Parameters</b></p>
<a name="id1115548"></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,7 +69,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 MPL Lambda Expression</td>
<td>The predicate to filter
@ -79,46 +79,46 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.filter_if.expression_semantics"></a><h6>
<a name="id571319"></a>
<a name="id1115634"></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="id571478"></a>
<a name="id1115774"></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="id571509"></a>
<a name="id1115803"></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="id571616"></a>
<a name="id1115896"></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="id581211"></a>
<a name="id1141853"></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="id581245"></a>
<a name="id1141883"></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="id581434"></a><p class="title"><b>Table<EFBFBD>1.64.<2E>Parameters</b></p>
<a name="id1142049"></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="id581559"></a>
<a name="id1142160"></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="id581708"></a>
<a name="id1142292"></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="id581740"></a>
<a name="id1142321"></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="id581846"></a>
<a name="id1142414"></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="id582140"></a>
<a name="id1142674"></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="id582174"></a>
<a name="id1142705"></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="id582447"></a><p class="title"><b>Table<EFBFBD>1.65.<2E>Parameters</b></p>
<a name="id1142943"></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="id582579"></a>
<a name="id1143061"></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="id582731"></a>
<a name="id1143196"></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="id582762"></a>
<a name="id1143224"></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="id582868"></a>
<a name="id1143317"></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="id583199"></a>
<a name="id1143609"></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="id583233"></a>
<a name="id1143638"></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="id583440"></a><p class="title"><b>Table<EFBFBD>1.66.<2E>Parameters</b></p>
<a name="id1143820"></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="id583541"></a>
<a name="id1143913"></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="id583668"></a>
<a name="id1144025"></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="id583700"></a>
<a name="id1144053"></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="id583806"></a>
<a name="id1144147"></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="id585322"></a>
<a name="id1145488"></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="id585354"></a>
<a name="id1145517"></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="id585511"></a><p class="title"><b>Table<EFBFBD>1.68.<2E>Parameters</b></p>
<a name="id1145654"></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="id585586"></a>
<a name="id1145721"></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="id585704"></a>
<a name="id1145825"></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="id585734"></a>
<a name="id1145854"></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="id585841"></a>
<a name="id1145947"></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="id586015"></a>
<a name="id1146103"></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="id586048"></a>
<a name="id1146110"></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="id586205"></a><p class="title"><b>Table<EFBFBD>1.69.<2E>Parameters</b></p>
<a name="id1146268"></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="id586281"></a>
<a name="id1146335"></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="id586399"></a>
<a name="id1146439"></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="id586429"></a>
<a name="id1146468"></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="id586536"></a>
<a name="id1146561"></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="id586718"></a>
<a name="id1146724"></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="id586751"></a>
<a name="id1146731"></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="id586959"></a><p class="title"><b>Table<EFBFBD>1.70.<2E>Parameters</b></p>
<a name="id1146934"></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="id587056"></a>
<a name="id1147020"></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="id587194"></a>
<a name="id1147141"></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="id587225"></a>
<a name="id1147170"></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="id587331"></a>
<a name="id1147263"></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="id587545"></a>
<a name="id1147454"></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="id587578"></a>
<a name="id1147461"></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="id587786"></a><p class="title"><b>Table<EFBFBD>1.71.<2E>Parameters</b></p>
<a name="id1147664"></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="id587882"></a>
<a name="id1147750"></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="id588023"></a>
<a name="id1147874"></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="id588054"></a>
<a name="id1147902"></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="id588160"></a>
<a name="id1147996"></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="id575703"></a>
<a name="id1136983"></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="id575737"></a>
<a name="id1137012"></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="id575921"></a><p class="title"><b>Table<EFBFBD>1.58.<2E>Parameters</b></p>
<a name="id1137174"></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="id576015"></a>
<a name="id1137259"></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="id576226"></a>
<a name="id1137445"></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="id576258"></a>
<a name="id1137473"></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="id576364"></a>
<a name="id1137567"></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="id576585"></a>
<a name="id1137763"></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="id576629"></a>
<a name="id1137770"></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="id576815"></a><p class="title"><b>Table<EFBFBD>1.59.<2E>Parameters</b></p>
<a name="id1137964"></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,7 +68,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
model of unary MPL Lambda Expression</td>
<td>Removal predicate</td>
@ -77,46 +77,46 @@
</table>
</div>
<a name="fusion.algorithms.transformation.functions.remove_if.expression_semantics"></a><h6>
<a name="id576910"></a>
<a name="id1138050"></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="id577151"></a>
<a name="id1138262"></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="id577182"></a>
<a name="id1138290"></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="id577288"></a>
<a name="id1138384"></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="id573652"></a>
<a name="id1117695"></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="id573684"></a>
<a name="id1117724"></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="id573928"></a><p class="title"><b>Table<EFBFBD>1.56.<2E>Parameters</b></p>
<a name="id1117938"></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="id574109"></a>
<a name="id1118099"></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="id574260"></a>
<a name="id1118231"></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="id574292"></a>
<a name="id1118260"></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="id574398"></a>
<a name="id1118353"></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="id574595"></a>
<a name="id1136005"></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="id574638"></a>
<a name="id1136012"></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="id574897"></a><p class="title"><b>Table<EFBFBD>1.57.<2E>Parameters</b></p>
<a name="id1136270"></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="id575069"></a>
<a name="id1136422"></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="id575231"></a>
<a name="id1136565"></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="id575262"></a>
<a name="id1136593"></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="id575368"></a>
<a name="id1136686"></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="id577537"></a>
<a name="id1138604"></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="id577570"></a>
<a name="id1138633"></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="id577726"></a><p class="title"><b>Table<EFBFBD>1.60.<2E>Parameters</b></p>
<a name="id1138770"></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="id577800"></a>
<a name="id1138838"></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="id577907"></a>
<a name="id1138932"></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="id577939"></a>
<a name="id1138961"></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="id578046"></a>
<a name="id1139054"></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="id571910"></a>
<a name="id1116159"></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
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and
<a href="../../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="id572004"></a>
<a name="id1116242"></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="id572208"></a><p class="title"><b>Table<EFBFBD>1.54.<2E>Parameters</b></p>
<a name="id1116420"></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
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="id572357"></a>
<a name="id1116553"></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="id572510"></a>
<a name="id1116688"></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="id572776"></a><p class="title"><b>Table<EFBFBD>1.55.<2E>Parameters</b></p>
<a name="id1116921"></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
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="id573095"></a>
<a name="id1117202"></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="id573126"></a>
<a name="id1117230"></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="id573233"></a>
<a name="id1117324"></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="id584123"></a>
<a name="id1144427"></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="id584156"></a>
<a name="id1144457"></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="id584439"></a><p class="title"><b>Table<EFBFBD>1.67.<2E>Parameters</b></p>
<a name="id1144706"></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="id584526"></a>
<a name="id1144784"></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="id584824"></a>
<a name="id1145048"></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="id584857"></a>
<a name="id1145076"></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="id584962"></a>
<a name="id1145169"></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="id593310"></a>
<a name="id1152554"></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="id593359"></a>
<a name="id1152597"></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="id593460"></a><p class="title"><b>Table<EFBFBD>1.80.<2E>Parameters</b></p>
<a name="id1152686"></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="id593528"></a>
<a name="id1152746"></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="id593642"></a>
<a name="id1152844"></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="id593673"></a>
<a name="id1152872"></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="id593823"></a>
<a name="id1153006"></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="id593850"></a>
<a name="id1153014"></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="id593995"></a><p class="title"><b>Table<EFBFBD>1.81.<2E>Parameters</b></p>
<a name="id1153157"></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="id594127"></a>
<a name="id1153275"></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="id594388"></a>
<a name="id1170980"></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="id594420"></a>
<a name="id1171008"></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="id594550"></a>
<a name="id1171124"></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="id594600"></a>
<a name="id1171169"></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="id594719"></a><p class="title"><b>Table<EFBFBD>1.82.<2E>Parameters</b></p>
<a name="id1171274"></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="id594815"></a>
<a name="id1171358"></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="id594959"></a>
<a name="id1171486"></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="id594991"></a>
<a name="id1171494"></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="id588392"></a>
<a name="id1148203"></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="id588440"></a>
<a name="id1148246"></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="id588559"></a><p class="title"><b>Table<EFBFBD>1.72.<2E>Parameter</b></p>
<a name="id1148350"></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="id588656"></a>
<a name="id1148436"></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="id588912"></a>
<a name="id1148660"></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="id588944"></a>
<a name="id1148668"></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,15 @@
<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="id589072"></a>
<a name="id1148802"></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
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 MPL Lambda Expression predicate type.
</p>
<a name="fusion.algorithms.transformation.metafunctions.filter_if.synopsis"></a><h6>
<a name="id589123"></a>
<a name="id1148848"></a>
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id589242"></a><p class="title"><b>Table<EFBFBD>1.73.<2E>Parameter</b></p>
<a name="id1148953"></a><p class="title"><b>Table<EFBFBD>1.73.<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">Pred</span></tt></td>
<td><code class="computeroutput"><span class="identifier">Pred</span></code></td>
<td>A
unary MPL Lambda Expression</td>
<td>Type to retain</td>
@ -80,33 +80,33 @@
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.filter_if.expression_semantics"></a><h6>
<a name="id589338"></a>
<a name="id1149037"></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="id589514"></a>
<a name="id1149193"></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="id589546"></a>
<a name="id1149200"></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="id595122"></a>
<a name="id1171630"></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="id595172"></a>
<a name="id1171674"></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="id595308"></a><p class="title"><b>Table<EFBFBD>1.83.<2E>Parameters</b></p>
<a name="id1171793"></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="id595432"></a>
<a name="id1171905"></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="id595600"></a>
<a name="id1172052"></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="id595632"></a>
<a name="id1172059"></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="id595760"></a>
<a name="id1172194"></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="id595810"></a>
<a name="id1172240"></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="id595947"></a><p class="title"><b>Table<EFBFBD>1.84.<2E>Parameters</b></p>
<a name="id1172360"></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="id596082"></a>
<a name="id1172478"></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="id596250"></a>
<a name="id1172627"></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="id596282"></a>
<a name="id1172657"></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="id596410"></a>
<a name="id1172768"></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="id596443"></a>
<a name="id1172797"></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="id596571"></a>
<a name="id1172912"></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="id596717"></a>
<a name="id1173040"></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="id596748"></a>
<a name="id1173068"></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="id597526"></a>
<a name="id1173758"></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="id597575"></a>
<a name="id1173804"></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="id597676"></a><p class="title"><b>Table<EFBFBD>1.85.<2E>Parameters</b></p>
<a name="id1173885"></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="id597753"></a>
<a name="id1173946"></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="id597877"></a>
<a name="id1174045"></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="id597909"></a>
<a name="id1174052"></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="id598037"></a>
<a name="id1174172"></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="id598087"></a>
<a name="id1174213"></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="id598189"></a><p class="title"><b>Table<EFBFBD>1.86.<2E>Parameters</b></p>
<a name="id1174294"></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="id598264"></a>
<a name="id1174355"></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="id598389"></a>
<a name="id1174454"></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="id598421"></a>
<a name="id1174461"></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="id598548"></a>
<a name="id1174581"></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="id598600"></a>
<a name="id1174622"></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="id598719"></a><p class="title"><b>Table<EFBFBD>1.87.<2E>Parameters</b></p>
<a name="id1174717"></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="id598815"></a>
<a name="id1174796"></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="id598960"></a>
<a name="id1174912"></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="id598992"></a>
<a name="id1174919"></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="id599120"></a>
<a name="id1175039"></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="id599172"></a>
<a name="id1175080"></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="id599290"></a><p class="title"><b>Table<EFBFBD>1.88.<2E>Parameters</b></p>
<a name="id1175175"></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="id599386"></a>
<a name="id1175253"></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="id599531"></a>
<a name="id1175370"></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="id599563"></a>
<a name="id1175396"></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="id591493"></a>
<a name="id1150944"></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="id591543"></a>
<a name="id1150988"></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="id591661"></a><p class="title"><b>Table<EFBFBD>1.77.<2E>Parameters</b></p>
<a name="id1151092"></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="id591757"></a>
<a name="id1151177"></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="id592012"></a>
<a name="id1151402"></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="id592044"></a>
<a name="id1151409"></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,15 @@
<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="id592172"></a>
<a name="id1151543"></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
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 MPL Lambda Expression predicate types.
</p>
<a name="fusion.algorithms.transformation.metafunctions.remove_if.synopsis"></a><h6>
<a name="id592223"></a>
<a name="id1151589"></a>
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id592342"></a><p class="title"><b>Table<EFBFBD>1.78.<2E>Parameters</b></p>
<a name="id1151694"></a><p class="title"><b>Table<EFBFBD>1.78.<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,44 +71,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
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>
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="id592466"></a>
<a name="id1151805"></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="id592642"></a>
<a name="id1151960"></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="id592674"></a>
<a name="id1151968"></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="id590302"></a>
<a name="id1149889"></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="id590352"></a>
<a name="id1149933"></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="id590470"></a><p class="title"><b>Table<EFBFBD>1.75.<2E>Parameters</b></p>
<a name="id1150037"></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="id590566"></a>
<a name="id1150123"></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="id590706"></a>
<a name="id1150246"></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="id590738"></a>
<a name="id1150254"></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="id590865"></a>
<a name="id1150388"></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
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="../../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="id590925"></a>
<a name="id1150441"></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="id591060"></a><p class="title"><b>Table<EFBFBD>1.76.<2E>Parameters</b></p>
<a name="id1150560"></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,7 +73,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>A
model of unary <a href="../../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
@ -82,7 +82,7 @@
<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="id591183"></a>
<a name="id1150669"></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="id591333"></a>
<a name="id1150801"></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="id591366"></a>
<a name="id1150831"></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="id592802"></a>
<a name="id1152102"></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="id592851"></a>
<a name="id1152145"></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="id592952"></a><p class="title"><b>Table<EFBFBD>1.79.<2E>Parameters</b></p>
<a name="id1152234"></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="id593028"></a>
<a name="id1152302"></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="id593151"></a>
<a name="id1152412"></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="id593184"></a>
<a name="id1152420"></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="id589674"></a>
<a name="id1149334"></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
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="../../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="id589734"></a>
<a name="id1149388"></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="id589853"></a><p class="title"><b>Table<EFBFBD>1.74.<2E>Parameters</b></p>
<a name="id1149492"></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,7 +72,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>A
model of unary <a href="../../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
@ -84,31 +84,31 @@
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.transform.expression_semantics"></a><h6>
<a name="id589957"></a>
<a name="id1149585"></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="id590142"></a>
<a name="id1149748"></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="id590174"></a>
<a name="id1149755"></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="id596875"></a>
<a name="id1173179"></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="id596908"></a>
<a name="id1173209"></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="id597060"></a>
<a name="id1173344"></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="id597367"></a>
<a name="id1173616"></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="id597399"></a>
<a name="id1173644"></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,7 +3,7 @@
<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">
@ -27,8 +27,8 @@
<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="id607907"></a>
<a name="id1181443"></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="id608189"></a>
<a name="id1181696"></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="id608682"></a>
<a name="id1182136"></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="id609317"></a>
<a name="id1182703"></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,29 @@
</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.
</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 +275,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 +293,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
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 MPL
Metafunction Class.
</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 +318,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="id611557"></a>
<a name="id1184695"></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 +356,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="id612181"></a>
<a name="id1185250"></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 +401,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 +431,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="id612762"></a>
<a name="id1185769"></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 +499,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="id613737"></a>
<a name="id1186634"></a>
<a href="extension.html#fusion.extension.summary">Summary</a>
</h3>
<p>
@ -517,8 +517,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>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Introduction</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="preface.html" title="Preface">
@ -29,9 +29,9 @@
An advantage other languages such as Python and Lisp/ Scheme, ML and Haskell,
etc., over C++ is the ability to have heterogeneous containers that can hold
arbitrary element types. All the containers in the standard library can only
hold a specific type. A <tt class="computeroutput"><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></tt>
can only hold <tt class="computeroutput"><span class="keyword">int</span></tt>s. A <tt class="computeroutput"><span class="identifier">list</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span></tt> can
only hold elements of type <tt class="computeroutput"><span class="identifier">X</span></tt>,
hold a specific type. A <code class="computeroutput"><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></code>
can only hold <code class="computeroutput"><span class="keyword">int</span></code>s. A <code class="computeroutput"><span class="identifier">list</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span></code> can
only hold elements of type <code class="computeroutput"><span class="identifier">X</span></code>,
and so on.
</p>
<p>
@ -41,8 +41,8 @@
on virtual functions to provide polymorphic behavior since the actual type
is erased as soon as you store a pointer to a derived class to a pointer to
its base. The held objects must be related: you cannot hold objects of unrelated
types such as <tt class="computeroutput"><span class="keyword">char</span></tt>, <tt class="computeroutput"><span class="keyword">int</span></tt>, <tt class="computeroutput"><span class="keyword">class</span>
<span class="identifier">X</span></tt>, <tt class="computeroutput"><span class="keyword">float</span></tt>,
types such as <code class="computeroutput"><span class="keyword">char</span></code>, <code class="computeroutput"><span class="keyword">int</span></code>, <code class="computeroutput"><span class="keyword">class</span>
<span class="identifier">X</span></code>, <code class="computeroutput"><span class="keyword">float</span></code>,
etc. Oh sure you can use something like <a href="http://boost.org/doc/html/any.html" target="_top">Boost.Any</a>
to hold arbitrary types, but then you pay more in terms of runtime costs and
due to the fact that you practically erased all type information, you'll have
@ -51,7 +51,7 @@
<p>
The <a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html" target="_top">Boost.Tuple</a>
library written by <a href="http://www.boost.org/people/jaakko_jarvi.htm" target="_top">Jaakko
Jarvi</a> provides heterogeneous containers in C++. The <tt class="computeroutput"><span class="identifier">tuple</span></tt>
Jarvi</a> provides heterogeneous containers in C++. The <code class="computeroutput"><span class="identifier">tuple</span></code>
is a basic data structure that can hold heterogeneous types. It's a good first
step, but it's not complete. What's missing are the algorithms. It's nice that
we can store and retrieve data to and from tuples, pass them around as arguments
@ -89,23 +89,23 @@
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>
<p>
The <span class="emphasis"><em>lazy</em></span> evaluation scheme where algorithms return views
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
allows operations 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.
</p>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Iterators</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="support/pair.html" title="pair">
@ -74,7 +74,7 @@
<a href="sequences.html" title="Sequences">Sequence</a>.
</p>
<a name="fusion.iterators.header"></a><h3>
<a name="id457023"></a>
<a name="id927293"></a>
<a href="iterators.html#fusion.iterators.header">Header</a>
</h3>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<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.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="../iterators.html" title="Iterators">
<link rel="prev" href="../iterators.html" title="Iterators">

View File

@ -4,7 +4,7 @@
<title>Bidirectional
Iterator</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="../concepts.html" title="Concepts">
<link rel="prev" href="forward_iterator.html" title="Forward
@ -31,7 +31,7 @@
Iterator">Bidirectional
Iterator</a></h4></div></div></div>
<a name="fusion.iterators.concepts.bidirectional_iterator.description"></a><h5>
<a name="id459705"></a>
<a name="id929660"></a>
<a href="bidirectional_iterator.html#fusion.iterators.concepts.bidirectional_iterator.description">Description</a>
</h5>
<p>
@ -41,27 +41,27 @@
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">i</span></tt></span></dt>
<dt><span class="term"><code class="computeroutput"><span class="identifier">i</span></code></span></dt>
<dd>
A Bidirectional Iterator
</dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">I</span></tt></span></dt>
<dt><span class="term"><code class="computeroutput"><span class="identifier">I</span></code></span></dt>
<dd>
A Bidirectional Iterator type
</dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">M</span></tt></span></dt>
<dt><span class="term"><code class="computeroutput"><span class="identifier">M</span></code></span></dt>
<dd>
An <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
integral constant
</dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">N</span></tt></span></dt>
<dt><span class="term"><code class="computeroutput"><span class="identifier">N</span></code></span></dt>
<dd>
An integral constant
</dd>
</dl>
</div>
<a name="fusion.iterators.concepts.bidirectional_iterator.refinement_of"></a><h5>
<a name="id459831"></a>
<a name="id929772"></a>
<a href="bidirectional_iterator.html#fusion.iterators.concepts.bidirectional_iterator.refinement_of">Refinement
of</a>
</h5>
@ -70,7 +70,7 @@
Iterator">Forward Iterator</a>
</p>
<a name="fusion.iterators.concepts.bidirectional_iterator.expression_requirements"></a><h5>
<a name="id459872"></a>
<a name="id929809"></a>
<a href="bidirectional_iterator.html#fusion.iterators.concepts.bidirectional_iterator.expression_requirements">Expression
requirements</a>
</h5>
@ -93,28 +93,28 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><a href="../functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></tt></td>
<td><code class="computeroutput"><a href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td><a href="bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a></td>
<td>Constant</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../functions/prior.html" title="prior"><tt class="computeroutput"><span class="identifier">prior</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></tt></td>
<td><code class="computeroutput"><a href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td><a href="bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a></td>
<td>Constant</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../functions/advance_c.html" title="advance_c"><tt class="computeroutput"><span class="identifier">advance_c</span></tt></a><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></tt></td>
<td><code class="computeroutput"><a href="../functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td><a href="bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a></td>
<td>Constant</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../functions/advance.html" title="advance"><tt class="computeroutput"><span class="identifier">advance</span></tt></a><span class="special">&lt;</span><span class="identifier">M</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></tt></td>
<td><code class="computeroutput"><a href="../functions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special">&lt;</span><span class="identifier">M</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td><a href="bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a></td>
@ -123,7 +123,7 @@
</tbody>
</table></div>
<a name="fusion.iterators.concepts.bidirectional_iterator.meta_expressions"></a><h5>
<a name="id460176"></a>
<a name="id930078"></a>
<a href="bidirectional_iterator.html#fusion.iterators.concepts.bidirectional_iterator.meta_expressions">Meta
Expressions</a>
</h5>
@ -137,13 +137,13 @@
<th>Compile Time Complexity</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><a href="../metafunctions/prior.html" title="prior"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">prior</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span></tt></td>
<td><code class="computeroutput"><a href="../metafunctions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">prior</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
<td>Amortized constant
time</td>
</tr></tbody>
</table></div>
<a name="fusion.iterators.concepts.bidirectional_iterator.expression_semantics"></a><h5>
<a name="id460292"></a>
<a name="id930182"></a>
<a href="bidirectional_iterator.html#fusion.iterators.concepts.bidirectional_iterator.expression_semantics">Expression
Semantics</a>
</h5>
@ -163,14 +163,14 @@
<th>Semantics</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><a href="../functions/prior.html" title="prior"><tt class="computeroutput"><span class="identifier">prior</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></tt></td>
<td><code class="computeroutput"><a href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td>An
iterator to the element preceding <tt class="computeroutput"><span class="identifier">i</span></tt>
iterator to the element preceding <code class="computeroutput"><span class="identifier">i</span></code>
</td>
</tr></tbody>
</table></div>
<a name="fusion.iterators.concepts.bidirectional_iterator.invariants"></a><h5>
<a name="id460414"></a>
<a name="id930289"></a>
<a href="bidirectional_iterator.html#fusion.iterators.concepts.bidirectional_iterator.invariants">Invariants</a>
</h5>
<p>
@ -179,44 +179,44 @@
Iterator</a>, the following invariants always hold:
</p>
<div class="itemizedlist"><ul type="disc">
<li><tt class="computeroutput"><a href="../functions/prior.html" title="prior"><tt class="computeroutput"><span class="identifier">prior</span></tt></a><span class="special">(</span><a href="../functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">))</span> <span class="special">==</span> <span class="identifier">i</span> <span class="special">&amp;&amp;</span>
<a href="../functions/prior.html" title="prior"><tt class="computeroutput"><span class="identifier">prior</span></tt></a><span class="special">(</span><a href="../functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">))</span> <span class="special">==</span> <a href="../functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../functions/prior.html" title="prior"><tt class="computeroutput"><span class="identifier">prior</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">))</span></tt></li>
<li><tt class="computeroutput"><a href="../functions/prior.html" title="prior"><tt class="computeroutput"><span class="identifier">prior</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span> <span class="special">==</span> <a href="../functions/advance_c.html" title="advance_c"><tt class="computeroutput"><span class="identifier">advance_c</span></tt></a><span class="special">&lt;-</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></tt></li>
<li><code class="computeroutput"><a href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><a href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">))</span> <span class="special">==</span> <span class="identifier">i</span> <span class="special">&amp;&amp;</span>
<a href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><a href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">))</span> <span class="special">==</span> <a href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">))</span></code></li>
<li><code class="computeroutput"><a href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span> <span class="special">==</span> <a href="../functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special">&lt;-</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></code></li>
<li>
Using <tt class="computeroutput"><a href="../functions/prior.html" title="prior"><tt class="computeroutput"><span class="identifier">prior</span></tt></a></tt> to traverse a sequence
Using <code class="computeroutput"><a href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a></code> to traverse a sequence
will never return a previously seen position
</li>
</ul></div>
<a name="fusion.iterators.concepts.bidirectional_iterator.models"></a><h5>
<a name="id460750"></a>
<a name="id930585"></a>
<a href="bidirectional_iterator.html#fusion.iterators.concepts.bidirectional_iterator.models">Models</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li>
<a href="../../sequences/adapted/std__pair.html" title="std::pair"><tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt></a>
<a href="../../sequences/adapted/std__pair.html" title="std::pair"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/adapted/boost__array.html" title="boost::array"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></tt></a>
<a href="../../sequences/adapted/boost__array.html" title="boost::array"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a>
<a href="../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/views/iterator_range.html" title="iterator_range"><tt class="computeroutput"><span class="identifier">iterator_range</span></tt></a>
<a href="../../sequences/views/iterator_range.html" title="iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a>
(where adapted sequence is a <a href="../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
Sequence</a>)
</li>
<li>
<a href="../../sequences/views/transform_view.html" title="transform_view"><tt class="computeroutput"><span class="identifier">transform_view</span></tt></a>
<a href="../../sequences/views/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a>
(where adapted sequence is a <a href="../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
Sequence</a>)
</li>
<li><a href="../../sequences/views/reverse_view.html" title="reverse_view"><tt class="computeroutput"><span class="identifier">reverse_view</span></tt></a></li>
<li><a href="../../sequences/views/reverse_view.html" title="reverse_view"><code class="computeroutput"><span class="identifier">reverse_view</span></code></a></li>
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -4,7 +4,7 @@
<title>Forward
Iterator</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="../concepts.html" title="Concepts">
<link rel="prev" href="../concepts.html" title="Concepts">
@ -30,7 +30,7 @@
Iterator">Forward
Iterator</a></h4></div></div></div>
<a name="fusion.iterators.concepts.forward_iterator.description"></a><h5>
<a name="id457202"></a>
<a name="id927450"></a>
<a href="forward_iterator.html#fusion.iterators.concepts.forward_iterator.description">Description</a>
</h5>
<p>
@ -41,29 +41,29 @@
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">i</span></tt>,
<tt class="computeroutput"><span class="identifier">j</span></tt></span></dt>
<dt><span class="term"><code class="computeroutput"><span class="identifier">i</span></code>,
<code class="computeroutput"><span class="identifier">j</span></code></span></dt>
<dd>
Forward Iterators
</dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">I</span></tt>,
<tt class="computeroutput"><span class="identifier">J</span></tt></span></dt>
<dt><span class="term"><code class="computeroutput"><span class="identifier">I</span></code>,
<code class="computeroutput"><span class="identifier">J</span></code></span></dt>
<dd>
Forward Iterator types
</dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">M</span></tt></span></dt>
<dt><span class="term"><code class="computeroutput"><span class="identifier">M</span></code></span></dt>
<dd>
An <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
integral constant
</dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">N</span></tt></span></dt>
<dt><span class="term"><code class="computeroutput"><span class="identifier">N</span></code></span></dt>
<dd>
An integral constant
</dd>
</dl>
</div>
<a name="fusion.iterators.concepts.forward_iterator.expression_requirements"></a><h5>
<a name="id457351"></a>
<a name="id927582"></a>
<a href="forward_iterator.html#fusion.iterators.concepts.forward_iterator.expression_requirements">Expression
requirements</a>
</h5>
@ -85,56 +85,56 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><a href="../functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></tt></td>
<td><code class="computeroutput"><a href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td><a href="forward_iterator.html" title="Forward
Iterator">Forward Iterator</a></td>
<td>Constant</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">i</span> <span class="special">==</span>
<span class="identifier">j</span></tt></td>
<td><code class="computeroutput"><span class="identifier">i</span> <span class="special">==</span>
<span class="identifier">j</span></code></td>
<td>Convertible
to bool</td>
<td>Constant</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">i</span> <span class="special">!=</span>
<span class="identifier">j</span></tt></td>
<td><code class="computeroutput"><span class="identifier">i</span> <span class="special">!=</span>
<span class="identifier">j</span></code></td>
<td>Convertible
to bool</td>
<td>Constant</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../functions/advance_c.html" title="advance_c"><tt class="computeroutput"><span class="identifier">advance_c</span></tt></a><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></tt></td>
<td><code class="computeroutput"><a href="../functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td><a href="forward_iterator.html" title="Forward
Iterator">Forward Iterator</a></td>
<td>Constant</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../functions/advance.html" title="advance"><tt class="computeroutput"><span class="identifier">advance</span></tt></a><span class="special">&lt;</span><span class="identifier">M</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></tt></td>
<td><code class="computeroutput"><a href="../functions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special">&lt;</span><span class="identifier">M</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td><a href="forward_iterator.html" title="Forward
Iterator">Forward Iterator</a></td>
<td>Constant</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../functions/distance.html" title="distance"><tt class="computeroutput"><span class="identifier">distance</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">j</span><span class="special">)</span></tt></td>
<td><tt class="computeroutput"><a href="../metafunctions/distance.html" title="distance"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">type</span></tt></td>
<td><code class="computeroutput"><a href="../functions/distance.html" title="distance"><code class="computeroutput"><span class="identifier">distance</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">j</span><span class="special">)</span></code></td>
<td><code class="computeroutput"><a href="../metafunctions/distance.html" title="distance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
<td>Constant</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></tt></td>
<td><tt class="computeroutput"><a href="../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><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span></tt></td>
<td><code class="computeroutput"><a href="../functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td><code class="computeroutput"><a href="../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><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
<td>Constant</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="special">*</span><span class="identifier">i</span></tt></td>
<td><tt class="computeroutput"><a href="../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><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span></tt></td>
<td><code class="computeroutput"><span class="special">*</span><span class="identifier">i</span></code></td>
<td><code class="computeroutput"><a href="../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><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
<td>Constant</td>
</tr>
</tbody>
</table></div>
<a name="fusion.iterators.concepts.forward_iterator.meta_expressions"></a><h5>
<a name="id457947"></a>
<a name="id928105"></a>
<a href="forward_iterator.html#fusion.iterators.concepts.forward_iterator.meta_expressions">Meta
Expressions</a>
</h5>
@ -149,41 +149,41 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><a href="../metafunctions/next.html" title="next"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span></tt></td>
<td><code class="computeroutput"><a href="../metafunctions/next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
<td>Amortized constant
time</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../metafunctions/equal_to.html" title="equal_to"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">type</span></tt></td>
<td><code class="computeroutput"><a href="../metafunctions/equal_to.html" title="equal_to"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
<td>Amortized constant
time</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../metafunctions/advance_c.html" title="advance_c"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance_c</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;::</span><span class="identifier">type</span></tt></td>
<td><code class="computeroutput"><a href="../metafunctions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance_c</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
<td>Linear</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../metafunctions/advance.html" title="advance"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span> <span class="special">,</span><span class="identifier">M</span><span class="special">&gt;::</span><span class="identifier">type</span></tt></td>
<td><code class="computeroutput"><a href="../metafunctions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></code></a><span class="special">&lt;</span><span class="identifier">I</span> <span class="special">,</span><span class="identifier">M</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
<td>Linear</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../metafunctions/distance.html" title="distance"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span> <span class="special">,</span><span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">type</span></tt></td>
<td><code class="computeroutput"><a href="../metafunctions/distance.html" title="distance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></code></a><span class="special">&lt;</span><span class="identifier">I</span> <span class="special">,</span><span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
<td>Linear</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../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><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span></tt></td>
<td><code class="computeroutput"><a href="../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><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
<td>Amortized constant
time</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../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><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span></tt></td>
<td><code class="computeroutput"><a href="../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><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
<td>Amortized constant
time</td>
</tr>
</tbody>
</table></div>
<a name="fusion.iterators.concepts.forward_iterator.expression_semantics"></a><h5>
<a name="id458458"></a>
<a name="id928556"></a>
<a href="forward_iterator.html#fusion.iterators.concepts.forward_iterator.expression_semantics">Expression
Semantics</a>
</h5>
@ -198,136 +198,136 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><a href="../functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></tt></td>
<td><code class="computeroutput"><a href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td>An
iterator to the element following <tt class="computeroutput"><span class="identifier">i</span></tt>
iterator to the element following <code class="computeroutput"><span class="identifier">i</span></code>
</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">i</span> <span class="special">==</span>
<span class="identifier">j</span></tt></td>
<td><code class="computeroutput"><span class="identifier">i</span> <span class="special">==</span>
<span class="identifier">j</span></code></td>
<td>Iterator
equality comparison</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">i</span> <span class="special">!=</span>
<span class="identifier">j</span></tt></td>
<td><code class="computeroutput"><span class="identifier">i</span> <span class="special">!=</span>
<span class="identifier">j</span></code></td>
<td>Iterator
inequality comparison</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../functions/advance_c.html" title="advance_c"><tt class="computeroutput"><span class="identifier">advance_c</span></tt></a><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></tt></td>
<td><code class="computeroutput"><a href="../functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td>An
iterator n elements after <tt class="computeroutput"><span class="identifier">i</span></tt>
iterator n elements after <code class="computeroutput"><span class="identifier">i</span></code>
in the sequence</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../functions/advance.html" title="advance"><tt class="computeroutput"><span class="identifier">advance</span></tt></a><span class="special">&lt;</span><span class="identifier">M</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></tt></td>
<td><code class="computeroutput"><a href="../functions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special">&lt;</span><span class="identifier">M</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td>Equivalent
to <tt class="computeroutput"><span class="identifier">advance_c</span><span class="special">&lt;</span><span class="identifier">M</span><span class="special">::</span><span class="identifier">value</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></tt>
to <code class="computeroutput"><span class="identifier">advance_c</span><span class="special">&lt;</span><span class="identifier">M</span><span class="special">::</span><span class="identifier">value</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></code>
</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../functions/distance.html" title="distance"><tt class="computeroutput"><span class="identifier">distance</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">j</span><span class="special">)</span></tt></td>
<td><code class="computeroutput"><a href="../functions/distance.html" title="distance"><code class="computeroutput"><span class="identifier">distance</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">j</span><span class="special">)</span></code></td>
<td>The
number of elements between <tt class="computeroutput"><span class="identifier">i</span></tt>
and <tt class="computeroutput"><span class="identifier">j</span></tt>
number of elements between <code class="computeroutput"><span class="identifier">i</span></code>
and <code class="computeroutput"><span class="identifier">j</span></code>
</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></tt></td>
<td><code class="computeroutput"><a href="../functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td>The
element at position<tt class="computeroutput"><span class="identifier">i</span></tt>
element at position<code class="computeroutput"><span class="identifier">i</span></code>
</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="special">*</span><span class="identifier">i</span></tt></td>
<td><code class="computeroutput"><span class="special">*</span><span class="identifier">i</span></code></td>
<td>Equivalent
to <tt class="computeroutput"><span class="identifier">deref</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></tt>
to <code class="computeroutput"><span class="identifier">deref</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.iterators.concepts.forward_iterator.invariants"></a><h5>
<a name="id458951"></a>
<a name="id928991"></a>
<a href="forward_iterator.html#fusion.iterators.concepts.forward_iterator.invariants">Invariants</a>
</h5>
<p>
The following invariants always hold:
</p>
<div class="itemizedlist"><ul type="disc">
<li><tt class="computeroutput"><span class="special">!(</span><span class="identifier">i</span>
<span class="special">==</span> <span class="identifier">j</span><span class="special">)</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">j</span><span class="special">)</span></tt></li>
<li><tt class="computeroutput"><a href="../functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span> <span class="special">==</span> <a href="../functions/advance_c.html" title="advance_c"><tt class="computeroutput"><span class="identifier">advance_c</span></tt></a><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></tt></li>
<li><tt class="computeroutput"><a href="../functions/distance.html" title="distance"><tt class="computeroutput"><span class="identifier">distance</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <a href="../functions/advance_c.html" title="advance_c"><tt class="computeroutput"><span class="identifier">advance_c</span></tt></a><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">))</span> <span class="special">==</span> <span class="identifier">N</span></tt></li>
<li><code class="computeroutput"><span class="special">!(</span><span class="identifier">i</span>
<span class="special">==</span> <span class="identifier">j</span><span class="special">)</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">j</span><span class="special">)</span></code></li>
<li><code class="computeroutput"><a href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span> <span class="special">==</span> <a href="../functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></code></li>
<li><code class="computeroutput"><a href="../functions/distance.html" title="distance"><code class="computeroutput"><span class="identifier">distance</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <a href="../functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">))</span> <span class="special">==</span> <span class="identifier">N</span></code></li>
<li>
Using <tt class="computeroutput"><a href="../functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a></tt> to traverse the
Using <code class="computeroutput"><a href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a></code> to traverse the
sequence will never return to a previously seen position
</li>
<li>
<tt class="computeroutput"><a href="../functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></tt>
is equivalent to <tt class="computeroutput"><span class="special">*</span><span class="identifier">i</span></tt>
<code class="computeroutput"><a href="../functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code>
is equivalent to <code class="computeroutput"><span class="special">*</span><span class="identifier">i</span></code>
</li>
<li>
If <tt class="computeroutput"><span class="identifier">i</span> <span class="special">==</span>
<span class="identifier">j</span></tt> then <tt class="computeroutput"><span class="special">*</span><span class="identifier">i</span></tt> is equivalent to <tt class="computeroutput"><span class="special">*</span><span class="identifier">j</span></tt>
If <code class="computeroutput"><span class="identifier">i</span> <span class="special">==</span>
<span class="identifier">j</span></code> then <code class="computeroutput"><span class="special">*</span><span class="identifier">i</span></code> is equivalent to <code class="computeroutput"><span class="special">*</span><span class="identifier">j</span></code>
</li>
</ul></div>
<a name="fusion.iterators.concepts.forward_iterator.models"></a><h5>
<a name="id459363"></a>
<a name="id929356"></a>
<a href="forward_iterator.html#fusion.iterators.concepts.forward_iterator.models">Models</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li>
<a href="../../sequences/adapted/std__pair.html" title="std::pair"><tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt></a>
<a href="../../sequences/adapted/std__pair.html" title="std::pair"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/adapted/boost__array.html" title="boost::array"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></tt></a>
<a href="../../sequences/adapted/boost__array.html" title="boost::array"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a>
<a href="../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/containers/cons.html" title="cons"><tt class="computeroutput"><span class="identifier">cons</span></tt></a>
<a href="../../sequences/containers/cons.html" title="cons"><code class="computeroutput"><span class="identifier">cons</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/containers/list.html" title="list"><tt class="computeroutput"><span class="identifier">list</span></tt></a>
<a href="../../sequences/containers/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/containers/set.html" title="set"><tt class="computeroutput"><span class="identifier">set</span></tt></a>
<a href="../../sequences/containers/set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/containers/map.html" title="map"><tt class="computeroutput"><span class="identifier">map</span></tt></a>
<a href="../../sequences/containers/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/views/single_view.html" title="single_view"><tt class="computeroutput"><span class="identifier">single_view</span></tt></a>
<a href="../../sequences/views/single_view.html" title="single_view"><code class="computeroutput"><span class="identifier">single_view</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/views/filter_view.html" title="filter_view"><tt class="computeroutput"><span class="identifier">filter_view</span></tt></a>
<a href="../../sequences/views/filter_view.html" title="filter_view"><code class="computeroutput"><span class="identifier">filter_view</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/views/iterator_range.html" title="iterator_range"><tt class="computeroutput"><span class="identifier">iterator_range</span></tt></a>
<a href="../../sequences/views/iterator_range.html" title="iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/views/joint_view.html" title="joint_view"><tt class="computeroutput"><span class="identifier">joint_view</span></tt></a>
<a href="../../sequences/views/joint_view.html" title="joint_view"><code class="computeroutput"><span class="identifier">joint_view</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/views/transform_view.html" title="transform_view"><tt class="computeroutput"><span class="identifier">transform_view</span></tt></a>
<a href="../../sequences/views/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/views/reverse_view.html" title="reverse_view"><tt class="computeroutput"><span class="identifier">reverse_view</span></tt></a>
<a href="../../sequences/views/reverse_view.html" title="reverse_view"><code class="computeroutput"><span class="identifier">reverse_view</span></code></a>
iterator
</li>
</ul></div>

View File

@ -4,7 +4,7 @@
<title>Random
Access Iterator</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="../concepts.html" title="Concepts">
<link rel="prev" href="bidirectional_iterator.html" title="Bidirectional
@ -30,7 +30,7 @@
Access Iterator">Random
Access Iterator</a></h4></div></div></div>
<a name="fusion.iterators.concepts.random_access_iterator.description"></a><h5>
<a name="id460963"></a>
<a name="id930776"></a>
<a href="random_access_iterator.html#fusion.iterators.concepts.random_access_iterator.description">Description</a>
</h5>
<p>
@ -41,29 +41,29 @@
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">i</span></tt>,
<tt class="computeroutput"><span class="identifier">j</span></tt></span></dt>
<dt><span class="term"><code class="computeroutput"><span class="identifier">i</span></code>,
<code class="computeroutput"><span class="identifier">j</span></code></span></dt>
<dd>
Random Access Iterators
</dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">I</span></tt>,
<tt class="computeroutput"><span class="identifier">J</span></tt></span></dt>
<dt><span class="term"><code class="computeroutput"><span class="identifier">I</span></code>,
<code class="computeroutput"><span class="identifier">J</span></code></span></dt>
<dd>
Random Access Iterator types
</dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">M</span></tt></span></dt>
<dt><span class="term"><code class="computeroutput"><span class="identifier">M</span></code></span></dt>
<dd>
An <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
integral constant
</dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">N</span></tt></span></dt>
<dt><span class="term"><code class="computeroutput"><span class="identifier">N</span></code></span></dt>
<dd>
An integral constant
</dd>
</dl>
</div>
<a name="fusion.iterators.concepts.random_access_iterator.refinement_of"></a><h5>
<a name="id461110"></a>
<a name="id930908"></a>
<a href="random_access_iterator.html#fusion.iterators.concepts.random_access_iterator.refinement_of">Refinement
of</a>
</h5>
@ -73,7 +73,7 @@
Iterator</a>
</p>
<a name="fusion.iterators.concepts.random_access_iterator.expression_requirements"></a><h5>
<a name="id461151"></a>
<a name="id930945"></a>
<a href="random_access_iterator.html#fusion.iterators.concepts.random_access_iterator.expression_requirements">Expression
requirements</a>
</h5>
@ -96,28 +96,28 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><a href="../functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></tt></td>
<td><code class="computeroutput"><a href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td><a href="random_access_iterator.html" title="Random
Access Iterator">Random
Access Iterator</a></td>
<td>Constant</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../functions/prior.html" title="prior"><tt class="computeroutput"><span class="identifier">prior</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></tt></td>
<td><code class="computeroutput"><a href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td><a href="random_access_iterator.html" title="Random
Access Iterator">Random
Access Iterator</a></td>
<td>Constant</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../functions/advance_c.html" title="advance_c"><tt class="computeroutput"><span class="identifier">advance_c</span></tt></a><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></tt></td>
<td><code class="computeroutput"><a href="../functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td><a href="random_access_iterator.html" title="Random
Access Iterator">Random
Access Iterator</a></td>
<td>Constant</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../functions/advance.html" title="advance"><tt class="computeroutput"><span class="identifier">advance</span></tt></a><span class="special">&lt;</span><span class="identifier">M</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></tt></td>
<td><code class="computeroutput"><a href="../functions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special">&lt;</span><span class="identifier">M</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td><a href="random_access_iterator.html" title="Random
Access Iterator">Random
Access Iterator</a></td>
@ -126,7 +126,7 @@
</tbody>
</table></div>
<a name="fusion.iterators.concepts.random_access_iterator.meta_expressions"></a><h5>
<a name="id461452"></a>
<a name="id931213"></a>
<a href="random_access_iterator.html#fusion.iterators.concepts.random_access_iterator.meta_expressions">Meta
Expressions</a>
</h5>
@ -141,53 +141,53 @@
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><a href="../metafunctions/advance_c.html" title="advance_c"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance_c</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;::</span><span class="identifier">type</span></tt></td>
<td><code class="computeroutput"><a href="../metafunctions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance_c</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
<td>Amortized constant
time</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../metafunctions/advance.html" title="advance"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">M</span><span class="special">&gt;::</span><span class="identifier">type</span></tt></td>
<td><code class="computeroutput"><a href="../metafunctions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">M</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
<td>Amortized constant
time</td>
</tr>
<tr>
<td><tt class="computeroutput"><a href="../metafunctions/distance.html" title="distance"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span> <span class="special">,</span><span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">type</span></tt></td>
<td><code class="computeroutput"><a href="../metafunctions/distance.html" title="distance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></code></a><span class="special">&lt;</span><span class="identifier">I</span> <span class="special">,</span><span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
<td>Amortized constant
time</td>
</tr>
</tbody>
</table></div>
<a name="fusion.iterators.concepts.random_access_iterator.models"></a><h5>
<a name="id461714"></a>
<a name="id931444"></a>
<a href="random_access_iterator.html#fusion.iterators.concepts.random_access_iterator.models">Models</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li>
<a href="../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a>
<a href="../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/adapted/std__pair.html" title="std::pair"><tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt></a>
<a href="../../sequences/adapted/std__pair.html" title="std::pair"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/adapted/boost__array.html" title="boost::array"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></tt></a>
<a href="../../sequences/adapted/boost__array.html" title="boost::array"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code></a>
iterator
</li>
<li>
<a href="../../sequences/views/iterator_range.html" title="iterator_range"><tt class="computeroutput"><span class="identifier">iterator_range</span></tt></a>
<a href="../../sequences/views/iterator_range.html" title="iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a>
iterator (where adapted sequence is a <a href="../../sequences/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a>)
</li>
<li>
<a href="../../sequences/views/transform_view.html" title="transform_view"><tt class="computeroutput"><span class="identifier">transform_view</span></tt></a>
<a href="../../sequences/views/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a>
iterator (where adapted sequence is a <a href="../../sequences/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a>)
</li>
<li>
<a href="../../sequences/views/reverse_view.html" title="reverse_view"><tt class="computeroutput"><span class="identifier">reverse_view</span></tt></a>
<a href="../../sequences/views/reverse_view.html" title="reverse_view"><code class="computeroutput"><span class="identifier">reverse_view</span></code></a>
iterator (where adapted sequence is a <a href="../../sequences/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a>)

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="../iterators.html" title="Iterators">
<link rel="prev" href="concepts/random_access_iterator.html" title="Random

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>advance</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="distance.html" title="distance">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.iterators.functions.advance"></a><a href="advance.html" title="advance">advance</a></h4></div></div></div>
<a name="fusion.iterators.functions.advance.description"></a><h5>
<a name="id465432"></a>
<a name="id934725"></a>
<a href="advance.html#fusion.iterators.functions.advance.description">Description</a>
</h5>
<p>
Moves an iterator by a specified distance.
</p>
<a name="fusion.iterators.functions.advance.synopsis"></a><h5>
<a name="id465461"></a>
<a name="id934751"></a>
<a href="advance.html#fusion.iterators.functions.advance.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -41,10 +41,10 @@
<span class="keyword">typename</span> <span class="identifier">I</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">M</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/advance.html" title="advance"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">M</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">advance</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../metafunctions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">M</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">advance</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id465632"></a><p class="title"><b>Table<EFBFBD>1.6.<2E>Parameters</b></p>
<a name="id934901"></a><p class="title"><b>Table<EFBFBD>1.6.<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">i</span></tt></td>
<td><code class="computeroutput"><span class="identifier">i</span></code></td>
<td>Model
of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -67,7 +67,7 @@
<td>Iterator to move relative to</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">N</span></tt></td>
<td><code class="computeroutput"><span class="identifier">N</span></code></td>
<td>An
MPL Integral Constant</td>
<td>Number of positions to move</td>
@ -76,42 +76,42 @@
</table>
</div>
<a name="fusion.iterators.functions.advance.expression_semantics"></a><h5>
<a name="id465726"></a>
<a name="id934984"></a>
<a href="advance.html#fusion.iterators.functions.advance.expression_semantics">Expression
Semantics</a>
</h5>
<pre class="programlisting">
<a href="advance.html" title="advance"><tt class="computeroutput"><span class="identifier">advance</span></tt></a><span class="special">&lt;</span><span class="identifier">M</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">);</span>
<a href="advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special">&lt;</span><span class="identifier">M</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of the same iterator
concept as <tt class="computeroutput"><span class="identifier">i</span></tt>.
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
concept as <code class="computeroutput"><span class="identifier">i</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the
element <tt class="computeroutput"><span class="identifier">M</span></tt> positions from
<tt class="computeroutput"><span class="identifier">i</span></tt>. If <tt class="computeroutput"><span class="identifier">i</span></tt>
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
element <code class="computeroutput"><span class="identifier">M</span></code> positions from
<code class="computeroutput"><span class="identifier">i</span></code>. If <code class="computeroutput"><span class="identifier">i</span></code>
is a <a href="../concepts/bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a> then <tt class="computeroutput"><span class="identifier">M</span></tt>
Iterator</a> then <code class="computeroutput"><span class="identifier">M</span></code>
may be negative.
</p>
<a name="fusion.iterators.functions.advance.header"></a><h5>
<a name="id465882"></a>
<a name="id935123"></a>
<a href="advance.html#fusion.iterators.functions.advance.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">iterator</span><span class="special">/</span><span class="identifier">advance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.iterators.functions.advance.example"></a><h5>
<a name="id465977"></a>
<a name="id935206"></a>
<a href="advance.html#fusion.iterators.functions.advance.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">typedef</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="keyword">typedef</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="identifier">vec</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="identifier">assert</span><span class="special">(</span><a href="deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><a href="advance.html" title="advance"><tt class="computeroutput"><span class="identifier">advance</span></tt></a><span class="special">&lt;</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><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">v</span><span class="special">)))</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="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a href="advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special">&lt;</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><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">v</span><span class="special">)))</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>advance_c</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="advance.html" title="advance">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.iterators.functions.advance_c"></a><a href="advance_c.html" title="advance_c">advance_c</a></h4></div></div></div>
<a name="fusion.iterators.functions.advance_c.description"></a><h5>
<a name="id466273"></a>
<a name="id935468"></a>
<a href="advance_c.html#fusion.iterators.functions.advance_c.description">Description</a>
</h5>
<p>
Moves an iterator by a specified distance.
</p>
<a name="fusion.iterators.functions.advance_c.synopsis"></a><h5>
<a name="id466305"></a>
<a name="id935496"></a>
<a href="advance_c.html#fusion.iterators.functions.advance_c.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -41,10 +41,10 @@
<span class="keyword">typename</span> <span class="identifier">I</span><span class="special">,</span>
<span class="keyword">int</span> <span class="identifier">N</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/advance_c.html" title="advance_c"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance_c</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">advance_c</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../metafunctions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance_c</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">advance_c</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id466477"></a><p class="title"><b>Table<EFBFBD>1.7.<2E>Parameters</b></p>
<a name="id935647"></a><p class="title"><b>Table<EFBFBD>1.7.<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">i</span></tt></td>
<td><code class="computeroutput"><span class="identifier">i</span></code></td>
<td>Model
of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -67,7 +67,7 @@
<td>Iterator to move relative to</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">N</span></tt></td>
<td><code class="computeroutput"><span class="identifier">N</span></code></td>
<td>Integer
constant</td>
<td>Number of positions to move</td>
@ -76,42 +76,42 @@
</table>
</div>
<a name="fusion.iterators.functions.advance_c.expression_semantics"></a><h5>
<a name="id466571"></a>
<a name="id935730"></a>
<a href="advance_c.html#fusion.iterators.functions.advance_c.expression_semantics">Expression
Semantics</a>
</h5>
<pre class="programlisting">
<a href="advance_c.html" title="advance_c"><tt class="computeroutput"><span class="identifier">advance_c</span></tt></a><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">);</span>
<a href="advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of the same iterator
concept as <tt class="computeroutput"><span class="identifier">i</span></tt>.
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
concept as <code class="computeroutput"><span class="identifier">i</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the
element <tt class="computeroutput"><span class="identifier">N</span></tt> positions from
<tt class="computeroutput"><span class="identifier">i</span></tt>. If <tt class="computeroutput"><span class="identifier">i</span></tt>
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
element <code class="computeroutput"><span class="identifier">N</span></code> positions from
<code class="computeroutput"><span class="identifier">i</span></code>. If <code class="computeroutput"><span class="identifier">i</span></code>
is a <a href="../concepts/bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a> then <tt class="computeroutput"><span class="identifier">N</span></tt>
Iterator</a> then <code class="computeroutput"><span class="identifier">N</span></code>
may be negative.
</p>
<a name="fusion.iterators.functions.advance_c.header"></a><h5>
<a name="id466727"></a>
<a name="id935868"></a>
<a href="advance_c.html#fusion.iterators.functions.advance_c.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">iterator</span><span class="special">/</span><span class="identifier">advance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.iterators.functions.advance_c.example"></a><h5>
<a name="id466821"></a>
<a name="id935951"></a>
<a href="advance_c.html#fusion.iterators.functions.advance_c.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">typedef</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="keyword">typedef</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="identifier">vec</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="identifier">assert</span><span class="special">(</span><a href="deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><a href="advance_c.html" title="advance_c"><tt class="computeroutput"><span class="identifier">advance_c</span></tt></a><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</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">v</span><span class="special">)))</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="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a href="advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</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">v</span><span class="special">)))</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>deref</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,24 +26,24 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.iterators.functions.deref"></a><a href="deref.html" title="deref">deref</a></h4></div></div></div>
<a name="fusion.iterators.functions.deref.description"></a><h5>
<a name="id461970"></a>
<a name="id931670"></a>
<a href="deref.html#fusion.iterators.functions.deref.description">Description</a>
</h5>
<p>
Deferences an iterator.
</p>
<a name="fusion.iterators.functions.deref.synopsis"></a><h5>
<a name="id462000"></a>
<a name="id931696"></a>
<a href="deref.html#fusion.iterators.functions.deref.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">I</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../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><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">deref</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../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><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">deref</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id462144"></a><p class="title"><b>Table<EFBFBD>1.2.<2E>Parameters</b></p>
<a name="id931822"></a><p class="title"><b>Table<EFBFBD>1.2.<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">i</span></tt></td>
<td><code class="computeroutput"><span class="identifier">i</span></code></td>
<td>Model
of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -67,39 +67,39 @@
</table>
</div>
<a name="fusion.iterators.functions.deref.expression_semantics"></a><h5>
<a name="id462217"></a>
<a name="id931887"></a>
<a href="deref.html#fusion.iterators.functions.deref.expression_semantics">Expression
Semantics</a>
</h5>
<pre class="programlisting">
<a href="deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
<a href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><a href="../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><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span></tt>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><a href="../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><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Dereferences the iterator
<tt class="computeroutput"><span class="identifier">i</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Dereferences the iterator
<code class="computeroutput"><span class="identifier">i</span></code>.
</p>
<a name="fusion.iterators.functions.deref.header"></a><h5>
<a name="id462360"></a>
<a name="id932014"></a>
<a href="deref.html#fusion.iterators.functions.deref.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">iterator</span><span class="special">/</span><span class="identifier">deref</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.iterators.functions.deref.example"></a><h5>
<a name="id462454"></a>
<a name="id932096"></a>
<a href="deref.html#fusion.iterators.functions.deref.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">typedef</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">&amp;&gt;</span> <span class="identifier">vec</span><span class="special">;</span>
<span class="keyword">typedef</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">&amp;&gt;</span> <span class="identifier">vec</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">vec</span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="identifier">i</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</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">v</span><span class="special">))</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="deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><a href="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">v</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">(&amp;(</span><a href="deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><a href="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">v</span><span class="special">))))</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">i</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</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">v</span><span class="special">))</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="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a href="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">v</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">(&amp;(</span><a href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a href="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">v</span><span class="special">))))</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">i</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>distance</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="prior.html" title="prior">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.iterators.functions.distance"></a><a href="distance.html" title="distance">distance</a></h4></div></div></div>
<a name="fusion.iterators.functions.distance.description"></a><h5>
<a name="id464589"></a>
<a name="id933982"></a>
<a href="distance.html#fusion.iterators.functions.distance.description">Description</a>
</h5>
<p>
Returns the distance between 2 iterators.
</p>
<a name="fusion.iterators.functions.distance.synopsis"></a><h5>
<a name="id464619"></a>
<a name="id934008"></a>
<a href="distance.html#fusion.iterators.functions.distance.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -41,10 +41,10 @@
<span class="keyword">typename</span> <span class="identifier">I</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">J</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/distance.html" title="distance"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">J</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">j</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../metafunctions/distance.html" title="distance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">J</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">j</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id464819"></a><p class="title"><b>Table<EFBFBD>1.5.<2E>Parameters</b></p>
<a name="id934184"></a><p class="title"><b>Table<EFBFBD>1.5.<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">i</span></tt>, <tt class="computeroutput"><span class="identifier">j</span></tt>
<code class="computeroutput"><span class="identifier">i</span></code>, <code class="computeroutput"><span class="identifier">j</span></code>
</td>
<td>Models of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -69,36 +69,36 @@
</table>
</div>
<a name="fusion.iterators.functions.distance.expression_semantics"></a><h5>
<a name="id464902"></a>
<a name="id934259"></a>
<a href="distance.html#fusion.iterators.functions.distance.expression_semantics">Expression
Semantics</a>
</h5>
<pre class="programlisting">
<a href="distance.html" title="distance"><tt class="computeroutput"><span class="identifier">distance</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">,</span><span class="identifier">j</span><span class="special">);</span>
<a href="distance.html" title="distance"><code class="computeroutput"><span class="identifier">distance</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">,</span><span class="identifier">j</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 distance between
iterators <tt class="computeroutput"><span class="identifier">i</span></tt> and <tt class="computeroutput"><span class="identifier">j</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns the distance between
iterators <code class="computeroutput"><span class="identifier">i</span></code> and <code class="computeroutput"><span class="identifier">j</span></code>.
</p>
<a name="fusion.iterators.functions.distance.header"></a><h5>
<a name="id465027"></a>
<a name="id934369"></a>
<a href="distance.html#fusion.iterators.functions.distance.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">iterator</span><span class="special">/</span><span class="identifier">distance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.iterators.functions.distance.example"></a><h5>
<a name="id465122"></a>
<a name="id934452"></a>
<a href="distance.html#fusion.iterators.functions.distance.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">typedef</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="keyword">typedef</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="identifier">vec</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="identifier">assert</span><span class="special">(</span><a href="distance.html" title="distance"><tt class="computeroutput"><span class="identifier">distance</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">v</span><span class="special">),</span> <a href="next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="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">v</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="distance.html" title="distance"><code class="computeroutput"><span class="identifier">distance</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">v</span><span class="special">),</span> <a href="next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a href="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">v</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>next</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="deref.html" title="deref">
@ -26,24 +26,24 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.iterators.functions.next"></a><a href="next.html" title="next">next</a></h4></div></div></div>
<a name="fusion.iterators.functions.next.description"></a><h5>
<a name="id462901"></a>
<a name="id932490"></a>
<a href="next.html#fusion.iterators.functions.next.description">Description</a>
</h5>
<p>
Moves an iterator 1 position forwards.
</p>
<a name="fusion.iterators.functions.next.synopsis"></a><h5>
<a name="id462931"></a>
<a name="id932516"></a>
<a href="next.html#fusion.iterators.functions.next.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">I</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/next.html" title="next"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">next</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../metafunctions/next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">next</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id463074"></a><p class="title"><b>Table<EFBFBD>1.3.<2E>Parameters</b></p>
<a name="id932642"></a><p class="title"><b>Table<EFBFBD>1.3.<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">i</span></tt></td>
<td><code class="computeroutput"><span class="identifier">i</span></code></td>
<td>Model
of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -67,7 +67,7 @@
</table>
</div>
<a name="fusion.iterators.functions.next.expression_semantics"></a><h5>
<a name="id463146"></a>
<a name="id932706"></a>
<a href="next.html#fusion.iterators.functions.next.expression_semantics">Expression
Semantics</a>
</h5>
@ -75,31 +75,31 @@
<span class="identifier">next</span><span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of the same iterator
concept as <tt class="computeroutput"><span class="identifier">i</span></tt>.
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
concept as <code class="computeroutput"><span class="identifier">i</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the
next element after <tt class="computeroutput"><span class="identifier">i</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
next element after <code class="computeroutput"><span class="identifier">i</span></code>.
</p>
<a name="fusion.iterators.functions.next.header"></a><h5>
<a name="id463240"></a>
<a name="id932791"></a>
<a href="next.html#fusion.iterators.functions.next.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">iterator</span><span class="special">/</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.iterators.functions.next.example"></a><h5>
<a name="id463334"></a>
<a name="id932874"></a>
<a href="next.html#fusion.iterators.functions.next.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">typedef</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="keyword">typedef</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="identifier">vec</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="identifier">assert</span><span class="special">(</span><a href="deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</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">v</span><span class="special">))</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="deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><a href="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">v</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="deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><a href="next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="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">v</span><span class="special">))))</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="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</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">v</span><span class="special">))</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="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a href="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">v</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="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a href="next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a href="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">v</span><span class="special">))))</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>prior</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="next.html" title="next">
@ -26,24 +26,24 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.iterators.functions.prior"></a><a href="prior.html" title="prior">prior</a></h4></div></div></div>
<a name="fusion.iterators.functions.prior.description"></a><h5>
<a name="id463788"></a>
<a name="id933274"></a>
<a href="prior.html#fusion.iterators.functions.prior.description">Description</a>
</h5>
<p>
Moves an iterator 1 position backwards.
</p>
<a name="fusion.iterators.functions.prior.synopsis"></a><h5>
<a name="id463818"></a>
<a name="id933300"></a>
<a href="prior.html#fusion.iterators.functions.prior.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">I</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/prior.html" title="prior"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">prior</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">prior</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../metafunctions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">prior</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">prior</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id463961"></a><p class="title"><b>Table<EFBFBD>1.4.<2E>Parameters</b></p>
<a name="id933426"></a><p class="title"><b>Table<EFBFBD>1.4.<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">i</span></tt></td>
<td><code class="computeroutput"><span class="identifier">i</span></code></td>
<td>Model
of <a href="../concepts/bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
@ -67,38 +67,38 @@
</table>
</div>
<a name="fusion.iterators.functions.prior.expression_semantics"></a><h5>
<a name="id464035"></a>
<a name="id933492"></a>
<a href="prior.html#fusion.iterators.functions.prior.expression_semantics">Expression
Semantics</a>
</h5>
<pre class="programlisting">
<a href="prior.html" title="prior"><tt class="computeroutput"><span class="identifier">prior</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
<a href="prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of the same iterator
concept as <tt class="computeroutput"><span class="identifier">i</span></tt>.
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
concept as <code class="computeroutput"><span class="identifier">i</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the
element prior to <tt class="computeroutput"><span class="identifier">i</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
element prior to <code class="computeroutput"><span class="identifier">i</span></code>.
</p>
<a name="fusion.iterators.functions.prior.header"></a><h5>
<a name="id464139"></a>
<a name="id933586"></a>
<a href="prior.html#fusion.iterators.functions.prior.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">iterator</span><span class="special">/</span><span class="identifier">prior</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.iterators.functions.prior.example"></a><h5>
<a name="id464233"></a>
<a name="id933668"></a>
<a href="prior.html#fusion.iterators.functions.prior.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">typedef</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="keyword">typedef</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="identifier">vec</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="identifier">assert</span><span class="special">(</span><a href="deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><a href="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">v</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="deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><a href="prior.html" title="prior"><tt class="computeroutput"><span class="identifier">prior</span></tt></a><span class="special">(</span><a href="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">v</span><span class="special">))))</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="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a href="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">v</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="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a href="prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><a href="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">v</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>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="../iterators.html" title="Iterators">
<link rel="prev" href="operators/operator_inequality.html" title=" Operator

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>advance</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="distance.html" title="distance">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.iterators.metafunctions.advance"></a><a href="advance.html" title="advance">advance</a></h4></div></div></div>
<a name="fusion.iterators.metafunctions.advance.description"></a><h5>
<a name="id474486"></a>
<a name="id942718"></a>
<a href="advance.html#fusion.iterators.metafunctions.advance.description">Description</a>
</h5>
<p>
Moves an iterator a specified distance.
</p>
<a name="fusion.iterators.metafunctions.advance.synopsis"></a><h5>
<a name="id474518"></a>
<a name="id942746"></a>
<a href="advance.html#fusion.iterators.metafunctions.advance.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id474633"></a><p class="title"><b>Table<EFBFBD>1.17.<2E>Parameters</b></p>
<a name="id942848"></a><p class="title"><b>Table<EFBFBD>1.17.<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">I</span></tt></td>
<td><code class="computeroutput"><span class="identifier">I</span></code></td>
<td>Model
of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -70,7 +70,7 @@
<td>Iterator to move relative to</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">M</span></tt></td>
<td><code class="computeroutput"><span class="identifier">M</span></code></td>
<td>Model
of MPL Integral Constant</td>
<td>Number of positions to move</td>
@ -79,43 +79,43 @@
</table>
</div>
<a name="fusion.iterators.metafunctions.advance.expression_semantics"></a><h5>
<a name="id474727"></a>
<a name="id942930"></a>
<a href="advance.html#fusion.iterators.metafunctions.advance.expression_semantics">Expression
Semantics</a>
</h5>
<pre class="programlisting">
<a href="advance.html" title="advance"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span><span class="identifier">M</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="advance.html" title="advance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span><span class="identifier">M</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
concept as <tt class="computeroutput"><span class="identifier">I</span></tt>.
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
concept as <code class="computeroutput"><span class="identifier">I</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns an iterator a distance
<tt class="computeroutput"><span class="identifier">M</span></tt> from <tt class="computeroutput"><span class="identifier">I</span></tt>.
If <tt class="computeroutput"><span class="identifier">I</span></tt> is a <a href="../concepts/bidirectional_iterator.html" title="Bidirectional
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator a distance
<code class="computeroutput"><span class="identifier">M</span></code> from <code class="computeroutput"><span class="identifier">I</span></code>.
If <code class="computeroutput"><span class="identifier">I</span></code> is a <a href="../concepts/bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a> then <tt class="computeroutput"><span class="identifier">M</span></tt>
Iterator</a> then <code class="computeroutput"><span class="identifier">M</span></code>
may be negative.
</p>
<a name="fusion.iterators.metafunctions.advance.header"></a><h5>
<a name="id474898"></a>
<a name="id943081"></a>
<a href="advance.html#fusion.iterators.metafunctions.advance.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">iterator</span><span class="special">/</span><span class="identifier">advance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.iterators.metafunctions.advance.example"></a><h5>
<a name="id474992"></a>
<a name="id943164"></a>
<a href="advance.html#fusion.iterators.metafunctions.advance.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">typedef</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="keyword">typedef</span> <a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></tt></a><span class="special">&lt;</span><span class="identifier">vec</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></tt></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></tt></a><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">third</span><span class="special">;</span>
<span class="keyword">typedef</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="keyword">typedef</span> <a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special">&lt;</span><span class="identifier">vec</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">third</span><span class="special">;</span>
<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><a href="equal_to.html" title="equal_to"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></tt></a><span class="special">&lt;</span><a href="advance.html" title="advance"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></tt></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</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">type</span><span class="special">,</span> <span class="identifier">third</span><span class="special">&gt;));</span>
<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><a href="equal_to.html" title="equal_to"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></code></a><span class="special">&lt;</span><a href="advance.html" title="advance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></code></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</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">type</span><span class="special">,</span> <span class="identifier">third</span><span class="special">&gt;));</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>advance_c</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="advance.html" title="advance">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.iterators.metafunctions.advance_c"></a><a href="advance_c.html" title="advance_c">advance_c</a></h4></div></div></div>
<a name="fusion.iterators.metafunctions.advance_c.description"></a><h5>
<a name="id475453"></a>
<a name="id943570"></a>
<a href="advance_c.html#fusion.iterators.metafunctions.advance_c.description">Description</a>
</h5>
<p>
Moves an iterator by a specified distance.
</p>
<a name="fusion.iterators.metafunctions.advance_c.synopsis"></a><h5>
<a name="id475483"></a>
<a name="id943598"></a>
<a href="advance_c.html#fusion.iterators.metafunctions.advance_c.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id475600"></a><p class="title"><b>Table<EFBFBD>1.18.<2E>Parameters</b></p>
<a name="id943701"></a><p class="title"><b>Table<EFBFBD>1.18.<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">I</span></tt></td>
<td><code class="computeroutput"><span class="identifier">I</span></code></td>
<td>Model
of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -70,7 +70,7 @@
<td>Iterator to move relative to</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">N</span></tt></td>
<td><code class="computeroutput"><span class="identifier">N</span></code></td>
<td>Integer
constant</td>
<td>Number of positions to move</td>
@ -79,43 +79,43 @@
</table>
</div>
<a name="fusion.iterators.metafunctions.advance_c.expression_semantics"></a><h5>
<a name="id475694"></a>
<a name="id961260"></a>
<a href="advance_c.html#fusion.iterators.metafunctions.advance_c.expression_semantics">Expression
Semantics</a>
</h5>
<pre class="programlisting">
<a href="advance_c.html" title="advance_c"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance_c</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance_c</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">N</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
concept as <tt class="computeroutput"><span class="identifier">I</span></tt>.
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
concept as <code class="computeroutput"><span class="identifier">I</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns an iterator a distance
<tt class="computeroutput"><span class="identifier">N</span></tt> from <tt class="computeroutput"><span class="identifier">I</span></tt>.
If <tt class="computeroutput"><span class="identifier">I</span></tt> is a <a href="../concepts/bidirectional_iterator.html" title="Bidirectional
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator a distance
<code class="computeroutput"><span class="identifier">N</span></code> from <code class="computeroutput"><span class="identifier">I</span></code>.
If <code class="computeroutput"><span class="identifier">I</span></code> is a <a href="../concepts/bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a> then <tt class="computeroutput"><span class="identifier">N</span></tt>
may be negative. Equivalent to <tt class="computeroutput"><a href="advance.html" title="advance"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span></tt>.
Iterator</a> then <code class="computeroutput"><span class="identifier">N</span></code>
may be negative. Equivalent to <code class="computeroutput"><a href="advance.html" title="advance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span></code>.
</p>
<a name="fusion.iterators.metafunctions.advance_c.header"></a><h5>
<a name="id475965"></a>
<a name="id961498"></a>
<a href="advance_c.html#fusion.iterators.metafunctions.advance_c.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">iterator</span><span class="special">/</span><span class="identifier">advance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.iterators.metafunctions.advance_c.example"></a><h5>
<a name="id476059"></a>
<a name="id961581"></a>
<a href="advance_c.html#fusion.iterators.metafunctions.advance_c.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">typedef</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="keyword">typedef</span> <a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></tt></a><span class="special">&lt;</span><span class="identifier">vec</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></tt></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></tt></a><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">third</span><span class="special">;</span>
<span class="keyword">typedef</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="keyword">typedef</span> <a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special">&lt;</span><span class="identifier">vec</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">third</span><span class="special">;</span>
<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><a href="equal_to.html" title="equal_to"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></tt></a><span class="special">&lt;</span><a href="advance_c.html" title="advance_c"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance_c</span></tt></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">,</span> <span class="number">2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">third</span><span class="special">&gt;));</span>
<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><a href="equal_to.html" title="equal_to"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></code></a><span class="special">&lt;</span><a href="advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance_c</span></code></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">,</span> <span class="number">2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">third</span><span class="special">&gt;));</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>deref</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="value_of.html" title="value_of">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.iterators.metafunctions.deref"></a><a href="deref.html" title="deref">deref</a></h4></div></div></div>
<a name="fusion.iterators.metafunctions.deref.description"></a><h5>
<a name="id470108"></a>
<a name="id938856"></a>
<a href="deref.html#fusion.iterators.metafunctions.deref.description">Description</a>
</h5>
<p>
Returns the type that will be returned by dereferencing an iterator.
</p>
<a name="fusion.iterators.metafunctions.deref.synposis"></a><h5>
<a name="id470139"></a>
<a name="id938884"></a>
<a href="deref.html#fusion.iterators.metafunctions.deref.synposis">Synposis</a>
</h5>
<pre class="programlisting">
@ -46,7 +46,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id470237"></a><p class="title"><b>Table<EFBFBD>1.12.<2E>Parameters</b></p>
<a name="id938970"></a><p class="title"><b>Table<EFBFBD>1.12.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -59,7 +59,7 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">I</span></tt></td>
<td><code class="computeroutput"><span class="identifier">I</span></code></td>
<td>Model
of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -70,42 +70,42 @@
</table>
</div>
<a name="fusion.iterators.metafunctions.deref.expression_semantics"></a><h5>
<a name="id470310"></a>
<a name="id939034"></a>
<a href="deref.html#fusion.iterators.metafunctions.deref.expression_semantics">Expression
Semantics</a>
</h5>
<pre class="programlisting">
<a href="deref.html" title="deref"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a><span class="special">&lt;</span><span class="identifier">I</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 dereferencing
an iterator of type <tt class="computeroutput"><span class="identifier">I</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns the result of dereferencing
an iterator of type <code class="computeroutput"><span class="identifier">I</span></code>.
</p>
<a name="fusion.iterators.metafunctions.deref.header"></a><h5>
<a name="id470422"></a>
<a name="id939132"></a>
<a href="deref.html#fusion.iterators.metafunctions.deref.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">iterator</span><span class="special">/</span><span class="identifier">deref</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.iterators.metafunctions.deref.example"></a><h5>
<a name="id470516"></a>
<a name="id939215"></a>
<a href="deref.html#fusion.iterators.metafunctions.deref.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">typedef</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">&amp;&gt;</span> <span class="identifier">vec</span><span class="special">;</span>
<span class="keyword">typedef</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">&amp;&gt;</span> <span class="identifier">vec</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">vec</span> <span class="identifier">const_vec</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></tt></a><span class="special">&lt;</span><span class="identifier">vec</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></tt></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special">&lt;</span><span class="identifier">vec</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></tt></a><span class="special">&lt;</span><span class="identifier">const_vec</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">const_first</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></tt></a><span class="special">&lt;</span><span class="identifier">const_first</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">const_second</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special">&lt;</span><span class="identifier">const_vec</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">const_first</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special">&lt;</span><span class="identifier">const_first</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">const_second</span><span class="special">;</span>
<span class="identifier">BOOST_MPL_ASSERT</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><a href="deref.html" title="deref"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></tt></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&amp;&gt;));</span>
<span class="identifier">BOOST_MPL_ASSERT</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><a href="deref.html" title="deref"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></tt></a><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&amp;&gt;));</span>
<span class="identifier">BOOST_MPL_ASSERT</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><a href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&amp;&gt;));</span>
<span class="identifier">BOOST_MPL_ASSERT</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><a href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&amp;&gt;));</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>distance</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="equal_to.html" title="equal_to">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.iterators.metafunctions.distance"></a><a href="distance.html" title="distance">distance</a></h4></div></div></div>
<a name="fusion.iterators.metafunctions.distance.description"></a><h5>
<a name="id473593"></a>
<a name="id941929"></a>
<a href="distance.html#fusion.iterators.metafunctions.distance.description">Description</a>
</h5>
<p>
Returns the distance between two iterators.
</p>
<a name="fusion.iterators.metafunctions.distance.synopsis"></a><h5>
<a name="id473624"></a>
<a name="id941957"></a>
<a href="distance.html#fusion.iterators.metafunctions.distance.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id473742"></a><p class="title"><b>Table<EFBFBD>1.16.<2E>Parameters</b></p>
<a name="id942061"></a><p class="title"><b>Table<EFBFBD>1.16.<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">I</span></tt>, <tt class="computeroutput"><span class="identifier">J</span></tt>
<code class="computeroutput"><span class="identifier">I</span></code>, <code class="computeroutput"><span class="identifier">J</span></code>
</td>
<td>Models of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -72,38 +72,38 @@
</table>
</div>
<a name="fusion.iterators.metafunctions.distance.expression_semantics"></a><h5>
<a name="id473827"></a>
<a name="id942136"></a>
<a href="distance.html#fusion.iterators.metafunctions.distance.expression_semantics">Expression
Semantics</a>
</h5>
<pre class="programlisting">
<a href="distance.html" title="distance"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="distance.html" title="distance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of MPL Integral Constant.
<span class="bold"><strong>Return type</strong></span>: A model of MPL Integral Constant.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the distance between
iterators of types <tt class="computeroutput"><span class="identifier">I</span></tt> and
<tt class="computeroutput"><span class="identifier">J</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns the distance between
iterators of types <code class="computeroutput"><span class="identifier">I</span></code> and
<code class="computeroutput"><span class="identifier">J</span></code>.
</p>
<a name="fusion.iterators.metafunctions.distance.header"></a><h5>
<a name="id473960"></a>
<a name="id942253"></a>
<a href="distance.html#fusion.iterators.metafunctions.distance.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">iterator</span><span class="special">/</span><span class="identifier">distance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.iterators.metafunctions.distance.example"></a><h5>
<a name="id474054"></a>
<a name="id942336"></a>
<a href="distance.html#fusion.iterators.metafunctions.distance.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">typedef</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="keyword">typedef</span> <a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></tt></a><span class="special">&lt;</span><span class="identifier">vec</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></tt></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></tt></a><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">third</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="distance.html" title="distance"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></tt></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">,</span><span class="identifier">third</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">dist</span><span class="special">;</span>
<span class="keyword">typedef</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="keyword">typedef</span> <a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special">&lt;</span><span class="identifier">vec</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">third</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="distance.html" title="distance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></code></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">,</span><span class="identifier">third</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">dist</span><span class="special">;</span>
<span class="identifier">BOOST_MPL_ASSERT_RELATION</span><span class="special">(</span><span class="identifier">dist</span><span class="special">::</span><span class="identifier">value</span><span class="special">,</span> <span class="special">==,</span> <span class="number">2</span><span class="special">);</span>
</pre>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>equal_to</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="prior.html" title="prior">
@ -26,15 +26,15 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.iterators.metafunctions.equal_to"></a><a href="equal_to.html" title="equal_to">equal_to</a></h4></div></div></div>
<a name="fusion.iterators.metafunctions.equal_to.description"></a><h5>
<a name="id472700"></a>
<a name="id941142"></a>
<a href="equal_to.html#fusion.iterators.metafunctions.equal_to.description">Description</a>
</h5>
<p>
Returns a true-valued MPL Integral Constant if <tt class="computeroutput"><span class="identifier">I</span></tt>
and <tt class="computeroutput"><span class="identifier">J</span></tt> are equal.
Returns a true-valued MPL Integral Constant if <code class="computeroutput"><span class="identifier">I</span></code>
and <code class="computeroutput"><span class="identifier">J</span></code> are equal.
</p>
<a name="fusion.iterators.metafunctions.equal_to.synopsis"></a><h5>
<a name="id472751"></a>
<a name="id941187"></a>
<a href="equal_to.html#fusion.iterators.metafunctions.equal_to.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id472869"></a><p class="title"><b>Table<EFBFBD>1.15.<2E>Parameters</b></p>
<a name="id941291"></a><p class="title"><b>Table<EFBFBD>1.15.<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">I</span></tt>, <tt class="computeroutput"><span class="identifier">J</span></tt>
<code class="computeroutput"><span class="identifier">I</span></code>, <code class="computeroutput"><span class="identifier">J</span></code>
</td>
<td>Any fusion iterators</td>
<td>Operation's
@ -71,38 +71,38 @@
</table>
</div>
<a name="fusion.iterators.metafunctions.equal_to.expression_semantics"></a><h5>
<a name="id472943"></a>
<a name="id941357"></a>
<a href="equal_to.html#fusion.iterators.metafunctions.equal_to.expression_semantics">Expression
Semantics</a>
</h5>
<pre class="programlisting">
<a href="equal_to.html" title="equal_to"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="equal_to.html" title="equal_to"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of MPL Integral Constant.
<span class="bold"><strong>Return type</strong></span>: A model of MPL Integral Constant.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns <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>
if <tt class="computeroutput"><span class="identifier">I</span></tt> and <tt class="computeroutput"><span class="identifier">J</span></tt> are iterators to the same position.
Returns <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> otherwise.
<span class="bold"><strong>Semantics</strong></span>: Returns <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>
if <code class="computeroutput"><span class="identifier">I</span></code> and <code class="computeroutput"><span class="identifier">J</span></code> are iterators to the same position.
Returns <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> otherwise.
</p>
<a name="fusion.iterators.metafunctions.equal_to.header"></a><h5>
<a name="id473136"></a>
<a name="id941526"></a>
<a href="equal_to.html#fusion.iterators.metafunctions.equal_to.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">iterator</span><span class="special">/</span><span class="identifier">equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.iterators.metafunctions.equal_to.example"></a><h5>
<a name="id473230"></a>
<a name="id941609"></a>
<a href="equal_to.html#fusion.iterators.metafunctions.equal_to.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">typedef</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="keyword">typedef</span> <a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></tt></a><span class="special">&lt;</span><span class="identifier">vec</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span>
<span class="keyword">typedef</span> <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">vec</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">last</span><span class="special">;</span>
<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><a href="equal_to.html" title="equal_to"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></tt></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">first</span><span class="special">&gt;));</span>
<span class="identifier">BOOST_MPL_ASSERT_NOT</span><span class="special">((</span><a href="equal_to.html" title="equal_to"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></tt></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">,</span><span class="identifier">last</span><span class="special">&gt;));</span>
<span class="keyword">typedef</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="keyword">typedef</span> <a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special">&lt;</span><span class="identifier">vec</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span>
<span class="keyword">typedef</span> <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">vec</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">last</span><span class="special">;</span>
<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><a href="equal_to.html" title="equal_to"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></code></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">first</span><span class="special">&gt;));</span>
<span class="identifier">BOOST_MPL_ASSERT_NOT</span><span class="special">((</span><a href="equal_to.html" title="equal_to"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></code></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">,</span><span class="identifier">last</span><span class="special">&gt;));</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>next</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="deref.html" title="deref">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.iterators.metafunctions.next"></a><a href="next.html" title="next">next</a></h4></div></div></div>
<a name="fusion.iterators.metafunctions.next.description"></a><h5>
<a name="id471096"></a>
<a name="id939727"></a>
<a href="next.html#fusion.iterators.metafunctions.next.description">Description</a>
</h5>
<p>
Returns the type of the next iterator in a sequence.
</p>
<a name="fusion.iterators.metafunctions.next.synposis"></a><h5>
<a name="id471126"></a>
<a name="id939753"></a>
<a href="next.html#fusion.iterators.metafunctions.next.synposis">Synposis</a>
</h5>
<pre class="programlisting">
@ -46,7 +46,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id471225"></a><p class="title"><b>Table<EFBFBD>1.13.<2E>Parameters</b></p>
<a name="id939840"></a><p class="title"><b>Table<EFBFBD>1.13.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -59,7 +59,7 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">I</span></tt></td>
<td><code class="computeroutput"><span class="identifier">I</span></code></td>
<td>Model
of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -70,37 +70,37 @@
</table>
</div>
<a name="fusion.iterators.metafunctions.next.expression_semantics"></a><h5>
<a name="id471298"></a>
<a name="id939905"></a>
<a href="next.html#fusion.iterators.metafunctions.next.expression_semantics">Expression
Semantics</a>
</h5>
<pre class="programlisting">
<a href="next.html" title="next"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special">&lt;</span><span class="identifier">I</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
concept as <tt class="computeroutput"><span class="identifier">I</span></tt>.
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
concept as <code class="computeroutput"><span class="identifier">I</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the
next element in the sequence after <tt class="computeroutput"><span class="identifier">I</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
next element in the sequence after <code class="computeroutput"><span class="identifier">I</span></code>.
</p>
<a name="fusion.iterators.metafunctions.next.header"></a><h5>
<a name="id471419"></a>
<a name="id940012"></a>
<a href="next.html#fusion.iterators.metafunctions.next.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">iterator</span><span class="special">/</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.iterators.metafunctions.next.example"></a><h5>
<a name="id471512"></a>
<a name="id940093"></a>
<a href="next.html#fusion.iterators.metafunctions.next.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">typedef</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="keyword">typedef</span> <a href="next.html" title="next"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></tt></a><span class="special">&lt;</span><a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></tt></a><span class="special">&lt;</span><span class="identifier">vec</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span>
<span class="keyword">typedef</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="keyword">typedef</span> <a href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special">&lt;</span><a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special">&lt;</span><span class="identifier">vec</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span>
<span class="identifier">BOOST_MPL_ASSERT</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><a href="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><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;));</span>
<span class="identifier">BOOST_MPL_ASSERT</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><a href="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><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;));</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>prior</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="next.html" title="next">
@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.iterators.metafunctions.prior"></a><a href="prior.html" title="prior">prior</a></h4></div></div></div>
<a name="fusion.iterators.metafunctions.prior.description"></a><h5>
<a name="id471818"></a>
<a name="id940363"></a>
<a href="prior.html#fusion.iterators.metafunctions.prior.description">Description</a>
</h5>
<p>
Returns the type of the previous iterator in a sequence.
</p>
<a name="fusion.iterators.metafunctions.prior.synopsis"></a><h5>
<a name="id471849"></a>
<a name="id940391"></a>
<a href="prior.html#fusion.iterators.metafunctions.prior.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -46,7 +46,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id471948"></a><p class="title"><b>Table<EFBFBD>1.14.<2E>Parameters</b></p>
<a name="id940478"></a><p class="title"><b>Table<EFBFBD>1.14.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -59,7 +59,7 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">I</span></tt></td>
<td><code class="computeroutput"><span class="identifier">I</span></code></td>
<td>Model
of <a href="../concepts/bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
@ -70,40 +70,40 @@
</table>
</div>
<a name="fusion.iterators.metafunctions.prior.expression_semantics"></a><h5>
<a name="id472021"></a>
<a name="id940543"></a>
<a href="prior.html#fusion.iterators.metafunctions.prior.expression_semantics">Expression
Semantics</a>
</h5>
<pre class="programlisting">
<a href="prior.html" title="prior"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">prior</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="prior.html" title="prior"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">prior</span></code></a><span class="special">&lt;</span><span class="identifier">I</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
concept as <tt class="computeroutput"><span class="identifier">I</span></tt>.
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
concept as <code class="computeroutput"><span class="identifier">I</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the
previous element in the sequence before <tt class="computeroutput"><span class="identifier">I</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
previous element in the sequence before <code class="computeroutput"><span class="identifier">I</span></code>.
</p>
<a name="fusion.iterators.metafunctions.prior.header"></a><h5>
<a name="id472143"></a>
<a name="id940650"></a>
<a href="prior.html#fusion.iterators.metafunctions.prior.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">iterator</span><span class="special">/</span><span class="identifier">prior</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.iterators.metafunctions.prior.example"></a><h5>
<a name="id472237"></a>
<a name="id940733"></a>
<a href="prior.html#fusion.iterators.metafunctions.prior.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">typedef</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="keyword">typedef</span> <a href="next.html" title="next"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></tt></a><span class="special">&lt;</span><a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></tt></a><span class="special">&lt;</span><span class="identifier">vec</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span>
<span class="keyword">typedef</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="keyword">typedef</span> <a href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special">&lt;</span><a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special">&lt;</span><span class="identifier">vec</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span>
<span class="identifier">BOOST_MPL_ASSERT</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><a href="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><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;));</span>
<span class="identifier">BOOST_MPL_ASSERT</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><a href="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><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;));</span>
<span class="keyword">typedef</span> <a href="prior.html" title="prior"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">prior</span></tt></a><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span>
<span class="identifier">BOOST_MPL_ASSERT</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><a href="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><span class="special">&lt;</span><span class="identifier">first</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&gt;));</span>
<span class="keyword">typedef</span> <a href="prior.html" title="prior"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">prior</span></code></a><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span>
<span class="identifier">BOOST_MPL_ASSERT</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><a href="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><span class="special">&lt;</span><span class="identifier">first</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&gt;));</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>value_of</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><h4 class="title">
<a name="fusion.iterators.metafunctions.value_of"></a><a href="value_of.html" title="value_of">value_of</a></h4></div></div></div>
<a name="fusion.iterators.metafunctions.value_of.description"></a><h5>
<a name="id469100"></a>
<a name="id937963"></a>
<a href="value_of.html#fusion.iterators.metafunctions.value_of.description">Description</a>
</h5>
<p>
Returns the type stored at the position of an iterator.
</p>
<a name="fusion.iterators.metafunctions.value_of.synopsis"></a><h5>
<a name="id469128"></a>
<a name="id937990"></a>
<a href="value_of.html#fusion.iterators.metafunctions.value_of.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -46,7 +46,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id469228"></a><p class="title"><b>Table<EFBFBD>1.11.<2E>Parameters</b></p>
<a name="id938078"></a><p class="title"><b>Table<EFBFBD>1.11.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -59,7 +59,7 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">I</span></tt></td>
<td><code class="computeroutput"><span class="identifier">I</span></code></td>
<td>Model
of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -70,40 +70,40 @@
</table>
</div>
<a name="fusion.iterators.metafunctions.value_of.expression_semantics"></a><h5>
<a name="id469301"></a>
<a name="id938143"></a>
<a href="value_of.html#fusion.iterators.metafunctions.value_of.expression_semantics">Expression
Semantics</a>
</h5>
<pre class="programlisting">
<a href="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><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="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><span class="special">&lt;</span><span class="identifier">I</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 type stored in
a sequence at iterator position <tt class="computeroutput"><span class="identifier">I</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns the type stored in
a sequence at iterator position <code class="computeroutput"><span class="identifier">I</span></code>.
</p>
<a name="fusion.iterators.metafunctions.value_of.header"></a><h5>
<a name="id469412"></a>
<a name="id938242"></a>
<a href="value_of.html#fusion.iterators.metafunctions.value_of.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">iterator</span><span class="special">/</span><span class="identifier">value_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.iterators.metafunctions.value_of.example"></a><h5>
<a name="id469506"></a>
<a name="id938324"></a>
<a href="value_of.html#fusion.iterators.metafunctions.value_of.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">typedef</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">&amp;,</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">&amp;&gt;</span> <span class="identifier">vec</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></tt></a><span class="special">&lt;</span><span class="identifier">vec</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></tt></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></tt></a><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">third</span><span class="special">;</span>
<span class="keyword">typedef</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">&amp;,</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">&amp;&gt;</span> <span class="identifier">vec</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="../../sequences/intrinsics/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special">&lt;</span><span class="identifier">vec</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special">&lt;</span><span class="identifier">first</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span>
<span class="keyword">typedef</span> <a href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">third</span><span class="special">;</span>
<span class="identifier">BOOST_MPL_ASSERT</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><a href="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><span class="special">&lt;</span><span class="identifier">first</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&gt;));</span>
<span class="identifier">BOOST_MPL_ASSERT</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><a href="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><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&amp;&gt;));</span>
<span class="identifier">BOOST_MPL_ASSERT</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><a href="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><span class="special">&lt;</span><span class="identifier">third</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">int</span><span class="special">&amp;&gt;));</span>
<span class="identifier">BOOST_MPL_ASSERT</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><a href="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><span class="special">&lt;</span><span class="identifier">first</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&gt;));</span>
<span class="identifier">BOOST_MPL_ASSERT</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><a href="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><span class="special">&lt;</span><span class="identifier">second</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&amp;&gt;));</span>
<span class="identifier">BOOST_MPL_ASSERT</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><a href="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><span class="special">&lt;</span><span class="identifier">third</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">int</span><span class="special">&amp;&gt;));</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>Operators</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="../iterators.html" title="Iterators">
<link rel="prev" href="functions/advance_c.html" title="advance_c">

View File

@ -4,7 +4,7 @@
<title> Operator
==</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="../operators.html" title="Operators">
<link rel="prev" href="operator_unary_star.html" title=" Operator
@ -31,14 +31,14 @@
=="> Operator
==</a></h4></div></div></div>
<a name="fusion.iterators.operators.operator_equality.description"></a><h5>
<a name="id468004"></a>
<a name="id936994"></a>
<a href="operator_equality.html#fusion.iterators.operators.operator_equality.description">Description</a>
</h5>
<p>
Compares 2 iterators for equality.
</p>
<a name="fusion.iterators.operators.operator_equality.synopsis"></a><h5>
<a name="id468034"></a>
<a name="id937021"></a>
<a href="operator_equality.html#fusion.iterators.operators.operator_equality.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -49,7 +49,7 @@
<span class="emphasis"><em>unspecified</em></span> <span class="keyword">operator</span><span class="special">==(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">J</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id468176"></a><p class="title"><b>Table<EFBFBD>1.9.<2E>Parameters</b></p>
<a name="id937146"></a><p class="title"><b>Table<EFBFBD>1.9.<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">i</span></tt>, <tt class="computeroutput"><span class="identifier">j</span></tt>
<code class="computeroutput"><span class="identifier">i</span></code>, <code class="computeroutput"><span class="identifier">j</span></code>
</td>
<td>Any fusion iterators</td>
<td>Operation's
@ -72,7 +72,7 @@
</table>
</div>
<a name="fusion.iterators.operators.operator_equality.expression_semantics"></a><h5>
<a name="id468252"></a>
<a name="id937215"></a>
<a href="operator_equality.html#fusion.iterators.operators.operator_equality.expression_semantics">Expression
Semantics</a>
</h5>
@ -80,15 +80,15 @@
<span class="identifier">i</span> <span class="special">==</span> <span class="identifier">j</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: Convertible to <tt class="computeroutput"><span class="keyword">bool</span></tt>.
<span class="bold"><strong>Return type</strong></span>: Convertible to <code class="computeroutput"><span class="keyword">bool</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Equivalent to <tt class="computeroutput"><a href="../metafunctions/equal_to.html" title="equal_to"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span><span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">value</span></tt>
where <tt class="computeroutput"><span class="identifier">I</span></tt> and <tt class="computeroutput"><span class="identifier">J</span></tt> are the types of <tt class="computeroutput"><span class="identifier">i</span></tt>
and <tt class="computeroutput"><span class="identifier">j</span></tt> respectively.
<span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="computeroutput"><a href="../metafunctions/equal_to.html" title="equal_to"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span><span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">value</span></code>
where <code class="computeroutput"><span class="identifier">I</span></code> and <code class="computeroutput"><span class="identifier">J</span></code> are the types of <code class="computeroutput"><span class="identifier">i</span></code>
and <code class="computeroutput"><span class="identifier">j</span></code> respectively.
</p>
<a name="fusion.iterators.operators.operator_equality.header"></a><h5>
<a name="id468435"></a>
<a name="id937376"></a>
<a href="operator_equality.html#fusion.iterators.operators.operator_equality.header">Header</a>
</h5>
<pre class="programlisting">

View File

@ -4,7 +4,7 @@
<title> Operator
!=</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="../operators.html" title="Operators">
<link rel="prev" href="operator_equality.html" title=" Operator
@ -30,14 +30,14 @@
!="> Operator
!=</a></h4></div></div></div>
<a name="fusion.iterators.operators.operator_inequality.description"></a><h5>
<a name="id468553"></a>
<a name="id937480"></a>
<a href="operator_inequality.html#fusion.iterators.operators.operator_inequality.description">Description</a>
</h5>
<p>
Compares 2 iterators for inequality.
</p>
<a name="fusion.iterators.operators.operator_inequality.synopsis"></a><h5>
<a name="id468584"></a>
<a name="id937508"></a>
<a href="operator_inequality.html#fusion.iterators.operators.operator_inequality.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="emphasis"><em>unspecified</em></span> <span class="keyword">operator</span><span class="special">==(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">J</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id468726"></a><p class="title"><b>Table<EFBFBD>1.10.<2E>Parameters</b></p>
<a name="id937633"></a><p class="title"><b>Table<EFBFBD>1.10.<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">i</span></tt>, <tt class="computeroutput"><span class="identifier">j</span></tt>
<code class="computeroutput"><span class="identifier">i</span></code>, <code class="computeroutput"><span class="identifier">j</span></code>
</td>
<td>Any fusion iterators</td>
<td>Operation's
@ -71,20 +71,20 @@
</table>
</div>
<a name="fusion.iterators.operators.operator_inequality.expression_semantics"></a><h5>
<a name="id468801"></a>
<a name="id937701"></a>
<a href="operator_inequality.html#fusion.iterators.operators.operator_inequality.expression_semantics">Expression
Semantics</a>
</h5>
<p>
<span class="bold"><b>Return type</b></span>: Convertible to <tt class="computeroutput"><span class="keyword">bool</span></tt>.
<span class="bold"><strong>Return type</strong></span>: Convertible to <code class="computeroutput"><span class="keyword">bool</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Equivalent to <tt class="computeroutput"><span class="special">!</span><a href="../metafunctions/equal_to.html" title="equal_to"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></tt></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span><span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">value</span></tt>
where <tt class="computeroutput"><span class="identifier">I</span></tt> and <tt class="computeroutput"><span class="identifier">J</span></tt> are the types of <tt class="computeroutput"><span class="identifier">i</span></tt>
and <tt class="computeroutput"><span class="identifier">j</span></tt> respectively.
<span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="computeroutput"><span class="special">!</span><a href="../metafunctions/equal_to.html" title="equal_to"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span><span class="identifier">J</span><span class="special">&gt;::</span><span class="identifier">value</span></code>
where <code class="computeroutput"><span class="identifier">I</span></code> and <code class="computeroutput"><span class="identifier">J</span></code> are the types of <code class="computeroutput"><span class="identifier">i</span></code>
and <code class="computeroutput"><span class="identifier">j</span></code> respectively.
</p>
<a name="fusion.iterators.operators.operator_inequality.header"></a><h5>
<a name="id468965"></a>
<a name="id937845"></a>
<a href="operator_inequality.html#fusion.iterators.operators.operator_inequality.header">Header</a>
</h5>
<pre class="programlisting">

View File

@ -4,7 +4,7 @@
<title> Operator
*</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="../operators.html" title="Operators">
<link rel="prev" href="../operators.html" title="Operators">
@ -30,24 +30,24 @@
*"> Operator
*</a></h4></div></div></div>
<a name="fusion.iterators.operators.operator_unary_star.description"></a><h5>
<a name="id467120"></a>
<a name="id936213"></a>
<a href="operator_unary_star.html#fusion.iterators.operators.operator_unary_star.description">Description</a>
</h5>
<p>
Dereferences an iterator.
</p>
<a name="fusion.iterators.operators.operator_unary_star.synopsis"></a><h5>
<a name="id467150"></a>
<a name="id936240"></a>
<a href="operator_unary_star.html#fusion.iterators.operators.operator_unary_star.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">I</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../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><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">operator</span><span class="special">*(</span><span class="emphasis"><em>unspecified</em></span><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../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><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">operator</span><span class="special">*(</span><span class="emphasis"><em>unspecified</em></span><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id467308"></a><p class="title"><b>Table<EFBFBD>1.8.<2E>Parameters</b></p>
<a name="id936379"></a><p class="title"><b>Table<EFBFBD>1.8.<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">i</span></tt></td>
<td><code class="computeroutput"><span class="identifier">i</span></code></td>
<td>Model
of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward
@ -71,7 +71,7 @@
</table>
</div>
<a name="fusion.iterators.operators.operator_unary_star.expression_semantics"></a><h5>
<a name="id467382"></a>
<a name="id936446"></a>
<a href="operator_unary_star.html#fusion.iterators.operators.operator_unary_star.expression_semantics">Expression
Semantics</a>
</h5>
@ -79,31 +79,31 @@
<span class="special">*</span><span class="identifier">i</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: Equivalent to the return
type of <tt class="computeroutput"><a href="../functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></tt>.
<span class="bold"><strong>Return type</strong></span>: Equivalent to the return
type of <code class="computeroutput"><a href="../functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Equivalent to <tt class="computeroutput"><a href="../functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="computeroutput"><a href="../functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code>.
</p>
<a name="fusion.iterators.operators.operator_unary_star.header"></a><h5>
<a name="id467516"></a>
<a name="id936564"></a>
<a href="operator_unary_star.html#fusion.iterators.operators.operator_unary_star.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">iterator</span><span class="special">/</span><span class="identifier">deref</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.iterators.operators.operator_unary_star.example"></a><h5>
<a name="id467611"></a>
<a name="id936648"></a>
<a href="operator_unary_star.html#fusion.iterators.operators.operator_unary_star.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">typedef</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">&amp;&gt;</span> <span class="identifier">vec</span><span class="special">;</span>
<span class="keyword">typedef</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">&amp;&gt;</span> <span class="identifier">vec</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">vec</span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="identifier">i</span><span class="special">);</span>
<span class="identifier">assert</span><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">v</span><span class="special">)</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="../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">v</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">(&amp;(*</span><a href="../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">v</span><span class="special">)))</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">i</span><span class="special">);</span>
<span class="identifier">assert</span><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">v</span><span class="special">)</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="../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">v</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">(&amp;(*</span><a href="../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">v</span><span class="special">)))</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">i</span><span class="special">);</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

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