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

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Comparison</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="i_o/out.html" title="out">
@ -26,16 +26,16 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.sequences.operators.comparison"></a><a href="comparison.html" title="Comparison">Comparison</a></h4></div></div></div>
<p>
The Comparison operators: <tt class="computeroutput"><span class="special">==</span></tt>,
<tt class="computeroutput"><span class="special">!=</span></tt>, <tt class="computeroutput"><span class="special">&lt;</span></tt>,
<tt class="computeroutput"><span class="special">&lt;=</span></tt>, <tt class="computeroutput"><span class="special">&gt;=</span></tt>
and <tt class="computeroutput"><span class="special">&gt;=</span></tt> work generically
The Comparison operators: <code class="computeroutput"><span class="special">==</span></code>,
<code class="computeroutput"><span class="special">!=</span></code>, <code class="computeroutput"><span class="special">&lt;</span></code>,
<code class="computeroutput"><span class="special">&lt;=</span></code>, <code class="computeroutput"><span class="special">&gt;=</span></code>
and <code class="computeroutput"><span class="special">&gt;=</span></code> work generically
on all Fusion sequences. Comparison operators are "short- circuited":
elementary comparisons start from the first elements and are performed
only until the result is clear.
</p>
<a name="fusion.sequences.operators.comparison.header"></a><h5>
<a name="id545529"></a>
<a name="id1075369"></a>
<a href="comparison.html#fusion.sequences.operators.comparison.header">Header</a>
</h5>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>equal</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="../comparison.html" title="Comparison">
<link rel="prev" href="../comparison.html" title="Comparison">
@ -27,14 +27,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.sequences.operators.comparison.equal"></a><a href="equal.html" title="equal">equal</a></h5></div></div></div>
<a name="fusion.sequences.operators.comparison.equal.description"></a><h6>
<a name="id545643"></a>
<a name="id1075469"></a>
<a href="equal.html#fusion.sequences.operators.comparison.equal.description">Description</a>
</h6>
<p>
Compare two sequences for equality.
</p>
<a name="fusion.sequences.operators.comparison.equal.synopsis"></a><h6>
<a name="id545674"></a>
<a name="id1075497"></a>
<a href="equal.html#fusion.sequences.operators.comparison.equal.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -43,7 +43,7 @@
<span class="keyword">operator</span><span class="special">==(</span><span class="identifier">Seq1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">Seq2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
</pre>
<a name="fusion.sequences.operators.comparison.equal.parameters"></a><h6>
<a name="id545827"></a>
<a name="id1075633"></a>
<a href="equal.html#fusion.sequences.operators.comparison.equal.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
@ -58,8 +58,8 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">a</span><span class="special">,</span>
<span class="identifier">b</span></tt></td>
<td><code class="computeroutput"><span class="identifier">a</span><span class="special">,</span>
<span class="identifier">b</span></code></td>
<td>Instances
of <a href="../../../sequences.html" title="Sequences">Sequence</a>
</td>
@ -68,7 +68,7 @@
</tr></tbody>
</table></div>
<a name="fusion.sequences.operators.comparison.equal.expression_semantics"></a><h6>
<a name="id545931"></a>
<a name="id1075725"></a>
<a href="equal.html#fusion.sequences.operators.comparison.equal.expression_semantics">Expression
Semantics</a>
</h6>
@ -76,16 +76,16 @@
<span class="identifier">a</span> <span class="special">==</span> <span class="identifier">b</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>Requirements</b></span>:
<span class="bold"><strong>Requirements</strong></span>:
</p>
<p>
For each element, <tt class="computeroutput"><span class="identifier">e1</span></tt>,
in sequence <tt class="computeroutput"><span class="identifier">a</span></tt>, and for
each element, <tt class="computeroutput"><span class="identifier">e2</span></tt>, in
sequence <tt class="computeroutput"><span class="identifier">b</span></tt>, <tt class="computeroutput"><span class="identifier">a</span> <span class="special">==</span> <span class="identifier">b</span></tt> is a valid expression returning a
For each element, <code class="computeroutput"><span class="identifier">e1</span></code>,
in sequence <code class="computeroutput"><span class="identifier">a</span></code>, and for
each element, <code class="computeroutput"><span class="identifier">e2</span></code>, in
sequence <code class="computeroutput"><span class="identifier">b</span></code>, <code class="computeroutput"><span class="identifier">a</span> <span class="special">==</span> <span class="identifier">b</span></code> is a valid expression returning a
type that is convertible to bool.
</p>
<p>
@ -93,30 +93,30 @@
compile time error.
</p>
<p>
<span class="bold"><b>Semantics</b></span>:
<span class="bold"><strong>Semantics</strong></span>:
</p>
<p>
For each element, <tt class="computeroutput"><span class="identifier">e1</span></tt>,
in sequence <tt class="computeroutput"><span class="identifier">a</span></tt>, and for
each element, <tt class="computeroutput"><span class="identifier">e2</span></tt>, in
sequence <tt class="computeroutput"><span class="identifier">b</span></tt>, <tt class="computeroutput"><span class="identifier">e1</span> <span class="special">==</span> <span class="identifier">e2</span></tt> returns true. For any 2 zero length
For each element, <code class="computeroutput"><span class="identifier">e1</span></code>,
in sequence <code class="computeroutput"><span class="identifier">a</span></code>, and for
each element, <code class="computeroutput"><span class="identifier">e2</span></code>, in
sequence <code class="computeroutput"><span class="identifier">b</span></code>, <code class="computeroutput"><span class="identifier">e1</span> <span class="special">==</span> <span class="identifier">e2</span></code> returns true. For any 2 zero length
<span class="underline">_sequence</span>_s, e and f, e == f returns
true.
</p>
<a name="fusion.sequences.operators.comparison.equal.header"></a><h6>
<a name="id546175"></a>
<a name="id1075732"></a>
<a href="equal.html#fusion.sequences.operators.comparison.equal.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">sequence</span><span class="special">/</span><span class="identifier">comparison</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.sequences.operators.comparison.equal.example"></a><h6>
<a name="id546280"></a>
<a name="id1076032"></a>
<a href="equal.html#fusion.sequences.operators.comparison.equal.example">Example</a>
</h6>
<pre class="programlisting">
<a href="../../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">5</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
<a href="../../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">5</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
<a href="../../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">5</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
<a href="../../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">5</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v1</span> <span class="special">==</span> <span class="identifier">v2</span><span class="special">);</span>
</pre>
</div>

