<!-- Copyright 2008 Lubomir Bourdev and Hailin Jin

     Distributed under the Boost Software License, Version 1.0.
     (See accompanying file LICENSE_1_0.txt or copy at
     http://www.boost.org/LICENSE_1_0.txt)
  -->

<!--
    Copyright 2005-2007 Adobe Systems Incorporated
    Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
    or a copy at http://stlab.adobe.com/licenses.html)

    Some files are held under additional license.
    Please see "http://stlab.adobe.com/licenses.html" for more information.
-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

<head>
    <TITLE>Generic Image Library: step_iterator_adaptor Class Template Reference</TITLE>
    <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
    <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
<div class="qindex"><a class="qindex" href="index.html">Modules</a> 
                  | <a class="qindex" href="classes.html">Alphabetical List</a> 
                  | <a class="qindex" href="annotated.html">Class List</a> 
                  | <a class="qindex" href="dirs.html">Directories</a> 
                  | <a class="qindex" href="files.html">File List</a> 
                  | <a class="qindex" href="../index.html">GIL Home Page</a> 
</div>
<!-- End Header -->
<!-- Generated by Doxygen 1.5.6 -->
  <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<b>gil</b>::<b>detail</b>::<a class="el" href="g_i_l_0036.html">step_iterator_adaptor</a>
  </div>
<div class="contents">
<h1>step_iterator_adaptor Class Template Reference<br>
<small>
[<a class="el" href="g_i_l_0199.html">step iterators</a>]</small>
</h1><!-- doxytag: class="boost::gil::detail::step_iterator_adaptor" --><!-- doxytag: inherits="iterator_adaptor" --><code>#include &lt;<a class="el" href="g_i_l_0259.html">step_iterator.hpp</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for step_iterator_adaptor:</div>
<div class="dynsection">

<p><center><img src="g_i_l_0005.png" usemap="#step_iterator_adaptor_map" border="0" alt=""></center>
<map name="step_iterator_adaptor_map">
<area href="g_i_l_0046.html" alt="memory_based_step_iterator" shape="rect" coords="0,56,174,80">
</map>
</div>

<p>
<a href="g_i_l_0035.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;typename Derived, typename Iterator, typename SFn&gt;<br>
 class boost::gil::detail::step_iterator_adaptor&lt; Derived, Iterator, SFn &gt;</h3>

An adaptor over an existing iterator that changes the step unit. 
<p>
(i.e. distance(it,it+1)) by a given predicate. Instead of calling base's operators ++, --, +=, -=, etc. the adaptor is using the passed policy object SFn for advancing and for computing the distance between iterators. <table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3a1b6e89f2ea9e66e64e9a5da22eff92"></a><!-- doxytag: member="boost::gil::detail::step_iterator_adaptor::parent_t" ref="3a1b6e89f2ea9e66e64e9a5da22eff92" args="" -->
typedef iterator_adaptor<br>
&lt; Derived, Iterator, <br>
use_default, use_default, <br>
use_default, typename <br>
SFn::difference_type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>parent_t</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="38347e2b83516d4bf62701822467f4f4"></a><!-- doxytag: member="boost::gil::detail::step_iterator_adaptor::base_difference_type" ref="38347e2b83516d4bf62701822467f4f4" args="" -->
typedef std::iterator_traits<br>
&lt; Iterator &gt;::difference_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>base_difference_type</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8fec1ab787cf74a2f23fc3b701e4e88c"></a><!-- doxytag: member="boost::gil::detail::step_iterator_adaptor::difference_type" ref="8fec1ab787cf74a2f23fc3b701e4e88c" args="" -->
typedef SFn::difference_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="258697e71d2606a00621f14fd7f2c5d7"></a><!-- doxytag: member="boost::gil::detail::step_iterator_adaptor::reference" ref="258697e71d2606a00621f14fd7f2c5d7" args="" -->
typedef std::iterator_traits<br>
&lt; Iterator &gt;::reference&nbsp;</td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15fe6eaea1e52b8f3d3e18c8abf8ada9"></a><!-- doxytag: member="boost::gil::detail::step_iterator_adaptor::step_iterator_adaptor" ref="15fe6eaea1e52b8f3d3e18c8abf8ada9" args="(const Iterator &amp;it, SFn step_fn=SFn())" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>step_iterator_adaptor</b> (const Iterator &amp;it, SFn step_fn=SFn())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4d9de021528d2fae8de7b71dbc2e3909"></a><!-- doxytag: member="boost::gil::detail::step_iterator_adaptor::step" ref="4d9de021528d2fae8de7b71dbc2e3909" args="() const " -->
difference_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>step</b> () const </td></tr>

<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a6f3d4cf659c02cbee3b014d8d9dc90c"></a><!-- doxytag: member="boost::gil::detail::step_iterator_adaptor::_step_fn" ref="a6f3d4cf659c02cbee3b014d8d9dc90c" args="" -->
SFn&nbsp;</td><td class="memItemRight" valign="bottom"><b>_step_fn</b></td></tr>

<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c09f73e325921cc50ebcd96bed0f8096"></a><!-- doxytag: member="boost::gil::detail::step_iterator_adaptor::boost::iterator_core_access" ref="c09f73e325921cc50ebcd96bed0f8096" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::iterator_core_access</b></td></tr>

</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="g_i_l_0259.html">step_iterator.hpp</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 13:50:18 2009 for Generic Image Library by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>
