blob: fe924a14d8d5968547d3bd75e4dbd6c1b221c9af [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: iterator_from_2d 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>::<a class="el" href="g_i_l_0042.html">iterator_from_2d</a>
</div>
<div class="contents">
<h1>iterator_from_2d Class Template Reference<br>
<small>
[<a class="el" href="g_i_l_0195.html">iterator_from_2d</a>,&nbsp;<a class="el" href="g_i_l_0182.html">Models</a>]</small>
</h1><!-- doxytag: class="boost::gil::iterator_from_2d" --><code>#include &lt;<a class="el" href="g_i_l_0229.html">iterator_from_2d.hpp</a>&gt;</code>
<p>
<p>
<a href="g_i_l_0041.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;typename Loc2&gt;<br>
class boost::gil::iterator_from_2d&lt; Loc2 &gt;</h3>
Provides 1D random-access navigation to the pixels of the <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a>. Models: <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>.
<p>
Pixels are traversed from the top to the bottom row and from the left to the right within each row <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="1b4bb84b55643493877c2ee963f64b2c"></a><!-- doxytag: member="boost::gil::iterator_from_2d::parent_t" ref="1b4bb84b55643493877c2ee963f64b2c" args="" -->
typedef iterator_facade<br>
&lt; <a class="el" href="g_i_l_0042.html">iterator_from_2d</a>&lt; Loc2 &gt;<br>
, typename Loc2::value_type, <br>
random_access_traversal_tag, <br>
typename Loc2::reference, <br>
typename Loc2::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="6c80bdd4dcae459dd371e3d941b83468"></a><!-- doxytag: member="boost::gil::iterator_from_2d::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="af1864eda36a1748894be741b3d64bde"></a><!-- doxytag: member="boost::gil::iterator_from_2d::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="1f14d8ca8049b9d8110bc78465353d61"></a><!-- doxytag: member="boost::gil::iterator_from_2d::x_iterator" ref="1f14d8ca8049b9d8110bc78465353d61" args="" -->
typedef Loc2::x_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><b>x_iterator</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7c16f36ca14e1a4bb735d453aeb5d7b5"></a><!-- doxytag: member="boost::gil::iterator_from_2d::point_t" ref="7c16f36ca14e1a4bb735d453aeb5d7b5" args="" -->
typedef Loc2::point_t&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="379c24f2d0a75769afc06dff7b569b8f"></a><!-- doxytag: member="boost::gil::iterator_from_2d::width" ref="379c24f2d0a75769afc06dff7b569b8f" args="() const " -->
std::ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>width</b> () const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cb3204f0b17472894a99939821d597be"></a><!-- doxytag: member="boost::gil::iterator_from_2d::x_pos" ref="cb3204f0b17472894a99939821d597be" args="() const " -->
std::ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>x_pos</b> () const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0cc719b54aea5b1b8650f38c5eba9d45"></a><!-- doxytag: member="boost::gil::iterator_from_2d::y_pos" ref="0cc719b54aea5b1b8650f38c5eba9d45" args="() const " -->
std::ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>y_pos</b> () const </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_0042.html#de1279c4ed222b6efb0867c038765ea1">operator[]</a> (difference_type d) const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="90ccf75aa2deb01fbce509842191cad2"></a><!-- doxytag: member="boost::gil::iterator_from_2d::is_1d_traversable" ref="90ccf75aa2deb01fbce509842191cad2" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>is_1d_traversable</b> () const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="72169bdc650ac7eda288398e4ce1d7f8"></a><!-- doxytag: member="boost::gil::iterator_from_2d::x" ref="72169bdc650ac7eda288398e4ce1d7f8" args="()" -->
x_iterator &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>x</b> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="45df0fa110e66d8fb30cb24c1dd56266"></a><!-- doxytag: member="boost::gil::iterator_from_2d::iterator_from_2d" ref="45df0fa110e66d8fb30cb24c1dd56266" args="(const Loc2 &amp;p, std::ptrdiff_t width, std::ptrdiff_t x=0, std::ptrdiff_t y=0)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>iterator_from_2d</b> (const Loc2 &amp;p, std::ptrdiff_t width, std::ptrdiff_t x=0, std::ptrdiff_t y=0)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cb7687c40d4a935c63ac210d97c22aa4"></a><!-- doxytag: member="boost::gil::iterator_from_2d::iterator_from_2d" ref="cb7687c40d4a935c63ac210d97c22aa4" args="(const iterator_from_2d &amp;pit)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>iterator_from_2d</b> (const <a class="el" href="g_i_l_0042.html">iterator_from_2d</a> &amp;pit)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="d4f1b6e1c89a7fae91557a16fb27e1af"></a><!-- doxytag: member="boost::gil::iterator_from_2d::iterator_from_2d" ref="d4f1b6e1c89a7fae91557a16fb27e1af" args="(const iterator_from_2d&lt; Loc &gt; &amp;pit)" -->
template&lt;typename Loc&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>iterator_from_2d</b> (const <a class="el" href="g_i_l_0042.html">iterator_from_2d</a>&lt; Loc &gt; &amp;pit)</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="5a1cb889c68b7d25cfc8b22e9b156142"></a><!-- doxytag: member="boost::gil::iterator_from_2d::iterator_from_2d" ref="5a1cb889c68b7d25cfc8b22e9b156142" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>iterator_from_2d</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c09f73e325921cc50ebcd96bed0f8096"></a><!-- doxytag: member="boost::gil::iterator_from_2d::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::iterator_from_2d::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 class was generated from the following file:<ul>
<li><a class="el" href="g_i_l_0229.html">iterator_from_2d.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>