blob: dc3cc7e00177eb5ca1c4604babc1730daf69b600 [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: ChannelConcept Struct 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_0264.html">ChannelConcept</a>
</div>
<div class="contents">
<h1>ChannelConcept Struct Template Reference<br>
<small>
[<a class="el" href="g_i_l_0098.html">Concepts</a>]</small>
</h1><!-- doxytag: class="boost::gil::ChannelConcept" --><code>#include &lt;<a class="el" href="g_i_l_0091.html">gil_concept.hpp</a>&gt;</code>
<p>
<p>
<a href="g_i_l_0263.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;typename T&gt;<br>
struct boost::gil::ChannelConcept&lt; T &gt;</h3>
A channel is the building block of a color. Color is defined as a mixture of primary colors and a channel defines the degree to which each primary color is used in the mixture.
<p>
Channel CONCEPTS For example, in the RGB color space, using 8-bit unsigned channels, the color red is defined as [255 0 0], which means maximum of Red, and no Green and Blue.<p>
Built-in scalar types, such as <code>int</code> and <code>float</code>, are valid GIL channels. In more complex scenarios, channels may be represented as bit ranges or even individual bits. In such cases special classes are needed to represent the value and reference to a channel.<p>
Channels have a traits class, <code><a class="el" href="g_i_l_0429.html" title="Traits for channels. Contains the following members:.">channel_traits</a></code>, which defines their associated types as well as their operating ranges.<p>
<div class="fragment"><pre class="fragment">concept ChannelConcept&lt;typename T&gt; : EqualityComparable&lt;T&gt; {
<span class="keyword">typename</span> value_type = T; <span class="comment">// use channel_traits&lt;T&gt;::value_type to access it</span>
<span class="keyword">typename</span> reference = T&amp;; <span class="comment">// use channel_traits&lt;T&gt;::reference to access it</span>
<span class="keyword">typename</span> pointer = T*; <span class="comment">// use channel_traits&lt;T&gt;::pointer to access it</span>
<span class="keyword">typename</span> const_reference = <span class="keyword">const</span> T&amp;; <span class="comment">// use channel_traits&lt;T&gt;::const_reference to access it</span>
<span class="keyword">typename</span> const_pointer = <span class="keyword">const</span> T*; <span class="comment">// use channel_traits&lt;T&gt;::const_pointer to access it</span>
<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_mutable; <span class="comment">// use channel_traits&lt;T&gt;::is_mutable to access it</span>
<span class="keyword">static</span> T min_value(); <span class="comment">// use channel_traits&lt;T&gt;::min_value to access it</span>
<span class="keyword">static</span> T max_value(); <span class="comment">// use channel_traits&lt;T&gt;::min_value to access it</span>
};
</pre></div> <table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0a0dbf6ca9028bbbb2240cad5882537"></a><!-- doxytag: member="boost::gil::ChannelConcept::constraints" ref="b0a0dbf6ca9028bbbb2240cad5882537" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>constraints</b> ()</td></tr>
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="169228264adc1071b8585ae0c7f390cd"></a><!-- doxytag: member="boost::gil::ChannelConcept::c" ref="169228264adc1071b8585ae0c7f390cd" args="" -->
T&nbsp;</td><td class="memItemRight" valign="bottom"><b>c</b></td></tr>
</table>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="g_i_l_0091.html">gil_concept.hpp</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 13:50:17 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>