<!-- 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: homogeneous_color_base&lt; Element, Layout, 1 &gt; 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>::<b>detail</b>::<a class="el" href="g_i_l_0499.html">homogeneous_color_base&lt; Element, Layout, 1 &gt;</a>
  </div>
<div class="contents">
<h1>homogeneous_color_base&lt; Element, Layout, 1 &gt; Struct Template Reference<br>
<small>
[<a class="el" href="g_i_l_0119.html">detail::homogeneous_color_base</a>]</small>
</h1><!-- doxytag: class="boost::gil::detail::homogeneous_color_base&lt; Element, Layout, 1 &gt;" --><code>#include &lt;<a class="el" href="g_i_l_0066.html">color_base.hpp</a>&gt;</code>
<p>

<p>
<a href="g_i_l_0498.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;typename Element, typename Layout&gt;<br>
 struct boost::gil::detail::homogeneous_color_base&lt; Element, Layout, 1 &gt;</h3>

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>. <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="9bf611797579dcbe2e6dd308a54660d1"></a><!-- doxytag: member="boost::gil::detail::homogeneous_color_base&lt; Element, Layout, 1 &gt;::layout_t" ref="9bf611797579dcbe2e6dd308a54660d1" args="" -->
typedef Layout&nbsp;</td><td class="memItemRight" valign="bottom"><b>layout_t</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="301baee8e2e7ca9d3b12e949b4a5b7dc"></a><!-- doxytag: member="boost::gil::detail::homogeneous_color_base&lt; Element, Layout, 1 &gt;::at" ref="301baee8e2e7ca9d3b12e949b4a5b7dc" args="(mpl::int_&lt; 0 &gt;)" -->
<a class="el" href="g_i_l_0534.html">element_reference_type</a><br>
&lt; homogeneous_color_base &gt;<br>
::type&nbsp;</td><td class="memItemRight" valign="bottom"><b>at</b> (mpl::int_&lt; 0 &gt;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af0868d3e1dfff0570ce122cefdeb7d5"></a><!-- doxytag: member="boost::gil::detail::homogeneous_color_base&lt; Element, Layout, 1 &gt;::at" ref="af0868d3e1dfff0570ce122cefdeb7d5" args="(mpl::int_&lt; 0 &gt;) const " -->
<a class="el" href="g_i_l_0533.html">element_const_reference_type</a><br>
&lt; homogeneous_color_base &gt;<br>
::type&nbsp;</td><td class="memItemRight" valign="bottom"><b>at</b> (mpl::int_&lt; 0 &gt;) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b7da838d7dd596a9e394aa2af33a4cd1"></a><!-- doxytag: member="boost::gil::detail::homogeneous_color_base&lt; Element, Layout, 1 &gt;::homogeneous_color_base" ref="b7da838d7dd596a9e394aa2af33a4cd1" args="(Element v)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>homogeneous_color_base</b> (Element v)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="601be74cfd73d54e692d4ffae8d03379"></a><!-- doxytag: member="boost::gil::detail::homogeneous_color_base&lt; Element, Layout, 1 &gt;::operator Element" ref="601be74cfd73d54e692d4ffae8d03379" args="() const " -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator Element</b> () const </td></tr>

<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="9d06f6ee3fc2564275a7bb8d4aa10408"></a><!-- doxytag: member="boost::gil::detail::homogeneous_color_base&lt; Element, Layout, 1 &gt;::homogeneous_color_base" ref="9d06f6ee3fc2564275a7bb8d4aa10408" args="(const homogeneous_color_base&lt; E2, L2, 1 &gt; &amp;c)" -->
template&lt;typename E2, typename L2&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>homogeneous_color_base</b> (const homogeneous_color_base&lt; E2, L2, 1 &gt; &amp;c)</td></tr>

</table>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="g_i_l_0066.html">color_base.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>
