blob: 447f8bbb6e1f83ed25c7222b253ab8b4513801a6 [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: pixel 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_0599.html">pixel</a>
</div>
<div class="contents">
<h1>pixel Struct Template Reference<br>
<small>
[<a class="el" href="g_i_l_0209.html">pixel</a>,&nbsp;<a class="el" href="g_i_l_0122.html">pixel</a>,&nbsp;<a class="el" href="g_i_l_0182.html">Models</a>]</small>
</h1><!-- doxytag: class="boost::gil::pixel" --><code>#include &lt;<a class="el" href="g_i_l_0241.html">pixel.hpp</a>&gt;</code>
<p>
<p>
<a href="g_i_l_0598.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;typename ChannelValue, typename Layout&gt;<br>
struct boost::gil::pixel&lt; ChannelValue, Layout &gt;</h3>
Represents a <a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a> value (a container of channels). Models: <a class="el" href="g_i_l_0298.html" title="Homogeneous color base that also has a default constructor. Refines Regular.">HomogeneousColorBaseValueConcept</a>, <a class="el" href="g_i_l_0356.html" title="Pixel concept that is a Regular type.">PixelValueConcept</a>, <a class="el" href="g_i_l_0300.html" title="Concept for homogeneous pixel-based GIL constructs.">HomogeneousPixelBasedConcept</a>.
<p>
A <a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a> is a set of channels defining the color at a given point in an <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a>. Conceptually, a <a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a> is little more than a color base whose elements model <code><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></code>. The class <code><a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a></code> defines a simple, homogeneous <a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a> value. It is used to store the value of a color. The built-in C++ references to <code><a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a></code>, <code><a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a>&amp;</code> and <code>const</code> <code><a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a>&amp;</code> are used to represent a reference to a <a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a> inside an interleaved <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> view (a view in which all channels are together in memory). Similarly, built-in pointer types <code>pixel*</code> and <code>const</code> <code>pixel*</code> are used as the standard iterator over a row of interleaved homogeneous pixels.<p>
Since <code><a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a></code> inherits the properties of color base, assigning, equality comparison and copy-construcion are allowed between compatible pixels. This means that an 8-bit RGB <a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a> may be assigned to an 8-bit BGR <a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a>, or to an 8-bit planar reference. The channels are properly paired semantically.<p>
The single-channel (grayscale) instantiation of the class <a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a>, (i.e. <code>pixel&lt;T,gray_layout_t&gt;</code>) is also convertible to/from a channel value. This allows grayscale pixels to be used in simpler expressions like *gray_pix1 = *gray_pix2 instead of more complicated at_c&lt;0&gt;(gray_pix1) = at_c&lt;0&gt;(gray_pix2) or get_color&lt;gray_color_t&gt;(gray_pix1) = get_color&lt;gray_color_t&gt;(gray_pix2) <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="991c5469a9489e9c204bbbdfca11d14d"></a><!-- doxytag: member="boost::gil::pixel::value_type" ref="991c5469a9489e9c204bbbdfca11d14d" args="" -->
typedef <a class="el" href="g_i_l_0599.html">pixel</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="be8933d436779a43cb5c1896ff5f2918"></a><!-- doxytag: member="boost::gil::pixel::reference" ref="be8933d436779a43cb5c1896ff5f2918" args="" -->
typedef <a class="el" href="g_i_l_0599.html">value_type</a> &amp;&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="fdb67657e63a66ed3fae7b0c9fd81b48"></a><!-- doxytag: member="boost::gil::pixel::const_reference" ref="fdb67657e63a66ed3fae7b0c9fd81b48" args="" -->
typedef const <a class="el" href="g_i_l_0599.html">value_type</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_reference</b></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="d6e6575c49a3008e0b845426bcd27578"></a><!-- doxytag: member="boost::gil::pixel::BOOST_STATIC_CONSTANT" ref="d6e6575c49a3008e0b845426bcd27578" args="(bool, is_mutable=channel_traits&lt; channel_t &gt;::is_mutable)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>BOOST_STATIC_CONSTANT</b> (bool, is_mutable=<a class="el" href="g_i_l_0429.html">channel_traits</a>&lt; channel_t &gt;::is_mutable)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39970d76708fe02233e30494f8bfcc08"></a><!-- doxytag: member="boost::gil::pixel::pixel" ref="39970d76708fe02233e30494f8bfcc08" args="(channel_t v)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>pixel</b> (channel_t v)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c8fc3a7aa3c2eb33c5647adba7154a10"></a><!-- doxytag: member="boost::gil::pixel::pixel" ref="c8fc3a7aa3c2eb33c5647adba7154a10" args="(channel_t v0, channel_t v1)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>pixel</b> (channel_t v0, channel_t v1)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8de9c605ecf5e105d983af12e4753a02"></a><!-- doxytag: member="boost::gil::pixel::pixel" ref="8de9c605ecf5e105d983af12e4753a02" args="(channel_t v0, channel_t v1, channel_t v2)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>pixel</b> (channel_t v0, channel_t v1, channel_t v2)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1ebaaeee8a7a4befe3fbcc208c08d51c"></a><!-- doxytag: member="boost::gil::pixel::pixel" ref="1ebaaeee8a7a4befe3fbcc208c08d51c" args="(channel_t v0, channel_t v1, channel_t v2, channel_t v3)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>pixel</b> (channel_t v0, channel_t v1, channel_t v2, channel_t v3)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="91df320aa55ea9139d70ebe7ace80c14"></a><!-- doxytag: member="boost::gil::pixel::pixel" ref="91df320aa55ea9139d70ebe7ace80c14" args="(channel_t v0, channel_t v1, channel_t v2, channel_t v3, channel_t v4)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>pixel</b> (channel_t v0, channel_t v1, channel_t v2, channel_t v3, channel_t v4)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aed63e339592d8e9cfd284c62fcee905"></a><!-- doxytag: member="boost::gil::pixel::pixel" ref="aed63e339592d8e9cfd284c62fcee905" args="(channel_t v0, channel_t v1, channel_t v2, channel_t v3, channel_t v4, channel_t v5)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>pixel</b> (channel_t v0, channel_t v1, channel_t v2, channel_t v3, channel_t v4, channel_t v5)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3539e565edb5b6575daba03680ff5015"></a><!-- doxytag: member="boost::gil::pixel::pixel" ref="3539e565edb5b6575daba03680ff5015" args="(const pixel &amp;p)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>pixel</b> (const <a class="el" href="g_i_l_0599.html">pixel</a> &amp;p)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aa2847e638313bb5400af18c5a6c24e6"></a><!-- doxytag: member="boost::gil::pixel::operator=" ref="aa2847e638313bb5400af18c5a6c24e6" args="(const pixel &amp;p)" -->
<a class="el" href="g_i_l_0599.html">pixel</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="g_i_l_0599.html">pixel</a> &amp;p)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="670f26e747b82d9d3772883f09b2312a"></a><!-- doxytag: member="boost::gil::pixel::pixel" ref="670f26e747b82d9d3772883f09b2312a" args="(const Pixel &amp;p, typename enable_if_c&lt; is_pixel&lt; Pixel &gt;::value &gt;::type *dummy=0)" -->
template&lt;typename Pixel&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>pixel</b> (const Pixel &amp;p, typename enable_if_c&lt; is_pixel&lt; Pixel &gt;::value &gt;::type *dummy=0)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="e15d671377c538ebabe969422a7cfb92"></a><!-- doxytag: member="boost::gil::pixel::operator=" ref="e15d671377c538ebabe969422a7cfb92" args="(const P &amp;p)" -->
template&lt;typename P&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="g_i_l_0599.html">pixel</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (const P &amp;p)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="9c8a7702432bad6596491569609182aa"></a><!-- doxytag: member="boost::gil::pixel::operator==" ref="9c8a7702432bad6596491569609182aa" args="(const P &amp;p) const " -->
template&lt;typename P&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const P &amp;p) const </td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="d423c41799a9bb0cd5dcc28c16935a42"></a><!-- doxytag: member="boost::gil::pixel::operator!=" ref="d423c41799a9bb0cd5dcc28c16935a42" args="(const P &amp;p) const " -->
template&lt;typename P&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const P &amp;p) const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0d5a816a18cd4779d89c9f8afac47c4"></a><!-- doxytag: member="boost::gil::pixel::operator[]" ref="b0d5a816a18cd4779d89c9f8afac47c4" args="(std::size_t i)" -->
<a class="el" href="g_i_l_0429.html">channel_traits</a>&lt; channel_t &gt;<br>
::<a class="el" href="g_i_l_0599.html">reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (std::size_t i)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ab78490d6874a0ff45e23ccafb98f6f"></a><!-- doxytag: member="boost::gil::pixel::operator[]" ref="9ab78490d6874a0ff45e23ccafb98f6f" args="(std::size_t i) const " -->
<a class="el" href="g_i_l_0429.html">channel_traits</a>&lt; channel_t &gt;<br>
::<a class="el" href="g_i_l_0599.html">const_reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (std::size_t i) const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a756430767fc3449e130ccb898570dfa"></a><!-- doxytag: member="boost::gil::pixel::operator=" ref="a756430767fc3449e130ccb898570dfa" args="(channel_t chan)" -->
<a class="el" href="g_i_l_0599.html">pixel</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (channel_t chan)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b873112c42a94cc3c75a816513f776b0"></a><!-- doxytag: member="boost::gil::pixel::operator==" ref="b873112c42a94cc3c75a816513f776b0" args="(channel_t chan) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (channel_t chan) const </td></tr>
</table>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="g_i_l_0241.html">pixel.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>