<!-- 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.hpp Source File</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>position_iterator.hpp</h1><a href="g_i_l_0256.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">    Copyright 2005-2007 Adobe Systems Incorporated</span>
<a name="l00003"></a>00003 <span class="comment">   </span>
<a name="l00004"></a>00004 <span class="comment">    Use, modification and distribution are subject to the Boost Software License,</span>
<a name="l00005"></a>00005 <span class="comment">    Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
<a name="l00006"></a>00006 <span class="comment">    http://www.boost.org/LICENSE_1_0.txt).</span>
<a name="l00007"></a>00007 <span class="comment"></span>
<a name="l00008"></a>00008 <span class="comment">    See http://opensource.adobe.com/gil for most recent version including documentation.</span>
<a name="l00009"></a>00009 <span class="comment">*/</span>
<a name="l00010"></a>00010 
<a name="l00011"></a>00011 <span class="comment">/*************************************************************************************************/</span>
<a name="l00012"></a>00012 
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef GIL_POSITION_ITERATOR_HPP</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define GIL_POSITION_ITERATOR_HPP</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00024"></a>00024 
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;boost/iterator/iterator_facade.hpp&gt;</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="locator_8hpp.html" title="pixel 2D locator">locator.hpp</a>"</span>
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
<a name="l00029"></a>00029 
<a name="l00033"></a>00033 
<a name="l00034"></a>00034 
<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Deref, <span class="comment">// A function object that given a point returns a pixel reference. Models PixelDereferenceAdaptorConcept</span>
<a name="l00039"></a>00039           <span class="keywordtype">int</span> Dim&gt;        <span class="comment">// the dimension to advance along</span>
<a name="l00040"></a><a class="code" href="g_i_l_0617.html">00040</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0617.html" title="An iterator that remembers its current X,Y position and invokes a function object...">position_iterator</a> : <span class="keyword">public</span> iterator_facade&lt;position_iterator&lt;Deref,Dim&gt;,
<a name="l00041"></a>00041                                                   typename Deref::value_type,
<a name="l00042"></a>00042                                                   random_access_traversal_tag,
<a name="l00043"></a>00043                                                   typename Deref::reference,
<a name="l00044"></a>00044                                                   typename Deref::argument_type::template axis&lt;Dim&gt;::coord_t&gt; {
<a name="l00045"></a>00045     <span class="keyword">typedef</span> iterator_facade&lt;position_iterator&lt;Deref,Dim&gt;,
<a name="l00046"></a>00046                             <span class="keyword">typename</span> Deref::value_type,
<a name="l00047"></a>00047                             random_access_traversal_tag,
<a name="l00048"></a>00048                             <span class="keyword">typename</span> Deref::reference,
<a name="l00049"></a>00049                             <span class="keyword">typename</span> Deref::argument_type::template axis&lt;Dim&gt;::coord_t&gt; parent_t;
<a name="l00050"></a>00050     <span class="keyword">typedef</span> <span class="keyword">typename</span> parent_t::difference_type difference_type;
<a name="l00051"></a>00051     <span class="keyword">typedef</span> <span class="keyword">typename</span> parent_t::reference       reference;
<a name="l00052"></a>00052     <span class="keyword">typedef</span> <span class="keyword">typename</span> Deref::argument_type      point_t;
<a name="l00053"></a>00053 
<a name="l00054"></a>00054     <a class="code" href="g_i_l_0617.html" title="An iterator that remembers its current X,Y position and invokes a function object...">position_iterator</a>() {}
<a name="l00055"></a>00055     <a class="code" href="g_i_l_0617.html" title="An iterator that remembers its current X,Y position and invokes a function object...">position_iterator</a>(<span class="keyword">const</span> point_t&amp; p, <span class="keyword">const</span> point_t&amp; step, <span class="keyword">const</span> Deref&amp; d) : _p(p), _step(step), _d(d) {}
<a name="l00056"></a>00056 
<a name="l00057"></a>00057     <a class="code" href="g_i_l_0617.html" title="An iterator that remembers its current X,Y position and invokes a function object...">position_iterator</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0617.html" title="An iterator that remembers its current X,Y position and invokes a function object...">position_iterator</a>&amp; p) : _p(p.<a class="code" href="g_i_l_0617.html#971ddac6cfb72e0fb2233e50cc9e6e96">_p</a>), _step(p.<a class="code" href="g_i_l_0617.html#40c6b4f9743aad63f61973def7e31dc0">_step</a>), _d(p.<a class="code" href="g_i_l_0617.html#ce274a09c4eaceac7270c9fe5adff51a">_d</a>) {}
<a name="l00058"></a>00058     <span class="keyword">template</span> &lt;<span class="keyword">typename</span> D&gt; <a class="code" href="g_i_l_0617.html" title="An iterator that remembers its current X,Y position and invokes a function object...">position_iterator</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0617.html" title="An iterator that remembers its current X,Y position and invokes a function object...">position_iterator&lt;D,Dim&gt;</a>&amp; p) : _p(p.<a class="code" href="g_i_l_0617.html#971ddac6cfb72e0fb2233e50cc9e6e96">_p</a>), _step(p.<a class="code" href="g_i_l_0617.html#40c6b4f9743aad63f61973def7e31dc0">_step</a>), _d(p.<a class="code" href="g_i_l_0617.html#ce274a09c4eaceac7270c9fe5adff51a">_d</a>) {}
<a name="l00059"></a>00059     <a class="code" href="g_i_l_0617.html" title="An iterator that remembers its current X,Y position and invokes a function object...">position_iterator</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="g_i_l_0617.html" title="An iterator that remembers its current X,Y position and invokes a function object...">position_iterator</a>&amp; p) { _p=p.<a class="code" href="g_i_l_0617.html#971ddac6cfb72e0fb2233e50cc9e6e96">_p</a>; _d=p.<a class="code" href="g_i_l_0617.html#ce274a09c4eaceac7270c9fe5adff51a">_d</a>; _step=p.<a class="code" href="g_i_l_0617.html#40c6b4f9743aad63f61973def7e31dc0">_step</a>; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00060"></a>00060 
<a name="l00061"></a>00061     <span class="keyword">const</span> point_t&amp;   pos()<span class="keyword">      const </span>{ <span class="keywordflow">return</span> _p; }
<a name="l00062"></a>00062     <span class="keyword">const</span> point_t&amp;   step()<span class="keyword">     const </span>{ <span class="keywordflow">return</span> _step; }
<a name="l00063"></a>00063     <span class="keyword">const</span> Deref&amp;     deref_fn()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _d; }
<a name="l00064"></a>00064 
<a name="l00065"></a>00065     <span class="keywordtype">void</span> set_step(difference_type s) { _step[Dim]=s; }
<a name="l00068"></a><a class="code" href="g_i_l_0617.html#de1279c4ed222b6efb0867c038765ea1">00068</a>     reference <a class="code" href="g_i_l_0617.html#de1279c4ed222b6efb0867c038765ea1">operator[]</a>(difference_type d)<span class="keyword"> const </span>{ point_t p=_p; p[Dim]+=d*_step[Dim]; <span class="keywordflow">return</span> _d(p); }
<a name="l00069"></a>00069 
<a name="l00070"></a>00070 <span class="keyword">private</span>:
<a name="l00071"></a>00071     point_t _p, _step;
<a name="l00072"></a>00072     Deref   _d;
<a name="l00073"></a>00073 
<a name="l00074"></a>00074     <span class="keyword">template</span> &lt;<span class="keyword">typename</span> DE, <span class="keywordtype">int</span> DI&gt; <span class="keyword">friend</span> <span class="keyword">struct </span><a class="code" href="g_i_l_0617.html" title="An iterator that remembers its current X,Y position and invokes a function object...">position_iterator</a>;
<a name="l00075"></a>00075     <span class="keyword">friend</span> <span class="keyword">class </span>boost::iterator_core_access;
<a name="l00076"></a>00076     reference dereference()<span class="keyword">     const </span>{ <span class="keywordflow">return</span> _d(_p); }
<a name="l00077"></a>00077     <span class="keywordtype">void</span> increment()                  { _p[Dim]+=_step[Dim]; }
<a name="l00078"></a>00078     <span class="keywordtype">void</span> decrement()                  { _p[Dim]-=_step[Dim]; }
<a name="l00079"></a>00079     <span class="keywordtype">void</span> advance(difference_type d)   { _p[Dim]+=d*_step[Dim]; }
<a name="l00080"></a>00080 
<a name="l00081"></a>00081     difference_type distance_to(<span class="keyword">const</span> position_iterator&amp; it)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (it._p[Dim]-_p[Dim])/_step[Dim]; }
<a name="l00082"></a>00082     <span class="keywordtype">bool</span> <a class="code" href="g_i_l_0214.html#g4ed3cf71cb0fbf435d1389df8567a4e5" title="std::equal(I1,I1,I2) with I1 and I2 being a iterator_from_2d">equal</a>(<span class="keyword">const</span> position_iterator&amp; it)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _p==it._p; }
<a name="l00083"></a>00083 };
<a name="l00084"></a>00084 
<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Deref,<span class="keywordtype">int</span> Dim&gt; 
<a name="l00086"></a>00086 <span class="keyword">struct </span>const_iterator_type&lt;position_iterator&lt;Deref,Dim&gt; &gt; {
<a name="l00087"></a>00087     <span class="keyword">typedef</span> position_iterator&lt;typename Deref::const_t,Dim&gt; type;
<a name="l00088"></a>00088 };
<a name="l00089"></a>00089 
<a name="l00090"></a>00090 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Deref,<span class="keywordtype">int</span> Dim&gt; 
<a name="l00091"></a>00091 <span class="keyword">struct </span>iterator_is_mutable&lt;position_iterator&lt;Deref,Dim&gt; &gt; : <span class="keyword">public</span> mpl::bool_&lt;Deref::is_mutable&gt; {
<a name="l00092"></a>00092 };
<a name="l00093"></a>00093 
<a name="l00095"></a>00095 <span class="comment">//  PixelBasedConcept</span>
<a name="l00097"></a>00097 <span class="comment"></span>
<a name="l00098"></a>00098 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Deref,<span class="keywordtype">int</span> Dim&gt; 
<a name="l00099"></a>00099 <span class="keyword">struct </span>color_space_type&lt;position_iterator&lt;Deref,Dim&gt; &gt; : <span class="keyword">public</span> color_space_type&lt;typename Deref::value_type&gt; {};
<a name="l00100"></a>00100 
<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Deref,<span class="keywordtype">int</span> Dim&gt; 
<a name="l00102"></a>00102 <span class="keyword">struct </span>channel_mapping_type&lt;position_iterator&lt;Deref,Dim&gt; &gt; : <span class="keyword">public</span> channel_mapping_type&lt;typename Deref::value_type&gt; {};
<a name="l00103"></a>00103 
<a name="l00104"></a>00104 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Deref,<span class="keywordtype">int</span> Dim&gt; 
<a name="l00105"></a>00105 <span class="keyword">struct </span>is_planar&lt;position_iterator&lt;Deref,Dim&gt; &gt; : <span class="keyword">public</span> mpl::false_ {};
<a name="l00106"></a>00106 
<a name="l00107"></a>00107 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Deref,<span class="keywordtype">int</span> Dim&gt; 
<a name="l00108"></a>00108 <span class="keyword">struct </span>channel_type&lt;position_iterator&lt;Deref,Dim&gt; &gt; : <span class="keyword">public</span> channel_type&lt;typename Deref::value_type&gt; {};
<a name="l00109"></a>00109 
<a name="l00111"></a>00111 <span class="comment">//  HasDynamicXStepTypeConcept</span>
<a name="l00113"></a>00113 <span class="comment"></span>
<a name="l00114"></a>00114 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Deref,<span class="keywordtype">int</span> Dim&gt; 
<a name="l00115"></a>00115 <span class="keyword">struct </span>dynamic_x_step_type&lt;position_iterator&lt;Deref,Dim&gt; &gt; {
<a name="l00116"></a>00116     <span class="keyword">typedef</span> position_iterator&lt;Deref,Dim&gt; type;
<a name="l00117"></a>00117 };
<a name="l00118"></a>00118 
<a name="l00119"></a>00119 } }  <span class="comment">// namespace boost::gil</span>
<a name="l00120"></a>00120 
<a name="l00121"></a>00121 <span class="preprocessor">#endif</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 13:50:15 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>
