]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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>, <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 <<a class="el" href="g_i_l_0259.html">step_iterator.hpp</a>></code> | |
45 | <p> | |
46 | <div class="dynheader"> | |
47 | Inheritance 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<typename Iterator><br> | |
59 | class boost::gil::memory_based_step_iterator< Iterator ></h3> | |
60 | ||
61 | Iterator 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> | |
63 | MEMORY-BASED STEP ITERATOR<p> | |
64 | A 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> | |
65 | Pixel 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> | |
66 | Another 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="" --> | |
70 | typedef <br> | |
71 | <a class="el" href="g_i_l_0036.html">detail::step_iterator_adaptor</a><br> | |
72 | < <a class="el" href="g_i_l_0046.html">memory_based_step_iterator</a><br> | |
73 | < Iterator >, Iterator, <br> | |
74 | <a class="el" href="g_i_l_0576.html">memunit_step_fn</a>< Iterator > > </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="" --> | |
77 | typedef parent_t::reference </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="" --> | |
80 | typedef parent_t::difference_type </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="" --> | |
83 | typedef Iterator </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 | </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< I2 > &it)" --> | |
90 | template<typename I2> </td></tr> | |
91 | <tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </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>< I2 > &it)</td></tr> | |
92 | ||
93 | <tr><td class="memItemLeft" nowrap align="right" valign="top">reference </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)" --> | |
96 | void </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="()" --> | |
99 | x_iterator & </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 " --> | |
102 | x_iterator const & </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 </td> | |
114 | <td class="paramname"> <em>d</em> </td> | |
115 | <td> ) </td> | |
116 | <td> const<code> [inline]</code></td> | |
117 | </tr> | |
118 | </table> | |
119 | </div> | |
120 | <div class="memdoc"> | |
121 | ||
122 | <p> | |
123 | 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 | |
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 | |
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> |