blob: e08d58e4e2fa5dc40e85fc01106380ebd215b966 [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: channel.hpp File 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="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>
</div>
<div class="contents">
<h1>channel.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
Channel utilities.
<p>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Lubomir Bourdev and Hailin Jin <br>
Adobe Systems Incorporated </dd></dl>
<dl class="date" compact><dt><b>Date:</b></dt><dd>2005-2007 <br>
Last updated on May 6, 2007</dd></dl>
Definitions of standard GIL channel models
<p>
<code>#include &lt;limits&gt;</code><br>
<code>#include &lt;cassert&gt;</code><br>
<code>#include &lt;boost/cstdint.hpp&gt;</code><br>
<code>#include &quot;<a class="el" href="g_i_l_0093.html">gil_config.hpp</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="g_i_l_0642.html">utilities.hpp</a>&quot;</code><br>
<p>
<a href="g_i_l_0014.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::detail</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>std</b></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0429.html">channel_traits</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits for channels. Contains the following members:. <a href="g_i_l_0429.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0620.html">scoped_channel_value</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A channel adaptor that modifies the range of the source channel. Models: <a class="el" href="g_i_l_0270.html" title="A channel that supports default construction.">ChannelValueConcept</a>. <a href="g_i_l_0620.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_0052.html">packed_channel_value</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The value of a subbyte channel. Models: <a class="el" href="g_i_l_0270.html" title="A channel that supports default construction.">ChannelValueConcept</a>. <a href="g_i_l_0052.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_0048.html">packed_channel_reference&lt; BitField, FirstBit, NumBits, false &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A constant subbyte channel reference whose bit offset is fixed at compile 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>. <a href="g_i_l_0048.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_0050.html">packed_channel_reference&lt; BitField, FirstBit, NumBits, true &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A mutable subbyte channel reference whose bit offset is fixed at compile 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>. <a href="g_i_l_0050.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_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>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7baf69eea57892aef15823b0339a7a13"></a><!-- doxytag: member="channel.hpp::bits8" ref="g7baf69eea57892aef15823b0339a7a13" args="" -->
typedef uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>bits8</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf8674e88e0ffba62c485fa7213c897bc"></a><!-- doxytag: member="channel.hpp::bits16" ref="gf8674e88e0ffba62c485fa7213c897bc" args="" -->
typedef uint16_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>bits16</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g78a76ea1fc2025b67d93c32bf5f0d108"></a><!-- doxytag: member="channel.hpp::bits32" ref="g78a76ea1fc2025b67d93c32bf5f0d108" args="" -->
typedef uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>bits32</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gbac6e224fbcb609ee77dc80fa3a21823"></a><!-- doxytag: member="channel.hpp::bits8s" ref="gbac6e224fbcb609ee77dc80fa3a21823" args="" -->
typedef int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>bits8s</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gaf9d153286580c8f5c0fc6a3707c20a6"></a><!-- doxytag: member="channel.hpp::bits16s" ref="gaf9d153286580c8f5c0fc6a3707c20a6" args="" -->
typedef int16_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>bits16s</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf7fa01f32e1d2d1d17b3a15c01fd3780"></a><!-- doxytag: member="channel.hpp::bits32s" ref="gf7fa01f32e1d2d1d17b3a15c01fd3780" args="" -->
typedef int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>bits32s</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g59ce39e260cc83516fa743cd8ba55aa7"></a><!-- doxytag: member="channel.hpp::bits32f" ref="g59ce39e260cc83516fa743cd8ba55aa7" args="" -->
typedef scoped_channel_value<br>
&lt; float, float_zero, float_one &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>bits32f</b></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g80e89636c0d110249fedf6ea14a477f7"></a><!-- doxytag: member="channel.hpp::swap" ref="g80e89636c0d110249fedf6ea14a477f7" args="(const boost::gil::packed_channel_reference&lt; BF, FB, NB, M &gt; x, R &amp;y)" -->
template&lt;typename BF, int FB, 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_0176.html#g80e89636c0d110249fedf6ea14a477f7">swap</a> (const boost::gil::packed_channel_reference&lt; BF, FB, NB, M &gt; x, R &amp;y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">swap for packed_channel_reference <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g9541bc0769202d632e1b869e1cf217e0"></a><!-- doxytag: member="channel.hpp::swap" ref="g9541bc0769202d632e1b869e1cf217e0" args="(typename boost::gil::packed_channel_reference&lt; BF, FB, NB, M &gt;::value_type &amp;x, const boost::gil::packed_channel_reference&lt; BF, FB, NB, M &gt; y)" -->
template&lt;typename BF, int FB, 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_0176.html#g9541bc0769202d632e1b869e1cf217e0">swap</a> (typename boost::gil::packed_channel_reference&lt; BF, FB, NB, M &gt;::value_type &amp;x, const boost::gil::packed_channel_reference&lt; BF, FB, NB, M &gt; y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">swap for packed_channel_reference <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g20a753330c605ac59c89aa784ab89eca"></a><!-- doxytag: member="channel.hpp::swap" ref="g20a753330c605ac59c89aa784ab89eca" args="(const boost::gil::packed_channel_reference&lt; BF, FB, NB, M &gt; x, const boost::gil::packed_channel_reference&lt; BF, FB, NB, M &gt; y)" -->
template&lt;typename BF, int FB, 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_0176.html#g20a753330c605ac59c89aa784ab89eca">swap</a> (const boost::gil::packed_channel_reference&lt; BF, FB, NB, M &gt; x, const boost::gil::packed_channel_reference&lt; BF, FB, NB, M &gt; y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">swap for packed_channel_reference <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g45affd7c290ef9a24ac79edbd6f9ca7f"></a><!-- doxytag: member="channel.hpp::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="channel.hpp::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="channel.hpp::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:15 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>