blob: 55de2da2c317e237e865bd6b7875437096316524 [file] [log] [blame]
<!-- 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.hpp File 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="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>
</div>
<div class="contents">
<h1>step_iterator.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
pixel step iterator
<p>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Lubomir Bourdev and Hailin Jin <br>
Adobe Systems Incorporated </dd></dl>
<dl class="date" compact><dt><b>Date:</b></dt><dd>2005-2007 <br>
Last updated on September 18, 2007 </dd></dl>
<p>
<code>#include &lt;cstddef&gt;</code><br>
<code>#include &lt;iterator&gt;</code><br>
<code>#include &lt;boost/iterator/iterator_facade.hpp&gt;</code><br>
<code>#include &quot;<a class="el" href="g_i_l_0093.html">gil_config.hpp</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="g_i_l_0642.html">utilities.hpp</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="g_i_l_0242.html">pixel_iterator.hpp</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="g_i_l_0244.html">pixel_iterator_adaptor.hpp</a>&quot;</code><br>
<p>
<a href="g_i_l_0259.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::detail</b></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0036.html">step_iterator_adaptor</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An adaptor over an existing iterator that changes the step unit. <a href="g_i_l_0036.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0576.html">memunit_step_fn</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">function object that returns the memory unit distance between two iterators and advances a given iterator a given number of mem units (bytes or bits) <a href="g_i_l_0576.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0046.html">memory_based_step_iterator</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterator with dynamically specified step in memory units (bytes or bits). Models <a class="el" href="g_i_l_0380.html" title="Step iterator concept.">StepIteratorConcept</a>, <a class="el" href="g_i_l_0310.html" title="Iterator adaptor is a forward iterator adapting another forward iterator.">IteratorAdaptorConcept</a>, <a class="el" href="g_i_l_0312.html" title="Concept of a random-access iterator that can be advanced in memory units (bytes or...">MemoryBasedIteratorConcept</a>, <a class="el" href="g_i_l_0352.html" title="An STL random access traversal iterator over a model of PixelConcept.">PixelIteratorConcept</a>, <a class="el" href="g_i_l_0290.html" title="Concept for iterators, locators and views that can define a type just like the given...">HasDynamicXStepTypeConcept</a>. <a href="g_i_l_0046.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="fe8dfcfc0a8b09614412f54c81d92885"></a><!-- doxytag: member="step_iterator.hpp::operator&gt;" ref="fe8dfcfc0a8b09614412f54c81d92885" args="(const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p1, const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p2)" -->
template&lt;typename D, typename Iterator, typename SFn&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator&gt;</b> (const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p1, const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p2)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="00658b8ce93f3985f899499e06508319"></a><!-- doxytag: member="step_iterator.hpp::operator&lt;" ref="00658b8ce93f3985f899499e06508319" args="(const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p1, const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p2)" -->
template&lt;typename D, typename Iterator, typename SFn&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator&lt;</b> (const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p1, const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p2)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="7d48f298f80dc716d51beb1ce596171f"></a><!-- doxytag: member="step_iterator.hpp::operator&gt;=" ref="7d48f298f80dc716d51beb1ce596171f" args="(const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p1, const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p2)" -->
template&lt;typename D, typename Iterator, typename SFn&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator&gt;=</b> (const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p1, const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p2)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="3954497f69affbb6290afb47ed3bf79c"></a><!-- doxytag: member="step_iterator.hpp::operator&lt;=" ref="3954497f69affbb6290afb47ed3bf79c" args="(const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p1, const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p2)" -->
template&lt;typename D, typename Iterator, typename SFn&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator&lt;=</b> (const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p1, const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p2)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="41d98754f2cccd79ba75fe10bf920015"></a><!-- doxytag: member="step_iterator.hpp::operator==" ref="41d98754f2cccd79ba75fe10bf920015" args="(const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p1, const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p2)" -->
template&lt;typename D, typename Iterator, typename SFn&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p1, const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p2)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="14a9b6f269671870b0ab73b381889b86"></a><!-- doxytag: member="step_iterator.hpp::operator!=" ref="14a9b6f269671870b0ab73b381889b86" args="(const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p1, const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p2)" -->
template&lt;typename D, typename Iterator, typename SFn&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p1, const step_iterator_adaptor&lt; D, Iterator, SFn &gt; &amp;p2)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="17dc6620ccf65a454005e17a33b217a7"></a><!-- doxytag: member="step_iterator.hpp::memunit_step" ref="17dc6620ccf65a454005e17a33b217a7" args="(const memory_based_step_iterator&lt; Iterator &gt; &amp;p)" -->
template&lt;typename Iterator&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::ptrdiff_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>memunit_step</b> (const memory_based_step_iterator&lt; Iterator &gt; &amp;p)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="f53db1403c8f0ccdc38352624264f785"></a><!-- doxytag: member="step_iterator.hpp::memunit_distance" ref="f53db1403c8f0ccdc38352624264f785" args="(const memory_based_step_iterator&lt; Iterator &gt; &amp;p1, const memory_based_step_iterator&lt; Iterator &gt; &amp;p2)" -->
template&lt;typename Iterator&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::ptrdiff_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>memunit_distance</b> (const memory_based_step_iterator&lt; Iterator &gt; &amp;p1, const memory_based_step_iterator&lt; Iterator &gt; &amp;p2)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="e1fd564116e47a4626d383bf078e5b36"></a><!-- doxytag: member="step_iterator.hpp::memunit_advance" ref="e1fd564116e47a4626d383bf078e5b36" args="(memory_based_step_iterator&lt; Iterator &gt; &amp;p, std::ptrdiff_t diff)" -->
template&lt;typename Iterator&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>memunit_advance</b> (memory_based_step_iterator&lt; Iterator &gt; &amp;p, std::ptrdiff_t diff)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="0925acaa01258fddd7b08884d8d107b0"></a><!-- doxytag: member="step_iterator.hpp::memunit_advanced" ref="0925acaa01258fddd7b08884d8d107b0" args="(const memory_based_step_iterator&lt; Iterator &gt; &amp;p, std::ptrdiff_t diff)" -->
template&lt;typename Iterator&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">memory_based_step_iterator<br>
&lt; Iterator &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>memunit_advanced</b> (const memory_based_step_iterator&lt; Iterator &gt; &amp;p, std::ptrdiff_t diff)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="5d98d34106c1b047c1a550c19bc49f3c"></a><!-- doxytag: member="step_iterator.hpp::memunit_advanced_ref" ref="5d98d34106c1b047c1a550c19bc49f3c" args="(const memory_based_step_iterator&lt; Iterator &gt; &amp;p, std::ptrdiff_t diff)" -->
template&lt;typename Iterator&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::iterator_traits&lt; Iterator &gt;<br>
::reference&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>memunit_advanced_ref</b> (const memory_based_step_iterator&lt; Iterator &gt; &amp;p, std::ptrdiff_t diff)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename I&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">dynamic_x_step_type&lt; I &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil.html#2f223e990e6e6a6f03601f28e4429b0a">make_step_iterator</a> (const I &amp;it, std::ptrdiff_t step)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs a step iterator from a base iterator and a step. <a href="#2f223e990e6e6a6f03601f28e4429b0a"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="07f2a0a318b3880cdc0b48cf9e72ef1c"></a><!-- doxytag: member="step_iterator.hpp::make_step_iterator_impl" ref="07f2a0a318b3880cdc0b48cf9e72ef1c" args="(const I &amp;it, std::ptrdiff_t step, mpl::false_)" -->
template&lt;typename I&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">dynamic_x_step_type&lt; I &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>make_step_iterator_impl</b> (const I &amp;it, std::ptrdiff_t step, mpl::false_)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="25bedb29a36f0bf8b9584d09a3b0ec2f"></a><!-- doxytag: member="step_iterator.hpp::make_step_iterator_impl" ref="25bedb29a36f0bf8b9584d09a3b0ec2f" args="(const I &amp;it, std::ptrdiff_t step, mpl::true_)" -->
template&lt;typename I&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">dynamic_x_step_type&lt; I &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>make_step_iterator_impl</b> (const I &amp;it, std::ptrdiff_t step, mpl::true_)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="60a99f68a4305a2d63ef10ac2650c4e6"></a><!-- doxytag: member="step_iterator.hpp::make_step_iterator_impl" ref="60a99f68a4305a2d63ef10ac2650c4e6" args="(const memory_based_step_iterator&lt; BaseIt &gt; &amp;it, std::ptrdiff_t step, mpl::true_)" -->
template&lt;typename BaseIt&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">memory_based_step_iterator<br>
&lt; BaseIt &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>make_step_iterator_impl</b> (const memory_based_step_iterator&lt; BaseIt &gt; &amp;it, std::ptrdiff_t step, mpl::true_)</td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 13:50:16 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>