blob: 693c15a3d5b24a757068f9aa41a3b815da9cb090 [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: packed_dynamic_channel_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="contents">
<h1>packed_dynamic_channel_reference<br>
<small>
[<a class="el" href="g_i_l_0102.html">Models</a>]</small>
</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
Represents a reference proxy to a channel operating over a bit range whose offset is specified at run time. Models <a class="el" href="g_i_l_0264.html" title="A channel is the building block of a color. Color is defined as a mixture of primary...">ChannelConcept</a>.
<p>
Example: <div class="fragment"><pre class="fragment"><span class="comment">// Reference to a 2-bit channel whose offset is specified at construction time</span>
<span class="keyword">typedef</span> <span class="keyword">const</span> packed_dynamic_channel_reference&lt;uint8_t,2,true&gt; bits2_dynamic_ref_t;
uint16_t data=0;
bits2_dynamic_ref_t channel_ref(&amp;data,1);
channel_ref = channel_traits&lt;bits2_dynamic_ref_t&gt;::max_value(); <span class="comment">// == 3</span>
assert(data == 6); <span class="comment">// == (3&lt;&lt;1) == 6</span>
</pre></div>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0054.html">packed_dynamic_channel_reference&lt; BitField, NumBits, false &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Models a constant subbyte channel reference whose bit offset is a runtime parameter. Models <a class="el" href="g_i_l_0264.html" title="A channel is the building block of a color. Color is defined as a mixture of primary...">ChannelConcept</a> Same as packed_channel_reference, except that the offset is a runtime parameter. <a href="g_i_l_0054.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0056.html">packed_dynamic_channel_reference&lt; BitField, NumBits, true &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Models a mutable subbyte channel reference whose bit offset is a runtime parameter. Models <a class="el" href="g_i_l_0264.html" title="A channel is the building block of a color. Color is defined as a mixture of primary...">ChannelConcept</a> Same as packed_channel_reference, except that the offset is a runtime parameter. <a href="g_i_l_0056.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g45affd7c290ef9a24ac79edbd6f9ca7f"></a><!-- doxytag: member="PackedChannelDynamicReferenceModel::swap" ref="g45affd7c290ef9a24ac79edbd6f9ca7f" args="(const boost::gil::packed_dynamic_channel_reference&lt; BF, NB, M &gt; x, R &amp;y)" -->
template&lt;typename BF, int NB, bool M, typename R&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0175.html#g45affd7c290ef9a24ac79edbd6f9ca7f">swap</a> (const boost::gil::packed_dynamic_channel_reference&lt; BF, NB, M &gt; x, R &amp;y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">swap for packed_dynamic_channel_reference <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc25302c1ae9ad02851565565fd95e03e"></a><!-- doxytag: member="PackedChannelDynamicReferenceModel::swap" ref="gc25302c1ae9ad02851565565fd95e03e" args="(typename boost::gil::packed_dynamic_channel_reference&lt; BF, NB, M &gt;::value_type &amp;x, const boost::gil::packed_dynamic_channel_reference&lt; BF, NB, M &gt; y)" -->
template&lt;typename BF, int NB, bool M&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0175.html#gc25302c1ae9ad02851565565fd95e03e">swap</a> (typename boost::gil::packed_dynamic_channel_reference&lt; BF, NB, M &gt;::value_type &amp;x, const boost::gil::packed_dynamic_channel_reference&lt; BF, NB, M &gt; y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">swap for packed_dynamic_channel_reference <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gd5c9bdabc34d65825f30d2ae71cb07dc"></a><!-- doxytag: member="PackedChannelDynamicReferenceModel::swap" ref="gd5c9bdabc34d65825f30d2ae71cb07dc" args="(const boost::gil::packed_dynamic_channel_reference&lt; BF, NB, M &gt; x, const boost::gil::packed_dynamic_channel_reference&lt; BF, NB, M &gt; y)" -->
template&lt;typename BF, int NB, bool M&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0175.html#gd5c9bdabc34d65825f30d2ae71cb07dc">swap</a> (const boost::gil::packed_dynamic_channel_reference&lt; BF, NB, M &gt; x, const boost::gil::packed_dynamic_channel_reference&lt; BF, NB, M &gt; y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">swap for packed_dynamic_channel_reference <br></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 13:50:16 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>