1 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
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)
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)
13 Some files are held under additional license.
14 Please see "http://stlab.adobe.com/licenses.html" for more information.
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">
22 <TITLE>Generic Image Library: planar_pixel_iterator Struct 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"/>
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>
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_0609.html">planar_pixel_iterator
</a>
40 <div class=
"contents">
41 <h1>planar_pixel_iterator Struct Template Reference
<br>
43 [
<a class=
"el" href=
"g_i_l_0198.html">planar_pixel_iterator
</a>,
<a class=
"el" href=
"g_i_l_0123.html">planar_pixel_iterator
</a>,
<a class=
"el" href=
"g_i_l_0182.html">Models
</a>]
</small>
44 </h1><!-- doxytag: class="boost::gil::planar_pixel_iterator" --><code>#include
<<a class=
"el" href=
"g_i_l_0246.html">planar_pixel_iterator.hpp
</a>></code>
48 <a href=
"g_i_l_0608.html">List of all members.
</a><hr><a name=
"_details"></a><h2>Detailed Description
</h2>
49 <h3>template
<typename ChannelPtr, typename ColorSpace
><br>
50 struct boost::gil::planar_pixel_iterator
< ChannelPtr, ColorSpace
></h3>
52 An iterator over planar pixels. Models
<a class=
"el" href=
"g_i_l_0296.html" title=
"Color base whose elements all have the same type.">HomogeneousColorBaseConcept
</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_0300.html" title=
"Concept for homogeneous pixel-based GIL constructs.">HomogeneousPixelBasedConcept
</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_0290.html" title=
"Concept for iterators, locators and views that can define a type just like the given...">HasDynamicXStepTypeConcept
</a>.
54 Planar pixels have channel data that is not consecutive in memory. To abstract this we use classes to represent references and pointers to planar pixels.
<table border=
"0" cellpadding=
"0" cellspacing=
"0">
56 <tr><td colspan=
"2"><br><h2>Public Types
</h2></td></tr>
57 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"5ed33836473e5d1a2f7535917fdd946b"></a><!-- doxytag: member="boost::gil::planar_pixel_iterator::value_type" ref="5ed33836473e5d1a2f7535917fdd946b" args="" -->
58 typedef parent_t::value_type
</td><td class=
"memItemRight" valign=
"bottom"><b>value_type
</b></td></tr>
60 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"6c80bdd4dcae459dd371e3d941b83468"></a><!-- doxytag: member="boost::gil::planar_pixel_iterator::reference" ref="6c80bdd4dcae459dd371e3d941b83468" args="" -->
61 typedef parent_t::reference
</td><td class=
"memItemRight" valign=
"bottom"><b>reference
</b></td></tr>
63 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"af1864eda36a1748894be741b3d64bde"></a><!-- doxytag: member="boost::gil::planar_pixel_iterator::difference_type" ref="af1864eda36a1748894be741b3d64bde" args="" -->
64 typedef parent_t::difference_type
</td><td class=
"memItemRight" valign=
"bottom"><b>difference_type
</b></td></tr>
66 <tr><td colspan=
"2"><br><h2>Public Member Functions
</h2></td></tr>
67 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"f7f4c6e930eae79d9f5a16e8dc57a306"></a><!-- doxytag: member="boost::gil::planar_pixel_iterator::planar_pixel_iterator" ref="f7f4c6e930eae79d9f5a16e8dc57a306" args="(bool)" -->
68 </td><td class=
"memItemRight" valign=
"bottom"><b>planar_pixel_iterator
</b> (bool)
</td></tr>
70 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"ea18ad75ac3b0be15eb771ac1c3971dc"></a><!-- doxytag: member="boost::gil::planar_pixel_iterator::planar_pixel_iterator" ref="ea18ad75ac3b0be15eb771ac1c3971dc" args="(const ChannelPtr &v0, const ChannelPtr &v1)" -->
71 </td><td class=
"memItemRight" valign=
"bottom"><b>planar_pixel_iterator
</b> (const ChannelPtr
&v0, const ChannelPtr
&v1)
</td></tr>
73 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"28877cb865567e049fe9682b1fd88d0e"></a><!-- doxytag: member="boost::gil::planar_pixel_iterator::planar_pixel_iterator" ref="28877cb865567e049fe9682b1fd88d0e" args="(const ChannelPtr &v0, const ChannelPtr &v1, const ChannelPtr &v2)" -->
74 </td><td class=
"memItemRight" valign=
"bottom"><b>planar_pixel_iterator
</b> (const ChannelPtr
&v0, const ChannelPtr
&v1, const ChannelPtr
&v2)
</td></tr>
76 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"da13c4e8f8920e61b83a64070fdc40c0"></a><!-- doxytag: member="boost::gil::planar_pixel_iterator::planar_pixel_iterator" ref="da13c4e8f8920e61b83a64070fdc40c0" args="(const ChannelPtr &v0, const ChannelPtr &v1, const ChannelPtr &v2, const ChannelPtr &v3)" -->
77 </td><td class=
"memItemRight" valign=
"bottom"><b>planar_pixel_iterator
</b> (const ChannelPtr
&v0, const ChannelPtr
&v1, const ChannelPtr
&v2, const ChannelPtr
&v3)
</td></tr>
79 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"e745f60902f8b2aa33e3972cf7593e82"></a><!-- doxytag: member="boost::gil::planar_pixel_iterator::planar_pixel_iterator" ref="e745f60902f8b2aa33e3972cf7593e82" args="(const ChannelPtr &v0, const ChannelPtr &v1, const ChannelPtr &v2, const ChannelPtr &v3, const ChannelPtr &v4)" -->
80 </td><td class=
"memItemRight" valign=
"bottom"><b>planar_pixel_iterator
</b> (const ChannelPtr
&v0, const ChannelPtr
&v1, const ChannelPtr
&v2, const ChannelPtr
&v3, const ChannelPtr
&v4)
</td></tr>
82 <tr><td class=
"memTemplParams" nowrap
colspan=
"2"><a class=
"anchor" name=
"4a0581052e8a1d64a58e61468911fdc8"></a><!-- doxytag: member="boost::gil::planar_pixel_iterator::planar_pixel_iterator" ref="4a0581052e8a1d64a58e61468911fdc8" args="(const planar_pixel_iterator< IC1, C1 > &ptr)" -->
83 template
<typename IC1, typename C1
> </td></tr>
84 <tr><td class=
"memTemplItemLeft" nowrap
align=
"right" valign=
"top"> </td><td class=
"memTemplItemRight" valign=
"bottom"><b>planar_pixel_iterator
</b> (const
<a class=
"el" href=
"g_i_l_0609.html">planar_pixel_iterator
</a>< IC1, C1
> &ptr)
</td></tr>
86 <tr><td class=
"memTemplParams" nowrap
colspan=
"2">template
<typename P
> </td></tr>
87 <tr><td class=
"memTemplItemLeft" nowrap
align=
"right" valign=
"top"> </td><td class=
"memTemplItemRight" valign=
"bottom"><a class=
"el" href=
"g_i_l_0609.html#340b95bc4afd461df05de5816763e8f8">planar_pixel_iterator
</a> (P *pix)
</td></tr>
89 <tr><td class=
"memTemplParams" nowrap
colspan=
"2"><a class=
"anchor" name=
"66b1540bddaee5d5f15e4a505c9a26dc"></a><!-- doxytag: member="boost::gil::planar_pixel_iterator::operator=" ref="66b1540bddaee5d5f15e4a505c9a26dc" args="(P *pix)" -->
90 template
<typename P
> </td></tr>
91 <tr><td class=
"memTemplItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"el" href=
"g_i_l_0609.html">planar_pixel_iterator
</a> & </td><td class=
"memTemplItemRight" valign=
"bottom"><b>operator=
</b> (P *pix)
</td></tr>
93 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">reference
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"g_i_l_0609.html#de1279c4ed222b6efb0867c038765ea1">operator[]
</a> (difference_type d) const
</td></tr>
95 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"ab60bdc7f960c3cc5d9529912de62dfd"></a><!-- doxytag: member="boost::gil::planar_pixel_iterator::operator->" ref="ab60bdc7f960c3cc5d9529912de62dfd" args="() const " -->
96 reference
</td><td class=
"memItemRight" valign=
"bottom"><b>operator-
></b> () const
</td></tr>
98 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"0b2d20d8487d7e06999f84a7f2384c02"></a><!-- doxytag: member="boost::gil::planar_pixel_iterator::operator<" ref="0b2d20d8487d7e06999f84a7f2384c02" args="(const planar_pixel_iterator &ptr) const " -->
99 bool
</td><td class=
"memItemRight" valign=
"bottom"><b>operator
<</b> (const
<a class=
"el" href=
"g_i_l_0609.html">planar_pixel_iterator
</a> &ptr) const
</td></tr>
101 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"f55209556661476edd93c0c9569c5c4b"></a><!-- doxytag: member="boost::gil::planar_pixel_iterator::operator!=" ref="f55209556661476edd93c0c9569c5c4b" args="(const planar_pixel_iterator &ptr) const " -->
102 bool
</td><td class=
"memItemRight" valign=
"bottom"><b>operator!=
</b> (const
<a class=
"el" href=
"g_i_l_0609.html">planar_pixel_iterator
</a> &ptr) const
</td></tr>
104 <tr><td colspan=
"2"><br><h2>Friends
</h2></td></tr>
105 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"c09f73e325921cc50ebcd96bed0f8096"></a><!-- doxytag: member="boost::gil::planar_pixel_iterator::boost::iterator_core_access" ref="c09f73e325921cc50ebcd96bed0f8096" args="" -->
106 class
</td><td class=
"memItemRight" valign=
"bottom"><b>boost::iterator_core_access
</b></td></tr>
109 <hr><h2>Constructor
& Destructor Documentation
</h2>
110 <a class=
"anchor" name=
"340b95bc4afd461df05de5816763e8f8"></a><!-- doxytag: member="boost::gil::planar_pixel_iterator::planar_pixel_iterator" ref="340b95bc4afd461df05de5816763e8f8" args="(P *pix)" -->
111 <div class=
"memitem">
112 <div class=
"memproto">
113 <table class=
"memname">
115 <td class=
"memname"><a class=
"el" href=
"g_i_l_0609.html">planar_pixel_iterator
</a> </td>
117 <td class=
"paramtype">P *
</td>
118 <td class=
"paramname"> <em>pix
</em> </td>
119 <td> )
</td>
120 <td><code> [inline]
</code></td>
127 Copy constructor and operator= from pointers to compatible planar pixels or planar
<a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a> references. That allow constructs like pointer =
&value or pointer =
&reference Since we should not override operator
& that's the best we can do.
130 <hr><h2>Member Function Documentation
</h2>
131 <a class=
"anchor" name=
"de1279c4ed222b6efb0867c038765ea1"></a><!-- doxytag: member="boost::gil::planar_pixel_iterator::operator[]" ref="de1279c4ed222b6efb0867c038765ea1" args="(difference_type d) const " -->
132 <div class=
"memitem">
133 <div class=
"memproto">
134 <table class=
"memname">
136 <td class=
"memname">reference operator[]
</td>
138 <td class=
"paramtype">difference_type
</td>
139 <td class=
"paramname"> <em>d
</em> </td>
140 <td> )
</td>
141 <td> const
<code> [inline]
</code></td>
148 For some reason operator[] provided by iterator_facade returns a custom class that is convertible to reference We require our own reference because it is registered in iterator_traits
151 <hr>The documentation for this struct was generated from the following file:
<ul>
152 <li><a class=
"el" href=
"g_i_l_0246.html">planar_pixel_iterator.hpp
</a></ul>
154 <hr size=
"1"><address style=
"text-align: right;"><small>Generated on Sat May
2 13:
50:
18 2009 for Generic Image Library by
155 <a href=
"http://www.doxygen.org/index.html">
156 <img src=
"doxygen.png" alt=
"doxygen" align=
"middle" border=
"0"></a> 1.5.6 </small></address>