blob: b0ed81e4b79b2e5564a9de89a7d968f9d5a3a585 [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: color_base.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>color_base.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
pixel class and related 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>
<p>
<code>#include &lt;cassert&gt;</code><br>
<code>#include &lt;boost/mpl/range_c.hpp&gt;</code><br>
<code>#include &lt;boost/mpl/size.hpp&gt;</code><br>
<code>#include &lt;boost/mpl/vector_c.hpp&gt;</code><br>
<code>#include &lt;boost/type_traits.hpp&gt;</code><br>
<code>#include &lt;boost/utility/enable_if.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>
<code>#include &quot;<a class="el" href="g_i_l_0091.html">gil_concept.hpp</a>&quot;</code><br>
<p>
<a href="g_i_l_0066.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 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_0499.html">homogeneous_color_base&lt; Element, Layout, 1 &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A homogeneous color base holding one color element. Models <a class="el" href="g_i_l_0296.html" title="Color base whose elements all have the same type.">HomogeneousColorBaseConcept</a> or <a class="el" href="g_i_l_0298.html" title="Homogeneous color base that also has a default constructor. Refines Regular.">HomogeneousColorBaseValueConcept</a>. <a href="g_i_l_0499.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_0501.html">homogeneous_color_base&lt; Element, Layout, 2 &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A homogeneous color base holding two color elements. Models <a class="el" href="g_i_l_0296.html" title="Color base whose elements all have the same type.">HomogeneousColorBaseConcept</a> or <a class="el" href="g_i_l_0298.html" title="Homogeneous color base that also has a default constructor. Refines Regular.">HomogeneousColorBaseValueConcept</a>. <a href="g_i_l_0501.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_0503.html">homogeneous_color_base&lt; Element, Layout, 3 &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A homogeneous color base holding three color elements. Models <a class="el" href="g_i_l_0296.html" title="Color base whose elements all have the same type.">HomogeneousColorBaseConcept</a> or <a class="el" href="g_i_l_0298.html" title="Homogeneous color base that also has a default constructor. Refines Regular.">HomogeneousColorBaseValueConcept</a>. <a href="g_i_l_0503.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_0505.html">homogeneous_color_base&lt; Element, Layout, 4 &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A homogeneous color base holding four color elements. Models <a class="el" href="g_i_l_0296.html" title="Color base whose elements all have the same type.">HomogeneousColorBaseConcept</a> or <a class="el" href="g_i_l_0298.html" title="Homogeneous color base that also has a default constructor. Refines Regular.">HomogeneousColorBaseValueConcept</a>. <a href="g_i_l_0505.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_0507.html">homogeneous_color_base&lt; Element, Layout, 5 &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A homogeneous color base holding five color elements. Models <a class="el" href="g_i_l_0296.html" title="Color base whose elements all have the same type.">HomogeneousColorBaseConcept</a> or <a class="el" href="g_i_l_0298.html" title="Homogeneous color base that also has a default constructor. Refines Regular.">HomogeneousColorBaseValueConcept</a>. <a href="g_i_l_0507.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="f2e268005ec717a8e48c708170c0c3f7"></a><!-- doxytag: member="color_base.hpp::memunit_advanced" ref="f2e268005ec717a8e48c708170c0c3f7" args="(const P *p, std::ptrdiff_t diff)" -->
template&lt;typename P&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">P *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>memunit_advanced</b> (const P *p, std::ptrdiff_t diff)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g2cdd9bfd1b27576659b8c79a3a0233de"></a><!-- doxytag: member="color_base.hpp::semantic_at_c" ref="g2cdd9bfd1b27576659b8c79a3a0233de" args="(ColorBase &amp;p)" -->
template&lt;int K, typename ColorBase&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">disable_if&lt; is_const<br>
&lt; ColorBase &gt;, typename <br>
kth_semantic_element_reference_type<br>
&lt; ColorBase, K &gt;::type &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0114.html#g2cdd9bfd1b27576659b8c79a3a0233de">semantic_at_c</a> (ColorBase &amp;p)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A mutable accessor to the K-th semantic element of a color base. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gba9e03ce04fda71e2e840c10325b8b11"></a><!-- doxytag: member="color_base.hpp::semantic_at_c" ref="gba9e03ce04fda71e2e840c10325b8b11" args="(const ColorBase &amp;p)" -->
template&lt;int K, typename ColorBase&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">kth_semantic_element_const_reference_type<br>
&lt; ColorBase, K &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0114.html#gba9e03ce04fda71e2e840c10325b8b11">semantic_at_c</a> (const ColorBase &amp;p)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A constant accessor to the K-th semantic element of a color base. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="c6984471214fd5bc1c999ba576ed33a1"></a><!-- doxytag: member="color_base.hpp::dynamic_at_c" ref="c6984471214fd5bc1c999ba576ed33a1" args="(homogeneous_color_base&lt; Element, Layout, K &gt; &amp;cb, std::size_t i)" -->
template&lt;typename Element, typename Layout, int K&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">element_reference_type<br>
&lt; homogeneous_color_base<br>
&lt; Element, Layout, K &gt; &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>dynamic_at_c</b> (homogeneous_color_base&lt; Element, Layout, K &gt; &amp;cb, std::size_t i)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="cde161ea778dffb6d3e4ebe6fb5e3be0"></a><!-- doxytag: member="color_base.hpp::dynamic_at_c" ref="cde161ea778dffb6d3e4ebe6fb5e3be0" args="(const homogeneous_color_base&lt; Element, Layout, K &gt; &amp;cb, std::size_t i)" -->
template&lt;typename Element, typename Layout, int K&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">element_const_reference_type<br>
&lt; homogeneous_color_base<br>
&lt; Element, Layout, K &gt; &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>dynamic_at_c</b> (const homogeneous_color_base&lt; Element, Layout, K &gt; &amp;cb, std::size_t i)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="41f833cee7c8fd13d9413b19827932ec"></a><!-- doxytag: member="color_base.hpp::dynamic_at_c" ref="41f833cee7c8fd13d9413b19827932ec" args="(const homogeneous_color_base&lt; Element &amp;, Layout, K &gt; &amp;cb, std::size_t i)" -->
template&lt;typename Element, typename Layout, int K&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">element_reference_type<br>
&lt; homogeneous_color_base<br>
&lt; Element &amp;, Layout, K &gt;<br>
&gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>dynamic_at_c</b> (const homogeneous_color_base&lt; Element &amp;, Layout, K &gt; &amp;cb, std::size_t i)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="e7c83163604b0ab85d8bcb4eac4d307a"></a><!-- doxytag: member="color_base.hpp::dynamic_at_c" ref="e7c83163604b0ab85d8bcb4eac4d307a" args="(const homogeneous_color_base&lt; const Element &amp;, Layout, K &gt; &amp;cb, std::size_t i)" -->
template&lt;typename Element, typename Layout, int K&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">element_const_reference_type<br>
&lt; homogeneous_color_base<br>
&lt; const Element &amp;, Layout, K &gt;<br>
&gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>dynamic_at_c</b> (const homogeneous_color_base&lt; const Element &amp;, Layout, K &gt; &amp;cb, std::size_t i)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gd16b06024270e06a4e0ba5163da7ed15"></a><!-- doxytag: member="color_base.hpp::at_c" ref="gd16b06024270e06a4e0ba5163da7ed15" args="(detail::homogeneous_color_base&lt; E, L, N &gt; &amp;p)" -->
template&lt;int K, typename E, typename L, int N&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">add_reference&lt; E &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0119.html#gd16b06024270e06a4e0ba5163da7ed15">at_c</a> (detail::homogeneous_color_base&lt; E, L, N &gt; &amp;p)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provides mutable access to the K-th element, in physical order. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gd2561249354a1bea233ff2e53491583d"></a><!-- doxytag: member="color_base.hpp::at_c" ref="gd2561249354a1bea233ff2e53491583d" args="(const detail::homogeneous_color_base&lt; E, L, N &gt; &amp;p)" -->
template&lt;int K, typename E, typename L, int N&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">add_reference&lt; typename <br>
add_const&lt; E &gt;::type &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0119.html#gd2561249354a1bea233ff2e53491583d">at_c</a> (const detail::homogeneous_color_base&lt; E, L, N &gt; &amp;p)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provides constant access to the K-th element, in physical order. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="d9f37f8a37c2782d020d6cca10e60852"></a><!-- doxytag: member="color_base.hpp::swap" ref="d9f37f8a37c2782d020d6cca10e60852" args="(detail::homogeneous_color_base&lt; E, L, N &gt; &amp;x, detail::homogeneous_color_base&lt; E, L, N &gt; &amp;y)" -->
template&lt;typename E, typename L, int N&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>swap</b> (detail::homogeneous_color_base&lt; E, L, N &gt; &amp;x, detail::homogeneous_color_base&lt; E, L, N &gt; &amp;y)</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>