<!-- 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_pixel.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>packed_pixel.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
A model of a heterogeneous pixel whose channels are bit ranges. For example 16-bit RGB in '565' format. 
<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-2009 <br>
 Last updated on February 20, 2009 </dd></dl>

<p>
<code>#include &lt;functional&gt;</code><br>
<code>#include &lt;boost/utility/enable_if.hpp&gt;</code><br>
<code>#include &lt;boost/mpl/bool.hpp&gt;</code><br>
<code>#include &lt;boost/mpl/front.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_0241.html">pixel.hpp</a>&quot;</code><br>

<p>
<a href="g_i_l_0239.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 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_0595.html">packed_pixel</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Heterogeneous <a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a> value whose channel references can be constructed from the <a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a> bitfield and their index. Models <a class="el" href="g_i_l_0276.html" title="Color base that also has a default-constructor. Refines Regular.">ColorBaseValueConcept</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_0344.html" title="Concept for all pixel-based GIL constructs, such as pixels, iterators, locators,...">PixelBasedConcept</a> Typical use for this is a model of a packed <a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a> (like 565 RGB).  <a href="g_i_l_0595.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="ac4965de0ad306a2a07f01abd9100c51"></a><!-- doxytag: member="packed_pixel.hpp::at_c" ref="ac4965de0ad306a2a07f01abd9100c51" args="(packed_pixel&lt; P, C, L &gt; &amp;p)" -->
template&lt;int K, typename P, typename C, typename L&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">kth_element_reference_type<br>
&lt; packed_pixel&lt; P, C, L &gt;, K &gt;<br>
::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>at_c</b> (packed_pixel&lt; P, C, L &gt; &amp;p)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="cb73e6b145f73e1e2a61e4fff7eb7b79"></a><!-- doxytag: member="packed_pixel.hpp::at_c" ref="cb73e6b145f73e1e2a61e4fff7eb7b79" args="(const packed_pixel&lt; P, C, L &gt; &amp;p)" -->
template&lt;int K, typename P, typename C, typename L&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">kth_element_const_reference_type<br>
&lt; packed_pixel&lt; P, C, L &gt;, K &gt;<br>
::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>at_c</b> (const packed_pixel&lt; P, C, L &gt; &amp;p)</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>
