2
0
mirror of https://github.com/boostorg/gil.git synced 2026-02-17 13:52:09 +00:00
Files
gil/html/reference/structboost_1_1gil_1_1position__iterator.html
github-actions[bot] 08908035e5 deploy: c1c0a33e38
2025-11-19 13:36:05 +00:00

169 lines
15 KiB
HTML

<!-- HTML header for doxygen 1.8.13-->
<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Generic Image Library: position_iterator&lt; Deref, Dim &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-boost.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div class="boost-header">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
<tr>
<td valign="top" width="300">
<h3><a href="../index.html"><img alt="Boost GIL" src="../_static/gil.png" border="0"></a></h3>
</td>
<td ><h1 align="center"><a href="../index.html"></a></h1></td>
<td></td>
</tr>
</table>
</div>
<hr/>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */
</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceboost.html">boost</a></li><li class="navelem"><b>gil</b></li><li class="navelem"><a class="el" href="structboost_1_1gil_1_1position__iterator.html">position_iterator</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="structboost_1_1gil_1_1position__iterator-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">position_iterator&lt; Deref, Dim &gt; Struct Template Reference<div class="ingroups"><a class="el" href="group___pixel_iterator.html">Pixel Iterator</a> &raquo; <a class="el" href="group___pixel_iterator_model.html">Models</a> &raquo; <a class="el" href="group___pixel_iterator_model_virtual.html">position_iterator</a> &#124; <a class="el" href="group___pixel_based.html">PixelBased</a> &raquo; <a class="el" href="group___pixel_based_model.html">Models</a></div></div></div>
</div><!--header-->
<div class="contents">
<p>An iterator that remembers its current X,Y position and invokes a function object with it upon dereferencing. Used to create virtual image views. Models: <a class="el" href="structboost_1_1gil_1_1_step_iterator_concept.html" title="Step iterator concept.">StepIteratorConcept</a>, <a class="el" href="structboost_1_1gil_1_1_pixel_iterator_concept.html" title="An STL random access traversal iterator over a model of PixelConcept.">PixelIteratorConcept</a>, <a class="el" href="structboost_1_1gil_1_1_pixel_based_concept.html" title="Concept for all pixel-based GIL constructs.">PixelBasedConcept</a>, <a class="el" href="structboost_1_1gil_1_1_has_dynamic_x_step_type_concept.html" title="Concept for iterators, locators and views that can define a type just like the given iterator,...">HasDynamicXStepTypeConcept</a>.
<a href="structboost_1_1gil_1_1position__iterator.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="position__iterator_8hpp_source.html">position_iterator.hpp</a>&gt;</code></p>
<p>Inherits iterator_facade&lt; position_iterator&lt; Deref, Dim &gt;, Deref::value_type, std::random_access_iterator_tag, Deref::reference, Deref::argument_type::template axis&lt; Dim &gt;::coord_t &gt;.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ad6cdb8c56a1d318e76805577a3905128" id="r_ad6cdb8c56a1d318e76805577a3905128"><td class="memItemLeft" align="right" valign="top"><a id="ad6cdb8c56a1d318e76805577a3905128" name="ad6cdb8c56a1d318e76805577a3905128"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>parent_t</b> = iterator_facade&lt; <a class="el" href="structboost_1_1gil_1_1position__iterator.html">position_iterator</a>&lt; Deref, Dim &gt;, typename Deref::value_type, std::random_access_iterator_tag, typename Deref::reference, typename Deref::argument_type::template axis&lt; Dim &gt;::coord_t &gt;</td></tr>
<tr class="separator:ad6cdb8c56a1d318e76805577a3905128"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ae9f9bc144b7bd7d8523c345ac34a58" id="r_a2ae9f9bc144b7bd7d8523c345ac34a58"><td class="memItemLeft" align="right" valign="top"><a id="a2ae9f9bc144b7bd7d8523c345ac34a58" name="a2ae9f9bc144b7bd7d8523c345ac34a58"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>difference_type</b> = typename parent_t::difference_type</td></tr>
<tr class="separator:a2ae9f9bc144b7bd7d8523c345ac34a58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd3670b743c9f80b9c2f6b3ccb5fe37c" id="r_afd3670b743c9f80b9c2f6b3ccb5fe37c"><td class="memItemLeft" align="right" valign="top"><a id="afd3670b743c9f80b9c2f6b3ccb5fe37c" name="afd3670b743c9f80b9c2f6b3ccb5fe37c"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>reference</b> = typename parent_t::reference</td></tr>
<tr class="separator:afd3670b743c9f80b9c2f6b3ccb5fe37c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd8a64054274a18e1eda3fcb3328a8a9" id="r_abd8a64054274a18e1eda3fcb3328a8a9"><td class="memItemLeft" align="right" valign="top"><a id="abd8a64054274a18e1eda3fcb3328a8a9" name="abd8a64054274a18e1eda3fcb3328a8a9"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>point_t</b> = typename Deref::argument_type</td></tr>
<tr class="separator:abd8a64054274a18e1eda3fcb3328a8a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac59830a91f09d7e7740590cf4a04d247" id="r_ac59830a91f09d7e7740590cf4a04d247"><td class="memItemLeft" align="right" valign="top"><a id="ac59830a91f09d7e7740590cf4a04d247" name="ac59830a91f09d7e7740590cf4a04d247"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>position_iterator</b> (point_t const &amp;p, point_t const &amp;step, Deref const &amp;d)</td></tr>
<tr class="separator:ac59830a91f09d7e7740590cf4a04d247"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16bc6a7b01cb7d6ae4a0b30ddafe37c0" id="r_a16bc6a7b01cb7d6ae4a0b30ddafe37c0"><td class="memItemLeft" align="right" valign="top"><a id="a16bc6a7b01cb7d6ae4a0b30ddafe37c0" name="a16bc6a7b01cb7d6ae4a0b30ddafe37c0"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>position_iterator</b> (<a class="el" href="structboost_1_1gil_1_1position__iterator.html">position_iterator</a> const &amp;p)</td></tr>
<tr class="separator:a16bc6a7b01cb7d6ae4a0b30ddafe37c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3889794ab35d38d2ac298a2f6a7fc82a" id="r_a3889794ab35d38d2ac298a2f6a7fc82a"><td class="memTemplParams" colspan="2"><a id="a3889794ab35d38d2ac298a2f6a7fc82a" name="a3889794ab35d38d2ac298a2f6a7fc82a"></a>
template&lt;typename D &gt; </td></tr>
<tr class="memitem:a3889794ab35d38d2ac298a2f6a7fc82a"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>position_iterator</b> (<a class="el" href="structboost_1_1gil_1_1position__iterator.html">position_iterator</a>&lt; D, Dim &gt; const &amp;p)</td></tr>
<tr class="separator:a3889794ab35d38d2ac298a2f6a7fc82a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad16bec814874bb9fc7a1596806d1a0f6" id="r_ad16bec814874bb9fc7a1596806d1a0f6"><td class="memItemLeft" align="right" valign="top"><a id="ad16bec814874bb9fc7a1596806d1a0f6" name="ad16bec814874bb9fc7a1596806d1a0f6"></a>
auto&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="structboost_1_1gil_1_1position__iterator.html">position_iterator</a> const &amp;p) -&gt; <a class="el" href="structboost_1_1gil_1_1position__iterator.html">position_iterator</a> &amp;</td></tr>
<tr class="separator:ad16bec814874bb9fc7a1596806d1a0f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62b67b4d6eda1af95f6646c8e7fcdc49" id="r_a62b67b4d6eda1af95f6646c8e7fcdc49"><td class="memItemLeft" align="right" valign="top"><a id="a62b67b4d6eda1af95f6646c8e7fcdc49" name="a62b67b4d6eda1af95f6646c8e7fcdc49"></a>
auto&#160;</td><td class="memItemRight" valign="bottom"><b>pos</b> () const -&gt; point_t const &amp;</td></tr>
<tr class="separator:a62b67b4d6eda1af95f6646c8e7fcdc49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e32e56fcfdde82053279716126180e5" id="r_a1e32e56fcfdde82053279716126180e5"><td class="memItemLeft" align="right" valign="top"><a id="a1e32e56fcfdde82053279716126180e5" name="a1e32e56fcfdde82053279716126180e5"></a>
auto&#160;</td><td class="memItemRight" valign="bottom"><b>step</b> () const -&gt; point_t const &amp;</td></tr>
<tr class="separator:a1e32e56fcfdde82053279716126180e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8b47b5622cfa59cce937a81b269ed97" id="r_ad8b47b5622cfa59cce937a81b269ed97"><td class="memItemLeft" align="right" valign="top"><a id="ad8b47b5622cfa59cce937a81b269ed97" name="ad8b47b5622cfa59cce937a81b269ed97"></a>
auto&#160;</td><td class="memItemRight" valign="bottom"><b>deref_fn</b> () const -&gt; Deref const &amp;</td></tr>
<tr class="separator:ad8b47b5622cfa59cce937a81b269ed97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5114b6c7c715e484fcb9e79b71838215" id="r_a5114b6c7c715e484fcb9e79b71838215"><td class="memItemLeft" align="right" valign="top"><a id="a5114b6c7c715e484fcb9e79b71838215" name="a5114b6c7c715e484fcb9e79b71838215"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_step</b> (difference_type s)</td></tr>
<tr class="separator:a5114b6c7c715e484fcb9e79b71838215"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3832fa78e567d765df5630ec4555a659" id="r_a3832fa78e567d765df5630ec4555a659"><td class="memItemLeft" align="right" valign="top">auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1gil_1_1position__iterator.html#a3832fa78e567d765df5630ec4555a659">operator[]</a> (difference_type d) const -&gt; reference</td></tr>
<tr class="separator:a3832fa78e567d765df5630ec4555a659"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:ac09f73e325921cc50ebcd96bed0f8096" id="r_ac09f73e325921cc50ebcd96bed0f8096"><td class="memItemLeft" align="right" valign="top"><a id="ac09f73e325921cc50ebcd96bed0f8096" name="ac09f73e325921cc50ebcd96bed0f8096"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>boost::iterator_core_access</b></td></tr>
<tr class="separator:ac09f73e325921cc50ebcd96bed0f8096"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;typename Deref, int Dim&gt;<br />
struct boost::gil::position_iterator&lt; Deref, Dim &gt;</div><p>An iterator that remembers its current X,Y position and invokes a function object with it upon dereferencing. Used to create virtual image views. Models: <a class="el" href="structboost_1_1gil_1_1_step_iterator_concept.html" title="Step iterator concept.">StepIteratorConcept</a>, <a class="el" href="structboost_1_1gil_1_1_pixel_iterator_concept.html" title="An STL random access traversal iterator over a model of PixelConcept.">PixelIteratorConcept</a>, <a class="el" href="structboost_1_1gil_1_1_pixel_based_concept.html" title="Concept for all pixel-based GIL constructs.">PixelBasedConcept</a>, <a class="el" href="structboost_1_1gil_1_1_has_dynamic_x_step_type_concept.html" title="Concept for iterators, locators and views that can define a type just like the given iterator,...">HasDynamicXStepTypeConcept</a>. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Deref</td><td>A function object that given a point returns a pixel reference. Models <a class="el" href="structboost_1_1gil_1_1_pixel_dereference_adaptor_concept.html" title="Represents a unary function object that can be invoked upon dereferencing a pixel iterator.">PixelDereferenceAdaptorConcept</a> </td></tr>
<tr><td class="paramname">Dim</td><td>Dimension to advance along </td></tr>
</table>
</dd>
</dl>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a3832fa78e567d765df5630ec4555a659" name="a3832fa78e567d765df5630ec4555a659"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3832fa78e567d765df5630ec4555a659">&#9670;&#160;</a></span>operator[]()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Deref , int Dim&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto operator[] </td>
<td>(</td>
<td class="paramtype">difference_type&#160;</td>
<td class="paramname"><em>d</em></td><td>)</td>
<td> const -&gt; reference
</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </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 </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="position__iterator_8hpp_source.html">position_iterator.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.13-->
<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
<small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.9.8
</small>
</address>
</body>
</html>