blob: 297df5d1070a59ddeb0bfe10ad450ae2993ce680 [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: position_iterator Struct 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>::<a class="el" href="g_i_l_0617.html">position_iterator</a>
</div>
<div class="contents">
<h1>position_iterator Struct Template Reference<br>
<small>
[<a class="el" href="g_i_l_0200.html">position_iterator</a>,&nbsp;<a class="el" href="g_i_l_0182.html">Models</a>]</small>
</h1><!-- doxytag: class="boost::gil::position_iterator" --><code>#include &lt;<a class="el" href="g_i_l_0255.html">position_iterator.hpp</a>&gt;</code>
<p>
<p>
<a href="g_i_l_0616.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;typename Deref, int Dim&gt;<br>
struct boost::gil::position_iterator&lt; Deref, Dim &gt;</h3>
An iterator that remembers its current X,Y position and invokes a function object with it upon dereferencing. Models <a class="el" href="g_i_l_0352.html" title="An STL random access traversal iterator over a model of PixelConcept.">PixelIteratorConcept</a>. Used to create virtual <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> views. Models: <a class="el" href="g_i_l_0380.html" title="Step iterator concept.">StepIteratorConcept</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_0344.html" title="Concept for all pixel-based GIL constructs, such as pixels, iterators, locators,...">PixelBasedConcept</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>. <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="593284971ee6dd339e255eab41daf46e"></a><!-- doxytag: member="boost::gil::position_iterator::parent_t" ref="593284971ee6dd339e255eab41daf46e" args="" -->
typedef iterator_facade<br>
&lt; <a class="el" href="g_i_l_0617.html">position_iterator</a>&lt; Deref, <br>
Dim &gt;, typename <br>
Deref::value_type, <br>
random_access_traversal_tag, <br>
typename Deref::reference, <br>
typename <br>
Deref::argument_type::template <br>
axis&lt; Dim &gt;::coord_t &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="af1864eda36a1748894be741b3d64bde"></a><!-- doxytag: member="boost::gil::position_iterator::difference_type" ref="af1864eda36a1748894be741b3d64bde" args="" -->
typedef parent_t::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="6c80bdd4dcae459dd371e3d941b83468"></a><!-- doxytag: member="boost::gil::position_iterator::reference" ref="6c80bdd4dcae459dd371e3d941b83468" args="" -->
typedef parent_t::reference&nbsp;</td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f32e0e9608bf2a7624e88e5f28f1662"></a><!-- doxytag: member="boost::gil::position_iterator::point_t" ref="4f32e0e9608bf2a7624e88e5f28f1662" args="" -->
typedef Deref::argument_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>point_t</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="c764aa1824b23c5d449b13402f69e2bc"></a><!-- doxytag: member="boost::gil::position_iterator::position_iterator" ref="c764aa1824b23c5d449b13402f69e2bc" args="(const point_t &amp;p, const point_t &amp;step, const Deref &amp;d)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>position_iterator</b> (const point_t &amp;p, const point_t &amp;step, const Deref &amp;d)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="095093a553f6880d130811af0d09cd7f"></a><!-- doxytag: member="boost::gil::position_iterator::position_iterator" ref="095093a553f6880d130811af0d09cd7f" args="(const position_iterator &amp;p)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>position_iterator</b> (const <a class="el" href="g_i_l_0617.html">position_iterator</a> &amp;p)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="e89fd409b049f2cb1e557eb91a34cc18"></a><!-- doxytag: member="boost::gil::position_iterator::position_iterator" ref="e89fd409b049f2cb1e557eb91a34cc18" args="(const position_iterator&lt; D, Dim &gt; &amp;p)" -->
template&lt;typename D&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>position_iterator</b> (const <a class="el" href="g_i_l_0617.html">position_iterator</a>&lt; D, Dim &gt; &amp;p)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="03e1a07a1c81d6a2526187a21bfb02d4"></a><!-- doxytag: member="boost::gil::position_iterator::operator=" ref="03e1a07a1c81d6a2526187a21bfb02d4" args="(const position_iterator &amp;p)" -->
<a class="el" href="g_i_l_0617.html">position_iterator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="g_i_l_0617.html">position_iterator</a> &amp;p)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aa3dcf1288cb11be49a44552d5916f9b"></a><!-- doxytag: member="boost::gil::position_iterator::pos" ref="aa3dcf1288cb11be49a44552d5916f9b" args="() const " -->
const point_t &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>pos</b> () const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fe5624cfe9b661059ebf68a2c2659275"></a><!-- doxytag: member="boost::gil::position_iterator::step" ref="fe5624cfe9b661059ebf68a2c2659275" args="() const " -->
const point_t &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>step</b> () const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8c1a5da63b9b76a4ffba45b8326ce4ef"></a><!-- doxytag: member="boost::gil::position_iterator::deref_fn" ref="8c1a5da63b9b76a4ffba45b8326ce4ef" args="() const " -->
const Deref &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>deref_fn</b> () const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5114b6c7c715e484fcb9e79b71838215"></a><!-- doxytag: member="boost::gil::position_iterator::set_step" ref="5114b6c7c715e484fcb9e79b71838215" args="(difference_type s)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_step</b> (difference_type s)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">reference&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0617.html#de1279c4ed222b6efb0867c038765ea1">operator[]</a> (difference_type d) const </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="8e8b17256aa8c6c835e4ae35a5e4e76d"></a><!-- doxytag: member="boost::gil::position_iterator::position_iterator" ref="8e8b17256aa8c6c835e4ae35a5e4e76d" args="" -->
struct&nbsp;</td><td class="memItemRight" valign="bottom"><b>position_iterator</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c09f73e325921cc50ebcd96bed0f8096"></a><!-- doxytag: member="boost::gil::position_iterator::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><h2>Member Function Documentation</h2>
<a class="anchor" name="de1279c4ed222b6efb0867c038765ea1"></a><!-- doxytag: member="boost::gil::position_iterator::operator[]" ref="de1279c4ed222b6efb0867c038765ea1" args="(difference_type d) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">reference operator[] </td>
<td>(</td>
<td class="paramtype">difference_type&nbsp;</td>
<td class="paramname"> <em>d</em> </td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
For some reason operator[] provided by iterator_adaptor returns a custom class that is convertible to reference We require our own reference because it is registered in iterator_traits
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="g_i_l_0255.html">position_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>