PageRenderTime 34ms CodeModel.GetById 26ms app.highlight 4ms RepoModel.GetById 2ms app.codeStats 0ms

/Src/Dependencies/Boost/libs/gil/doc/html/g_i_l_0046.html

http://hadesmem.googlecode.com/
HTML | 133 lines | 100 code | 17 blank | 16 comment | 0 complexity | 4e5b38fa3450e108435883cc68a65201 MD5 | raw file
  1<!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
  2
  3     Distributed under the Boost Software License, Version 1.0.
  4     (See accompanying file LICENSE_1_0.txt or copy at
  5     http://www.boost.org/LICENSE_1_0.txt)
  6  -->
  7
  8<!--
  9    Copyright 2005-2007 Adobe Systems Incorporated
 10    Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
 11    or a copy at http://stlab.adobe.com/licenses.html)
 12
 13    Some files are held under additional license.
 14    Please see "http://stlab.adobe.com/licenses.html" for more information.
 15-->
 16
 17<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 18        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 19<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 20
 21<head>
 22    <TITLE>Generic Image Library: memory_based_step_iterator Class Template Reference</TITLE>
 23    <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
 24    <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
 25</head>
 26<body>
 27<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
 28<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
 29<div class="qindex"><a class="qindex" href="index.html">Modules</a> 
 30                  | <a class="qindex" href="classes.html">Alphabetical List</a> 
 31                  | <a class="qindex" href="annotated.html">Class List</a> 
 32                  | <a class="qindex" href="dirs.html">Directories</a> 
 33                  | <a class="qindex" href="files.html">File List</a> 
 34                  | <a class="qindex" href="../index.html">GIL Home Page</a> 
 35</div>
 36<!-- End Header -->
 37<!-- Generated by Doxygen 1.5.6 -->
 38  <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<b>gil</b>::<a class="el" href="g_i_l_0046.html">memory_based_step_iterator</a>
 39  </div>
 40<div class="contents">
 41<h1>memory_based_step_iterator Class Template Reference<br>
 42<small>
 43[<a class="el" href="g_i_l_0199.html">step iterators</a>,&nbsp;<a class="el" href="g_i_l_0182.html">Models</a>]</small>
 44</h1><!-- doxytag: class="boost::gil::memory_based_step_iterator" --><!-- doxytag: inherits="boost::gil::detail::step_iterator_adaptor" --><code>#include &lt;<a class="el" href="g_i_l_0259.html">step_iterator.hpp</a>&gt;</code>
 45<p>
 46<div class="dynheader">
 47Inheritance diagram for memory_based_step_iterator:</div>
 48<div class="dynsection">
 49
 50<p><center><img src="g_i_l_0007.png" usemap="#memory_based_step_iterator_map" border="0" alt=""></center>
 51<map name="memory_based_step_iterator_map">
 52<area href="g_i_l_0036.html" alt="step_iterator_adaptor" shape="rect" coords="0,0,707,24">
 53</map>
 54</div>
 55
 56<p>
 57<a href="g_i_l_0045.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
 58<h3>template&lt;typename Iterator&gt;<br>
 59 class boost::gil::memory_based_step_iterator&lt; Iterator &gt;</h3>
 60
 61Iterator 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>. 
 62<p>
 63MEMORY-BASED STEP ITERATOR<p>
 64A refinement of step_iterator_adaptor that uses a dynamic parameter for the step which is specified in memory units, such as bytes or bits<p>
 65Pixel step iterators are used to provide iteration over non-adjacent pixels. Common use is a vertical traversal, where the step is the row stride.<p>
 66Another application is as a sub-channel view. For example, a red intensity <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> over interleaved RGB data would use a step iterator adaptor with step sizeof(channel_t)*3 In the latter example the step <a class="el" href="g_i_l_0621.html" title="Returns an MPL integral type specifying the number of elements in a color base.">size</a> could be fixed at compile time for efficiency. Compile-time fixed step can be implemented by providing a step function object that takes the step as a template <table border="0" cellpadding="0" cellspacing="0">
 67<tr><td></td></tr>
 68<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
 69<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bc15672c336b287b81a4bd69f0986753"></a><!-- doxytag: member="boost::gil::memory_based_step_iterator::parent_t" ref="bc15672c336b287b81a4bd69f0986753" args="" -->
 70typedef <br>
 71<a class="el" href="g_i_l_0036.html">detail::step_iterator_adaptor</a><br>
 72&lt; <a class="el" href="g_i_l_0046.html">memory_based_step_iterator</a><br>
 73&lt; Iterator &gt;, Iterator, <br>
 74<a class="el" href="g_i_l_0576.html">memunit_step_fn</a>&lt; Iterator &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>parent_t</b></td></tr>
 75
 76<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6c80bdd4dcae459dd371e3d941b83468"></a><!-- doxytag: member="boost::gil::memory_based_step_iterator::reference" ref="6c80bdd4dcae459dd371e3d941b83468" args="" -->
 77typedef parent_t::reference&nbsp;</td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
 78
 79<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af1864eda36a1748894be741b3d64bde"></a><!-- doxytag: member="boost::gil::memory_based_step_iterator::difference_type" ref="af1864eda36a1748894be741b3d64bde" args="" -->
 80typedef parent_t::difference_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
 81
 82<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6c92dba2feb25a3b182a2a78de4cddb5"></a><!-- doxytag: member="boost::gil::memory_based_step_iterator::x_iterator" ref="6c92dba2feb25a3b182a2a78de4cddb5" args="" -->
 83typedef Iterator&nbsp;</td><td class="memItemRight" valign="bottom"><b>x_iterator</b></td></tr>
 84
 85<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
 86<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1c335f11e1be5ae1444d6556e5c4c59f"></a><!-- doxytag: member="boost::gil::memory_based_step_iterator::memory_based_step_iterator" ref="1c335f11e1be5ae1444d6556e5c4c59f" args="(Iterator it, std::ptrdiff_t memunit_step)" -->
 87&nbsp;</td><td class="memItemRight" valign="bottom"><b>memory_based_step_iterator</b> (Iterator it, std::ptrdiff_t memunit_step)</td></tr>
 88
 89<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="c9aedc29ca8f724bd7e3c56ca6d779cd"></a><!-- doxytag: member="boost::gil::memory_based_step_iterator::memory_based_step_iterator" ref="c9aedc29ca8f724bd7e3c56ca6d779cd" args="(const memory_based_step_iterator&lt; I2 &gt; &amp;it)" -->
 90template&lt;typename I2&gt; </td></tr>
 91<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>memory_based_step_iterator</b> (const <a class="el" href="g_i_l_0046.html">memory_based_step_iterator</a>&lt; I2 &gt; &amp;it)</td></tr>
 92
 93<tr><td class="memItemLeft" nowrap align="right" valign="top">reference&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0046.html#de1279c4ed222b6efb0867c038765ea1">operator[]</a> (difference_type d) const </td></tr>
 94
 95<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2db2a1eeeaff81d48e6c3ae3fb21cdd9"></a><!-- doxytag: member="boost::gil::memory_based_step_iterator::set_step" ref="2db2a1eeeaff81d48e6c3ae3fb21cdd9" args="(std::ptrdiff_t memunit_step)" -->
 96void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_step</b> (std::ptrdiff_t memunit_step)</td></tr>
 97
 98<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2d6722b54419923ecb1282a142fcd494"></a><!-- doxytag: member="boost::gil::memory_based_step_iterator::base" ref="2d6722b54419923ecb1282a142fcd494" args="()" -->
 99x_iterator &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>base</b> ()</td></tr>
100
101<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2d972dcaff90f5726d754dd8613c8095"></a><!-- doxytag: member="boost::gil::memory_based_step_iterator::base" ref="2d972dcaff90f5726d754dd8613c8095" args="() const " -->
102x_iterator const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>base</b> () const </td></tr>
103
104</table>
105<hr><h2>Member Function Documentation</h2>
106<a class="anchor" name="de1279c4ed222b6efb0867c038765ea1"></a><!-- doxytag: member="boost::gil::memory_based_step_iterator::operator[]" ref="de1279c4ed222b6efb0867c038765ea1" args="(difference_type d) const " -->
107<div class="memitem">
108<div class="memproto">
109      <table class="memname">
110        <tr>
111          <td class="memname">reference operator[]           </td>
112          <td>(</td>
113          <td class="paramtype">difference_type&nbsp;</td>
114          <td class="paramname"> <em>d</em>          </td>
115          <td>&nbsp;)&nbsp;</td>
116          <td> const<code> [inline]</code></td>
117        </tr>
118      </table>
119</div>
120<div class="memdoc">
121
122<p>
123For 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 
124</div>
125</div><p>
126<hr>The documentation for this class was generated from the following file:<ul>
127<li><a class="el" href="g_i_l_0259.html">step_iterator.hpp</a></ul>
128</div>
129<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 13:50:18 2009 for Generic Image Library by&nbsp;
130<a href="http://www.doxygen.org/index.html">
131<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
132</body>
133</html>