Files
boost_fusion/doc/html/fusion/iterators/functions/advance.html
Tobias Schwinger 9df373af5f revises function object concepts and functional module documenation to reflect
boost::result_of-based result computation


[SVN r38209]
2007-07-13 19:25:34 +00:00

162 lines
9.0 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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.68.1">
<link rel="start" href="../../../index.html" title="Chapter 1. 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="id941870"></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="id941896"></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"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">M</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">advance</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id942048"></a><p class="title"><b>Table 1.6. Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">i</span></code>
</p>
</td>
<td>
<p>
Model of <a href="../concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</p>
</td>
<td>
<p>
Iterator to move relative to
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">N</span></code>
</p>
</td>
<td>
<p>
An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL
Integral Constant</a>
</p>
</td>
<td>
<p>
Number of positions to move
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.iterators.functions.advance.expression_semantics"></a><h5>
<a name="id942177"></a>
<a href="advance.html#fusion.iterators.functions.advance.expression_semantics">Expression
Semantics</a>
</h5>
<pre class="programlisting">
<a href="advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special">&lt;</span><span class="identifier">M</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
concept as <code class="computeroutput"><span class="identifier">i</span></code>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
element <code class="computeroutput"><span class="identifier">M</span></code> positions from
<code class="computeroutput"><span class="identifier">i</span></code>. If <code class="computeroutput"><span class="identifier">i</span></code>
is a <a href="../concepts/bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a> then <code class="computeroutput"><span class="identifier">M</span></code>
may be negative.
</p>
<a name="fusion.iterators.functions.advance.header"></a><h5>
<a name="id942324"></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="id942408"></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"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">;</span>
<span class="identifier">vec</span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a href="advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;</span> <span class="special">&gt;(</span><a href="../../sequences/intrinsics/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">)))</span> <span class="special">==</span> <span class="number">3</span><span class="special">);</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger</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>