View File

@ -4,7 +4,7 @@
<title>greater
than</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="../comparison.html" title="Comparison">
<link rel="prev" href="less_than_equal.html" title="less
@ -34,7 +34,7 @@
Lexicographically compare two sequences.
</p>
<a name="fusion.sequences.operators.comparison.greater_than.synopsis"></a><h6>
<a name="id549144"></a>
<a name="id1078566"></a>
<a href="greater_than.html#fusion.sequences.operators.comparison.greater_than.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -43,7 +43,7 @@
<span class="keyword">operator</span><span class="special">&gt;(</span><span class="identifier">Seq1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">Seq2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
</pre>
<a name="fusion.sequences.operators.comparison.greater_than.parameters"></a><h6>
<a name="id549298"></a>
<a name="id1078702"></a>
<a href="greater_than.html#fusion.sequences.operators.comparison.greater_than.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
@ -58,8 +58,8 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">a</span><span class="special">,</span>
<span class="identifier">b</span></tt></td>
<td><code class="computeroutput"><span class="identifier">a</span><span class="special">,</span>
<span class="identifier">b</span></code></td>
<td>Instances
of <a href="../../../sequences.html" title="Sequences">Sequence</a>
</td>
@ -68,7 +68,7 @@
</tr></tbody>
</table></div>
<a name="fusion.sequences.operators.comparison.greater_than.expression_semantics"></a><h6>
<a name="id549402"></a>
<a name="id1078794"></a>
<a href="greater_than.html#fusion.sequences.operators.comparison.greater_than.expression_semantics">Expression
Semantics</a>
</h6>
@ -76,16 +76,16 @@
<span class="identifier">a</span> <span class="special">&gt;</span> <span class="identifier">b</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>Requirements</b></span>:
<span class="bold"><strong>Requirements</strong></span>:
</p>
<p>
For each element, <tt class="computeroutput"><span class="identifier">e1</span></tt>,
in sequence <tt class="computeroutput"><span class="identifier">a</span></tt>, and for
each element, <tt class="computeroutput"><span class="identifier">e2</span></tt>, in
sequence <tt class="computeroutput"><span class="identifier">b</span></tt>, <tt class="computeroutput"><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">b</span></tt> is a valid expression returning a
For each element, <code class="computeroutput"><span class="identifier">e1</span></code>,
in sequence <code class="computeroutput"><span class="identifier">a</span></code>, and for
each element, <code class="computeroutput"><span class="identifier">e2</span></code>, in
sequence <code class="computeroutput"><span class="identifier">b</span></code>, <code class="computeroutput"><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">b</span></code> is a valid expression returning a
type that is convertible to bool.
</p>
<p>
@ -93,23 +93,23 @@
compile time error.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns b &lt; a.
<span class="bold"><strong>Semantics</strong></span>: Returns b &lt; a.
</p>
<a name="fusion.sequences.operators.comparison.greater_than.header"></a><h6>
<a name="id549570"></a>
<a name="id1078942"></a>
<a href="greater_than.html#fusion.sequences.operators.comparison.greater_than.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">sequence</span><span class="special">/</span><span class="identifier">comparison</span><span class="special">/</span><span class="identifier">less_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.sequences.operators.comparison.greater_than.example"></a><h6>
<a name="id549676"></a>
<a name="id1079035"></a>
<a href="greater_than.html#fusion.sequences.operators.comparison.greater_than.example">Example</a>
</h6>
<pre class="programlisting">
<a href="../../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">float</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">4</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">short</span><span class="special">,</span> <span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v3</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">4.4</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">4</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">short</span><span class="special">,</span> <span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v3</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">4.4</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v2</span> <span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v3</span> <span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">);</span>
</pre>

View File

@ -4,7 +4,7 @@
<title>greater
than equal</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="../comparison.html" title="Comparison">
<link rel="prev" href="greater_than.html" title="greater
@ -33,7 +33,7 @@
Lexicographically compare two sequences.
</p>
<a name="fusion.sequences.operators.comparison.greater_than_equal.synopsis"></a><h6>
<a name="id550027"></a>
<a name="id1079347"></a>
<a href="greater_than_equal.html#fusion.sequences.operators.comparison.greater_than_equal.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -42,7 +42,7 @@
<span class="keyword">operator</span><span class="special">&gt;=(</span><span class="identifier">Seq1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">Seq2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
</pre>
<a name="fusion.sequences.operators.comparison.greater_than_equal.parameters"></a><h6>
<a name="id550182"></a>
<a name="id1079485"></a>
<a href="greater_than_equal.html#fusion.sequences.operators.comparison.greater_than_equal.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
@ -57,8 +57,8 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">a</span><span class="special">,</span>
<span class="identifier">b</span></tt></td>
<td><code class="computeroutput"><span class="identifier">a</span><span class="special">,</span>
<span class="identifier">b</span></code></td>
<td>Instances
of <a href="../../../sequences.html" title="Sequences">Sequence</a>
</td>
@ -67,7 +67,7 @@
</tr></tbody>
</table></div>
<a name="fusion.sequences.operators.comparison.greater_than_equal.expression_semantics"></a><h6>
<a name="id550286"></a>
<a name="id1079576"></a>
<a href="greater_than_equal.html#fusion.sequences.operators.comparison.greater_than_equal.expression_semantics">Expression
Semantics</a>
</h6>
@ -75,16 +75,16 @@
<span class="identifier">a</span> <span class="special">&gt;=</span> <span class="identifier">b</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>Requirements</b></span>:
<span class="bold"><strong>Requirements</strong></span>:
</p>
<p>
For each element, <tt class="computeroutput"><span class="identifier">e1</span></tt>,
in sequence <tt class="computeroutput"><span class="identifier">a</span></tt>, and for
each element, <tt class="computeroutput"><span class="identifier">e2</span></tt>, in
sequence <tt class="computeroutput"><span class="identifier">b</span></tt>, <tt class="computeroutput"><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">b</span></tt> is a valid expression returning a
For each element, <code class="computeroutput"><span class="identifier">e1</span></code>,
in sequence <code class="computeroutput"><span class="identifier">a</span></code>, and for
each element, <code class="computeroutput"><span class="identifier">e2</span></code>, in
sequence <code class="computeroutput"><span class="identifier">b</span></code>, <code class="computeroutput"><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">b</span></code> is a valid expression returning a
type that is convertible to bool.
</p>
<p>
@ -92,23 +92,23 @@
compile time error.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns !(a &lt; b).
<span class="bold"><strong>Semantics</strong></span>: Returns !(a &lt; b).
</p>
<a name="fusion.sequences.operators.comparison.greater_than_equal.header"></a><h6>
<a name="id550454"></a>
<a name="id1079725"></a>
<a href="greater_than_equal.html#fusion.sequences.operators.comparison.greater_than_equal.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">sequence</span><span class="special">/</span><span class="identifier">comparison</span><span class="special">/</span><span class="identifier">greater_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.sequences.operators.comparison.greater_than_equal.example"></a><h6>
<a name="id550561"></a>
<a name="id1079820"></a>
<a href="greater_than_equal.html#fusion.sequences.operators.comparison.greater_than_equal.example">Example</a>
</h6>
<pre class="programlisting">
<a href="../../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">float</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">4</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">short</span><span class="special">,</span> <span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v3</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">4.4</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">4</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">short</span><span class="special">,</span> <span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v3</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">4.4</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v2</span> <span class="special">&gt;=</span> <span class="identifier">v1</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v3</span> <span class="special">&gt;=</span> <span class="identifier">v2</span><span class="special">);</span>
</pre>

View File

@ -4,7 +4,7 @@
<title>less
than</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="../comparison.html" title="Comparison">
<link rel="prev" href="not_equal.html" title="not
@ -34,7 +34,7 @@
Lexicographically compare two sequences.
</p>
<a name="fusion.sequences.operators.comparison.less_than.synopsis"></a><h6>
<a name="id547359"></a>
<a name="id1076987"></a>
<a href="less_than.html#fusion.sequences.operators.comparison.less_than.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -43,7 +43,7 @@
<span class="keyword">operator</span><span class="special">&lt;(</span><span class="identifier">Seq1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">Seq2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
</pre>
<a name="fusion.sequences.operators.comparison.less_than.parameters"></a><h6>
<a name="id547514"></a>
<a name="id1077123"></a>
<a href="less_than.html#fusion.sequences.operators.comparison.less_than.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
@ -58,8 +58,8 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">a</span><span class="special">,</span>
<span class="identifier">b</span></tt></td>
<td><code class="computeroutput"><span class="identifier">a</span><span class="special">,</span>
<span class="identifier">b</span></code></td>
<td>Instances
of <a href="../../../sequences.html" title="Sequences">Sequence</a>
</td>
@ -68,7 +68,7 @@
</tr></tbody>
</table></div>
<a name="fusion.sequences.operators.comparison.less_than.expression_semantics"></a><h6>
<a name="id547618"></a>
<a name="id1077215"></a>
<a href="less_than.html#fusion.sequences.operators.comparison.less_than.expression_semantics">Expression
Semantics</a>
</h6>
@ -76,16 +76,16 @@
<span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">b</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>Requirements</b></span>:
<span class="bold"><strong>Requirements</strong></span>:
</p>
<p>
For each element, <tt class="computeroutput"><span class="identifier">e1</span></tt>,
in sequence <tt class="computeroutput"><span class="identifier">a</span></tt>, and for
each element, <tt class="computeroutput"><span class="identifier">e2</span></tt>, in
sequence <tt class="computeroutput"><span class="identifier">b</span></tt>, <tt class="computeroutput"><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">b</span></tt> is a valid expression returning a
For each element, <code class="computeroutput"><span class="identifier">e1</span></code>,
in sequence <code class="computeroutput"><span class="identifier">a</span></code>, and for
each element, <code class="computeroutput"><span class="identifier">e2</span></code>, in
sequence <code class="computeroutput"><span class="identifier">b</span></code>, <code class="computeroutput"><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">b</span></code> is a valid expression returning a
type that is convertible to bool.
</p>
<p>
@ -93,25 +93,25 @@
compile time error.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the lexicographical
comparison of between <tt class="computeroutput"><span class="identifier">a</span></tt>
and <tt class="computeroutput"><span class="identifier">b</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: Returns the lexicographical
comparison of between <code class="computeroutput"><span class="identifier">a</span></code>
and <code class="computeroutput"><span class="identifier">b</span></code>.
</p>
<a name="fusion.sequences.operators.comparison.less_than.header"></a><h6>
<a name="id547805"></a>
<a name="id1077382"></a>
<a href="less_than.html#fusion.sequences.operators.comparison.less_than.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">sequence</span><span class="special">/</span><span class="identifier">comparison</span><span class="special">/</span><span class="identifier">less</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.sequences.operators.comparison.less_than.example"></a><h6>
<a name="id547911"></a>
<a name="id1077475"></a>
<a href="less_than.html#fusion.sequences.operators.comparison.less_than.example">Example</a>
</h6>
<pre class="programlisting">
<a href="../../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">float</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">4</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">short</span><span class="special">,</span> <span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v3</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">4.4</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">4</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">short</span><span class="special">,</span> <span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v3</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">4.4</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v1</span> <span class="special">&lt;</span> <span class="identifier">v2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v2</span> <span class="special">&lt;</span> <span class="identifier">v3</span><span class="special">);</span>
</pre>

View File

@ -4,7 +4,7 @@
<title>less
than equal</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="../comparison.html" title="Comparison">
<link rel="prev" href="less_than.html" title="less
@ -34,7 +34,7 @@
Lexicographically compare two sequences.
</p>
<a name="fusion.sequences.operators.comparison.less_than_equal.synopsis"></a><h6>
<a name="id548260"></a>
<a name="id1077785"></a>
<a href="less_than_equal.html#fusion.sequences.operators.comparison.less_than_equal.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -43,7 +43,7 @@
<span class="keyword">operator</span><span class="special">&lt;=(</span><span class="identifier">Seq1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">Seq2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
</pre>
<a name="fusion.sequences.operators.comparison.less_than_equal.parameters"></a><h6>
<a name="id548416"></a>
<a name="id1077923"></a>
<a href="less_than_equal.html#fusion.sequences.operators.comparison.less_than_equal.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
@ -58,8 +58,8 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">a</span><span class="special">,</span>
<span class="identifier">b</span></tt></td>
<td><code class="computeroutput"><span class="identifier">a</span><span class="special">,</span>
<span class="identifier">b</span></code></td>
<td>Instances
of <a href="../../../sequences.html" title="Sequences">Sequence</a>
</td>
@ -68,7 +68,7 @@
</tr></tbody>
</table></div>
<a name="fusion.sequences.operators.comparison.less_than_equal.expression_semantics"></a><h6>
<a name="id548521"></a>
<a name="id1078015"></a>
<a href="less_than_equal.html#fusion.sequences.operators.comparison.less_than_equal.expression_semantics">Expression
Semantics</a>
</h6>
@ -76,16 +76,16 @@
<span class="identifier">a</span> <span class="special">&lt;=</span> <span class="identifier">b</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>Requirements</b></span>:
<span class="bold"><strong>Requirements</strong></span>:
</p>
<p>
For each element, <tt class="computeroutput"><span class="identifier">e1</span></tt>,
in sequence <tt class="computeroutput"><span class="identifier">a</span></tt>, and for
each element, <tt class="computeroutput"><span class="identifier">e2</span></tt>, in
sequence <tt class="computeroutput"><span class="identifier">b</span></tt>, <tt class="computeroutput"><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">b</span></tt> is a valid expression returning a
For each element, <code class="computeroutput"><span class="identifier">e1</span></code>,
in sequence <code class="computeroutput"><span class="identifier">a</span></code>, and for
each element, <code class="computeroutput"><span class="identifier">e2</span></code>, in
sequence <code class="computeroutput"><span class="identifier">b</span></code>, <code class="computeroutput"><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">b</span></code> is a valid expression returning a
type that is convertible to bool.
</p>
<p>
@ -93,23 +93,23 @@
compile time error.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns !(b &lt; a).
<span class="bold"><strong>Semantics</strong></span>: Returns !(b &lt; a).
</p>
<a name="fusion.sequences.operators.comparison.less_than_equal.header"></a><h6>
<a name="id548689"></a>
<a name="id1078163"></a>
<a href="less_than_equal.html#fusion.sequences.operators.comparison.less_than_equal.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">sequence</span><span class="special">/</span><span class="identifier">comparison</span><span class="special">/</span><span class="identifier">less_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.sequences.operators.comparison.less_than_equal.example"></a><h6>
<a name="id548796"></a>
<a name="id1078256"></a>
<a href="less_than_equal.html#fusion.sequences.operators.comparison.less_than_equal.example">Example</a>
</h6>
<pre class="programlisting">
<a href="../../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">float</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">4</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">short</span><span class="special">,</span> <span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v3</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">4.4</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">4</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">short</span><span class="special">,</span> <span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span>
<a href="../../containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v3</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">4.4</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v1</span> <span class="special">&lt;=</span> <span class="identifier">v2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v2</span> <span class="special">&lt;=</span> <span class="identifier">v3</span><span class="special">);</span>
</pre>

View File

@ -4,7 +4,7 @@
<title>not
equal</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="../comparison.html" title="Comparison">
<link rel="prev" href="equal.html" title="equal">
@ -33,7 +33,7 @@
Compare two sequences for inequality.
</p>
<a name="fusion.sequences.operators.comparison.not_equal.synopsis"></a><h6>
<a name="id546520"></a>
<a name="id1076244"></a>
<a href="not_equal.html#fusion.sequences.operators.comparison.not_equal.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -42,7 +42,7 @@
<span class="keyword">operator</span><span class="special">!=(</span><span class="identifier">Seq1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">Seq2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
</pre>
<a name="fusion.sequences.operators.comparison.not_equal.parameters"></a><h6>
<a name="id546674"></a>
<a name="id1076380"></a>
<a href="not_equal.html#fusion.sequences.operators.comparison.not_equal.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
@ -57,8 +57,8 @@
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">a</span><span class="special">,</span>
<span class="identifier">b</span></tt></td>
<td><code class="computeroutput"><span class="identifier">a</span><span class="special">,</span>
<span class="identifier">b</span></code></td>
<td>Instances
of <a href="../../../sequences.html" title="Sequences">Sequence</a>
</td>
@ -67,7 +67,7 @@
</tr></tbody>
</table></div>
<a name="fusion.sequences.operators.comparison.not_equal.expression_semantics"></a><h6>
<a name="id546777"></a>
<a name="id1076472"></a>
<a href="not_equal.html#fusion.sequences.operators.comparison.not_equal.expression_semantics">Expression
Semantics</a>
</h6>
@ -75,16 +75,16 @@
<span class="identifier">a</span> <span class="special">!=</span> <span class="identifier">b</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>Requirements</b></span>:
<span class="bold"><strong>Requirements</strong></span>:
</p>
<p>
For each element, <tt class="computeroutput"><span class="identifier">e1</span></tt>,
in sequence <tt class="computeroutput"><span class="identifier">a</span></tt>, and for
each element, <tt class="computeroutput"><span class="identifier">e2</span></tt>, in
sequence <tt class="computeroutput"><span class="identifier">b</span></tt>, <tt class="computeroutput"><span class="identifier">a</span> <span class="special">==</span> <span class="identifier">b</span></tt> is a valid expression returning a
For each element, <code class="computeroutput"><span class="identifier">e1</span></code>,
in sequence <code class="computeroutput"><span class="identifier">a</span></code>, and for
each element, <code class="computeroutput"><span class="identifier">e2</span></code>, in
sequence <code class="computeroutput"><span class="identifier">b</span></code>, <code class="computeroutput"><span class="identifier">a</span> <span class="special">==</span> <span class="identifier">b</span></code> is a valid expression returning a
type that is convertible to bool.
</p>
<p>
@ -92,25 +92,25 @@
compile time error.
</p>
<p>
<span class="bold"><b>Semantics</b></span>:
<span class="bold"><strong>Semantics</strong></span>:
</p>
<p>
Returns !(a == b).
</p>
<a name="fusion.sequences.operators.comparison.not_equal.header"></a><h6>
<a name="id546948"></a>
<a name="id1076480"></a>
<a href="not_equal.html#fusion.sequences.operators.comparison.not_equal.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">sequence</span><span class="special">/</span><span class="identifier">comparison</span><span class="special">/</span><span class="identifier">not_equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.sequences.operators.comparison.not_equal.example"></a><h6>
<a name="id547053"></a>
<a name="id1076716"></a>
<a href="not_equal.html#fusion.sequences.operators.comparison.not_equal.example">Example</a>
</h6>
<pre class="programlisting">
<a href="../../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">v3</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="char">'b'</span><span class="special">);</span>
<a href="../../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">t4</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
<a href="../../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">v3</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="char">'b'</span><span class="special">);</span>
<a href="../../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">t4</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v1</span> <span class="special">!=</span> <span class="identifier">v3</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v1</span> <span class="special">!=</span> <span class="identifier">t4</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(!(</span><span class="identifier">v1</span> <span class="special">!=</span> <span class="identifier">v2</span><span class="special">));</span>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>I/O</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">
@ -26,25 +26,25 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.sequences.operators.i_o"></a><a href="i_o.html" title="I/O">I/O</a></h4></div></div></div>
<p>
The I/O operators: <tt class="computeroutput"><span class="special">&lt;&lt;</span></tt>
and <tt class="computeroutput"><span class="special">&gt;&gt;</span></tt> work generically
on all Fusion sequences. The global <tt class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;&lt;</span></tt> has been overloaded for generic
The I/O operators: <code class="computeroutput"><span class="special">&lt;&lt;</span></code>
and <code class="computeroutput"><span class="special">&gt;&gt;</span></code> work generically
on all Fusion sequences. The global <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;&lt;</span></code> has been overloaded for generic
output streams such that <span class="underline">_sequence</span>_s
are output by recursively calling <tt class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;&lt;</span></tt> for each element. Analogously,
the global <tt class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;&gt;</span></tt>
are output by recursively calling <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;&lt;</span></code> for each element. Analogously,
the global <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;&gt;</span></code>
has been overloaded to extract <span class="underline">_sequence</span>_s
from generic input streams by recursively calling <tt class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;&gt;</span></tt> for each element.
from generic input streams by recursively calling <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;&gt;</span></code> for each element.
</p>
<p>
The default delimiter between the elements is space, and the <a href="../../sequences.html" title="Sequences">Sequence</a>
is enclosed in parenthesis. For Example:
</p>
<pre class="programlisting">
<a href="../containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">float</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">a</span><span class="special">(</span><span class="number">1.0f</span><span class="special">,</span> <span class="number">2</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">"Howdy folks!"</span><span class="special">);</span>
<a href="../containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">float</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">a</span><span class="special">(</span><span class="number">1.0f</span><span class="special">,</span> <span class="number">2</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">"Howdy folks!"</span><span class="special">);</span>
<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">a</span><span class="special">;</span>
</pre>
<p>
outputs the <a href="../containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a> as: (1.0 2 Howdy folks!)
outputs the <a href="../containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> as: (1.0 2 Howdy folks!)
</p>
<p>
The library defines three manipulators for changing the default behavior:
@ -52,23 +52,23 @@
<div class="variablelist">
<p class="title"><b>Manipulators</b></p>
<dl>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">tuple_open</span><span class="special">(</span><span class="identifier">arg</span><span class="special">)</span></tt></span></dt>
<dt><span class="term"><code class="computeroutput"><span class="identifier">tuple_open</span><span class="special">(</span><span class="identifier">arg</span><span class="special">)</span></code></span></dt>
<dd>
Defines the character that is output before the first element.
</dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">tuple_close</span><span class="special">(</span><span class="identifier">arg</span><span class="special">)</span></tt></span></dt>
<dt><span class="term"><code class="computeroutput"><span class="identifier">tuple_close</span><span class="special">(</span><span class="identifier">arg</span><span class="special">)</span></code></span></dt>
<dd>
Defines the character that is output after the last element.
</dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">tuple_delimiter</span><span class="special">(</span><span class="identifier">arg</span><span class="special">)</span></tt></span></dt>
<dt><span class="term"><code class="computeroutput"><span class="identifier">tuple_delimiter</span><span class="special">(</span><span class="identifier">arg</span><span class="special">)</span></code></span></dt>
<dd>
Defines the delimiter character between elements.
</dd>
</dl>
</div>
<p>
The argument to <tt class="computeroutput"><span class="identifier">tuple_open</span></tt>,
<tt class="computeroutput"><span class="identifier">tuple_close</span></tt> and <tt class="computeroutput"><span class="identifier">tuple_delimiter</span></tt> may be a <tt class="computeroutput"><span class="keyword">char</span></tt>, <tt class="computeroutput"><span class="keyword">wchar_t</span></tt>,
The argument to <code class="computeroutput"><span class="identifier">tuple_open</span></code>,
<code class="computeroutput"><span class="identifier">tuple_close</span></code> and <code class="computeroutput"><span class="identifier">tuple_delimiter</span></code> may be a <code class="computeroutput"><span class="keyword">char</span></code>, <code class="computeroutput"><span class="keyword">wchar_t</span></code>,
a C-string, or a wide C-string.
</p>
<p>
@ -78,12 +78,12 @@
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">tuple_open</span><span class="special">(</span><span class="char">'['</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">tuple_close</span><span class="special">(</span><span class="char">']'</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">tuple_delimiter</span><span class="special">(</span><span class="string">", "</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">a</span><span class="special">;</span>
</pre>
<p>
outputs the same <a href="../containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a>, <tt class="computeroutput"><span class="identifier">a</span></tt>
outputs the same <a href="../containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a>, <code class="computeroutput"><span class="identifier">a</span></code>
as: [1.0, 2, Howdy folks!]
</p>
<p>
The same manipulators work with <tt class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;&gt;</span></tt> and <tt class="computeroutput"><span class="identifier">istream</span></tt>
as well. Suppose the <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cin</span></tt>
The same manipulators work with <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;&gt;</span></code> and <code class="computeroutput"><span class="identifier">istream</span></code>
as well. Suppose the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cin</span></code>
stream contains the following data:
</p>
<pre class="programlisting">
@ -93,8 +93,8 @@
The code:
</p>
<pre class="programlisting">
<a href="../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">i</span><span class="special">;</span>
<a href="../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">j</span><span class="special">;</span>
<a href="../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">i</span><span class="special">;</span>
<a href="../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">j</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cin</span> <span class="special">&gt;&gt;</span> <span class="identifier">i</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cin</span> <span class="special">&gt;&gt;</span> <span class="identifier">set_open</span><span class="special">(</span><span class="char">'['</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="identifier">set_close</span><span class="special">(</span><span class="char">']'</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="identifier">set_delimiter</span><span class="special">(</span><span class="char">':'</span><span class="special">);</span>
@ -102,16 +102,16 @@
</pre>
<p>
reads the data into the <span class="underline">_vector</span>_s
<tt class="computeroutput"><span class="identifier">i</span></tt> and <tt class="computeroutput"><span class="identifier">j</span></tt>.
<code class="computeroutput"><span class="identifier">i</span></code> and <code class="computeroutput"><span class="identifier">j</span></code>.
</p>
<p>
Note that extracting <span class="underline">_sequence</span>_s
with <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></tt> or C-style string elements does
with <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code> or C-style string elements does
not generally work, since the streamed <a href="../../sequences.html" title="Sequences">Sequence</a>
representation may not be unambiguously parseable.
</p>
<a name="fusion.sequences.operators.i_o.header"></a><h5>
<a name="id544040"></a>
<a name="id1074056"></a>
<a href="i_o.html#fusion.sequences.operators.i_o.header">Header</a>
</h5>
<pre class="programlisting">

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>in</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="../i_o.html" title="I/O">
<link rel="prev" href="../i_o.html" title="I/O">
@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.sequences.operators.i_o.in"></a><a href="in.html" title="in">in</a></h5></div></div></div>
<a name="fusion.sequences.operators.i_o.in.description"></a><h6>
<a name="id544155"></a>
<a name="id1074157"></a>
<a href="in.html#fusion.sequences.operators.i_o.in.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
stream.
</p>
<a name="fusion.sequences.operators.i_o.in.synopsis"></a><h6>
<a name="id544194"></a>
<a name="id1074191"></a>
<a href="in.html#fusion.sequences.operators.i_o.in.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -43,7 +43,7 @@
<span class="keyword">operator</span><span class="special">&gt;&gt;(</span><span class="identifier">IStream</span><span class="special">&amp;</span> <span class="identifier">is</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>
<a name="fusion.sequences.operators.i_o.in.parameters"></a><h6>
<a name="id544340"></a>
<a name="id1074319"></a>
<a href="in.html#fusion.sequences.operators.i_o.in.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
@ -73,7 +73,7 @@
</tbody>
</table></div>
<a name="fusion.sequences.operators.i_o.in.expression_semantics"></a><h6>
<a name="id544432"></a>
<a name="id1074401"></a>
<a href="in.html#fusion.sequences.operators.i_o.in.expression_semantics">Expression
Semantics</a>
</h6>
@ -81,26 +81,26 @@
<span class="identifier">is</span> <span class="special">&gt;&gt;</span> <span class="identifier">seq</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: IStream&amp;
<span class="bold"><strong>Return type</strong></span>: IStream&amp;
</p>
<p>
<span class="bold"><b>Semantics</b></span>: For each element, <tt class="computeroutput"><span class="identifier">e</span></tt>, in sequence, <tt class="computeroutput"><span class="identifier">seq</span></tt>,
call <tt class="computeroutput"><span class="identifier">is</span> <span class="special">&gt;&gt;</span>
<span class="identifier">e</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: For each element, <code class="computeroutput"><span class="identifier">e</span></code>, in sequence, <code class="computeroutput"><span class="identifier">seq</span></code>,
call <code class="computeroutput"><span class="identifier">is</span> <span class="special">&gt;&gt;</span>
<span class="identifier">e</span></code>.
</p>
<a name="fusion.sequences.operators.i_o.in.header"></a><h6>
<a name="id544548"></a>
<a name="id1074503"></a>
<a href="in.html#fusion.sequences.operators.i_o.in.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">sequence</span><span class="special">/</span><span class="identifier">io</span><span class="special">/</span><span class="identifier">in</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.sequences.operators.i_o.in.example"></a><h6>
<a name="id544651"></a>
<a name="id1074594"></a>
<a href="in.html#fusion.sequences.operators.i_o.in.example">Example</a>
</h6>
<pre class="programlisting">
<a href="../../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="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">;</span>
<a href="../../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="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cin</span> <span class="special">&gt;&gt;</span> <span class="identifier">v</span><span class="special">;</span>
</pre>
</div>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>out</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="../i_o.html" title="I/O">
<link rel="prev" href="in.html" title="in">
@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.sequences.operators.i_o.out"></a><a href="out.html" title="out">out</a></h5></div></div></div>
<a name="fusion.sequences.operators.i_o.out.description"></a><h6>
<a name="id544811"></a>
<a name="id1074734"></a>
<a href="out.html#fusion.sequences.operators.i_o.out.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
stream.
</p>
<a name="fusion.sequences.operators.i_o.out.synopsis"></a><h6>
<a name="id544849"></a>
<a name="id1074768"></a>
<a href="out.html#fusion.sequences.operators.i_o.out.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -43,7 +43,7 @@
<span class="keyword">operator</span><span class="special">&lt;&lt;(</span><span class="identifier">OStream</span><span class="special">&amp;</span> <span class="identifier">os</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>
<a name="fusion.sequences.operators.i_o.out.parameters"></a><h6>
<a name="id544995"></a>
<a name="id1074895"></a>
<a href="out.html#fusion.sequences.operators.i_o.out.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
@ -73,7 +73,7 @@
</tbody>
</table></div>
<a name="fusion.sequences.operators.i_o.out.expression_semantics"></a><h6>
<a name="id545086"></a>
<a name="id1074976"></a>
<a href="out.html#fusion.sequences.operators.i_o.out.expression_semantics">Expression
Semantics</a>
</h6>
@ -81,26 +81,26 @@
<span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="identifier">seq</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: OStream&amp;
<span class="bold"><strong>Return type</strong></span>: OStream&amp;
</p>
<p>
<span class="bold"><b>Semantics</b></span>: For each element, <tt class="computeroutput"><span class="identifier">e</span></tt>, in sequence, <tt class="computeroutput"><span class="identifier">seq</span></tt>,
call <tt class="computeroutput"><span class="identifier">os</span> <span class="special">&lt;&lt;</span>
<span class="identifier">e</span></tt>.
<span class="bold"><strong>Semantics</strong></span>: For each element, <code class="computeroutput"><span class="identifier">e</span></code>, in sequence, <code class="computeroutput"><span class="identifier">seq</span></code>,
call <code class="computeroutput"><span class="identifier">os</span> <span class="special">&lt;&lt;</span>
<span class="identifier">e</span></code>.
</p>
<a name="fusion.sequences.operators.i_o.out.header"></a><h6>
<a name="id545200"></a>
<a name="id1075078"></a>
<a href="out.html#fusion.sequences.operators.i_o.out.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">sequence</span><span class="special">/</span><span class="identifier">io</span><span class="special">/</span><span class="identifier">out</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.sequences.operators.i_o.out.example"></a><h6>
<a name="id545304"></a>
<a name="id1075169"></a>
<a href="out.html#fusion.sequences.operators.i_o.out.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../../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">123</span><span class="special">,</span> <span class="string">"Hello"</span><span class="special">,</span> <span class="char">'x'</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../../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">123</span><span class="special">,</span> <span class="string">"Hello"</span><span class="special">,</span> <span class="char">'x'</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>