adding fusion docs and tests

[SVN r34920]
This commit is contained in:
Joel de Guzman
2006-08-22 15:57:13 +00:00
parent 75b9d13a88
commit c31253d8c1
351 changed files with 42280 additions and 0 deletions

View File

@ -0,0 +1,129 @@
<html>
<head>
<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">
<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">
<link rel="next" href="advance_c.html" title="advance_c">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="distance.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="advance_c.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.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="id460056"></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="id460086"></a>
<a href="advance.html#fusion.iterators.functions.advance.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">,</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>
</pre>
<div class="informaltable">
<h4>
<a name="id460262"></a>
<span class="table-title">Parameters</span>
</h4>
<table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">i</span></tt></td>
<td>Model
of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</td>
<td>Iterator to move relative to</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">N</span></tt></td>
<td>An
MPL Integral Constant</td>
<td>Number of positions to move</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.iterators.functions.advance.expression_semantics"></a><h5>
<a name="id460359"></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>
</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>.
</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>
is a <a href="../concepts/bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a> then <tt class="computeroutput"><span class="identifier">M</span></tt>
may be negative.
</p>
<a name="fusion.iterators.functions.advance.header"></a><h5>
<a name="id460516"></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="id460611"></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="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>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="distance.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="advance_c.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,129 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>advance_c</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.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">
<link rel="next" href="../operators.html" title="Operators">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="advance.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../operators.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.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="id460907"></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="id460939"></a>
<a href="advance_c.html#fusion.iterators.functions.advance_c.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">,</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>
</pre>
<div class="informaltable">
<h4>
<a name="id461115"></a>
<span class="table-title">Parameters</span>
</h4>
<table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">i</span></tt></td>
<td>Model
of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</td>
<td>Iterator to move relative to</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">N</span></tt></td>
<td>Integer
constant</td>
<td>Number of positions to move</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.iterators.functions.advance_c.expression_semantics"></a><h5>
<a name="id461213"></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>
</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>.
</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>
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.
</p>
<a name="fusion.iterators.functions.advance_c.header"></a><h5>
<a name="id461370"></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="id461464"></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="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>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="advance.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../operators.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,117 @@
<html>
<head>
<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">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="../functions.html" title="Functions">
<link rel="next" href="next.html" title="next">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../functions.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="next.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.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="id456561"></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="id456590"></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>
</pre>
<div class="informaltable">
<h4>
<a name="id456739"></a>
<span class="table-title">Parameters</span>
</h4>
<table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">i</span></tt></td>
<td>Model
of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</td>
<td>Operation's argument</td>
</tr></tbody>
</table>
</div>
<a name="fusion.iterators.functions.deref.expression_semantics"></a><h5>
<a name="id456815"></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>
</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>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Dereferences the iterator
<tt class="computeroutput"><span class="identifier">i</span></tt>.
</p>
<a name="fusion.iterators.functions.deref.header"></a><h5>
<a name="id456959"></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="id457053"></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">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>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../functions.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="next.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,116 @@
<html>
<head>
<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">
<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">
<link rel="next" href="advance.html" title="advance">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="prior.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="advance.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.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="id459205"></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="id459235"></a>
<a href="distance.html#fusion.iterators.functions.distance.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">,</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>
</pre>
<div class="informaltable">
<h4>
<a name="id459439"></a>
<span class="table-title">Parameters</span>
</h4>
<table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>
<tt class="computeroutput"><span class="identifier">i</span></tt>, <tt class="computeroutput"><span class="identifier">j</span></tt>
</td>
<td>Models of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward Iterator</a>
into the same sequence</td>
<td>The start and end points of
the distance to be measured</td>
</tr></tbody>
</table>
</div>
<a name="fusion.iterators.functions.distance.expression_semantics"></a><h5>
<a name="id459527"></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>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">int</span></tt>
</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>.
</p>
<a name="fusion.iterators.functions.distance.header"></a><h5>
<a name="id459652"></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="id459747"></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="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>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="prior.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="advance.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,117 @@
<html>
<head>
<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">
<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">
<link rel="next" href="prior.html" title="prior">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="deref.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="prior.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.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="id457500"></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="id457530"></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>
</pre>
<div class="informaltable">
<h4>
<a name="id457678"></a>
<span class="table-title">Parameters</span>
</h4>
<table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">i</span></tt></td>
<td>Model
of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</td>
<td>Operation's argument</td>
</tr></tbody>
</table>
</div>
<a name="fusion.iterators.functions.next.expression_semantics"></a><h5>
<a name="id457753"></a>
<a href="next.html#fusion.iterators.functions.next.expression_semantics">Expression
Semantics</a>
</h5>
<pre class="programlisting">
<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>.
</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>.
</p>
<a name="fusion.iterators.functions.next.header"></a><h5>
<a name="id457848"></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="id457942"></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="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>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="deref.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="prior.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,116 @@
<html>
<head>
<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">
<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">
<link rel="next" href="distance.html" title="distance">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="next.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="distance.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.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="id458395"></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="id458425"></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>
</pre>
<div class="informaltable">
<h4>
<a name="id458573"></a>
<span class="table-title">Parameters</span>
</h4>
<table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">i</span></tt></td>
<td>Model
of <a href="../concepts/bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a>
</td>
<td>Operation's argument</td>
</tr></tbody>
</table>
</div>
<a name="fusion.iterators.functions.prior.expression_semantics"></a><h5>
<a name="id458650"></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>
</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>.
</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>.
</p>
<a name="fusion.iterators.functions.prior.header"></a><h5>
<a name="id458755"></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="id458849"></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="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>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="next.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="distance.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>