blob: ce7ab5d36fc8486668a36bdc89788b76380cbda4 [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: dereference_iterator_adaptor 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_0026.html">dereference_iterator_adaptor</a>
</div>
<div class="contents">
<h1>dereference_iterator_adaptor Class Template Reference<br>
<small>
[<a class="el" href="g_i_l_0194.html">dereference_iterator_adaptor</a>,&nbsp;<a class="el" href="g_i_l_0182.html">Models</a>]</small>
</h1><!-- doxytag: class="boost::gil::dereference_iterator_adaptor" --><!-- doxytag: inherits="iterator_adaptor" --><code>#include &lt;<a class="el" href="g_i_l_0244.html">pixel_iterator_adaptor.hpp</a>&gt;</code>
<p>
Inherits iterator_adaptor&lt; boost::gil::dereference_iterator_adaptor&lt; Iterator, DFn &gt;, Iterator, DFn::value_type, use_default, DFn::reference, use_default &gt;.
<p>
<p>
<a href="g_i_l_0025.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;typename Iterator, typename DFn&gt;<br>
class boost::gil::dereference_iterator_adaptor&lt; Iterator, DFn &gt;</h3>
An adaptor over an existing iterator that provides for custom filter on dereferencing the object. Models: <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_0352.html" title="An STL random access traversal iterator over a model of PixelConcept.">PixelIteratorConcept</a>. <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="fc63a336589f8e781f0f1e6213340e2f"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::parent_t" ref="fc63a336589f8e781f0f1e6213340e2f" args="" -->
typedef iterator_adaptor<br>
&lt; <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a><br>
&lt; Iterator, DFn &gt;, Iterator, <br>
typename DFn::value_type, <br>
use_default, typename <br>
DFn::reference, use_default &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="925a77333811e037f4a6d8646999518b"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::reference" ref="925a77333811e037f4a6d8646999518b" args="" -->
typedef DFn::result_type&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="2e6780c1f76e61ef32d8d9682be7cf9f"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::difference_type" ref="2e6780c1f76e61ef32d8d9682be7cf9f" args="" -->
typedef std::iterator_traits<br>
&lt; Iterator &gt;::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="c82fa666cbc2cbbc0edea3c495001a39"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::dereference_fn" ref="c82fa666cbc2cbbc0edea3c495001a39" args="" -->
typedef DFn&nbsp;</td><td class="memItemRight" valign="bottom"><b>dereference_fn</b></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="719878495aa8c962f9018b4a5f884ce6"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::dereference_iterator_adaptor" ref="719878495aa8c962f9018b4a5f884ce6" args="(const dereference_iterator_adaptor&lt; Iterator1, DFn &gt; &amp;dit)" -->
template&lt;typename Iterator1&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>dereference_iterator_adaptor</b> (const <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a>&lt; Iterator1, DFn &gt; &amp;dit)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="59216761b450991ae857f8ed69ace8ba"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::dereference_iterator_adaptor" ref="59216761b450991ae857f8ed69ace8ba" args="(Iterator it, DFn deref_fn=DFn())" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>dereference_iterator_adaptor</b> (Iterator it, DFn deref_fn=DFn())</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="bb777a3f4899e0b98ec05a9b3b19a157"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::dereference_iterator_adaptor" ref="bb777a3f4899e0b98ec05a9b3b19a157" args="(const dereference_iterator_adaptor&lt; Iterator1, DFn1 &gt; &amp;it)" -->
template&lt;typename Iterator1, typename DFn1&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>dereference_iterator_adaptor</b> (const <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a>&lt; Iterator1, DFn1 &gt; &amp;it)</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_0026.html#de1279c4ed222b6efb0867c038765ea1">operator[]</a> (difference_type d) const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0ee047e7f335eb8afd77ea58e94ad2c5"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator&gt;" ref="0ee047e7f335eb8afd77ea58e94ad2c5" args="(const dereference_iterator_adaptor &amp;p) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&gt;</b> (const <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a> &amp;p) const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c83520fc09f8fb9a789662732a76924f"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator&lt;" ref="c83520fc09f8fb9a789662732a76924f" args="(const dereference_iterator_adaptor &amp;p) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&lt;</b> (const <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a> &amp;p) const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c16d7b7aad842c0544397598e426bfed"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator&gt;=" ref="c16d7b7aad842c0544397598e426bfed" args="(const dereference_iterator_adaptor &amp;p) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&gt;=</b> (const <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a> &amp;p) const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="60155c31954beb550e2f6e79df654445"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator&lt;=" ref="60155c31954beb550e2f6e79df654445" args="(const dereference_iterator_adaptor &amp;p) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&lt;=</b> (const <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a> &amp;p) const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="776301b8564074bfb69b226a1994cf16"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator==" ref="776301b8564074bfb69b226a1994cf16" args="(const dereference_iterator_adaptor &amp;p) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a> &amp;p) const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="21ce52ab4ea954ac9d6a81cf7bf6b0f6"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator!=" ref="21ce52ab4ea954ac9d6a81cf7bf6b0f6" args="(const dereference_iterator_adaptor &amp;p) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a> &amp;p) const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="048bfb0fc9c6a14faae4c65e841ee2d8"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::base" ref="048bfb0fc9c6a14faae4c65e841ee2d8" args="()" -->
Iterator &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>base</b> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="46641e88a4cfc59b489f75d868bc2269"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::base" ref="46641e88a4cfc59b489f75d868bc2269" args="() const " -->
const Iterator &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>base</b> () const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="53175a49e7ed40f9aa59e89556149573"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::deref_fn" ref="53175a49e7ed40f9aa59e89556149573" args="() const " -->
const DFn &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>deref_fn</b> () const </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="1297b5a5a58dc9f2266f6ce275a2bed6"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::dereference_iterator_adaptor" ref="1297b5a5a58dc9f2266f6ce275a2bed6" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>dereference_iterator_adaptor</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c09f73e325921cc50ebcd96bed0f8096"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::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::dereference_iterator_adaptor::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_facade 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_0244.html">pixel_iterator_adaptor.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>