<!-- 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: png_write_support 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_0615.html">png_write_support</a>
  </div>
<div class="contents">
<h1>png_write_support Struct Template Reference<br>
<small>
[<a class="el" href="g_i_l_0174.html">PNG I/O</a>]</small>
</h1><!-- doxytag: class="boost::gil::png_write_support" --><code>#include &lt;<a class="el" href="g_i_l_0252.html">png_io.hpp</a>&gt;</code>
<p>

<p>
<a href="g_i_l_0614.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;typename View&gt;<br>
 struct boost::gil::png_write_support&lt; View &gt;</h3>

Determines whether the given view type is supported for writing. <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="7fe7d4d4d02d7575457d353195622d06"></a><!-- doxytag: member="boost::gil::png_write_support::BOOST_STATIC_CONSTANT" ref="7fe7d4d4d02d7575457d353195622d06" args="(bool, is_supported=(detail::png_write_support_private&lt; typename channel_type&lt; View &gt;::type, typename color_space_type&lt; View &gt;::type &gt;::is_supported))" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>BOOST_STATIC_CONSTANT</b> (bool, is_supported=(detail::png_write_support_private&lt; typename channel_type&lt; View &gt;::type, typename color_space_type&lt; View &gt;::type &gt;::is_supported))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e840e9787ce5cd5e870de289ce85eca6"></a><!-- doxytag: member="boost::gil::png_write_support::BOOST_STATIC_CONSTANT" ref="e840e9787ce5cd5e870de289ce85eca6" args="(int, bit_depth=(detail::png_write_support_private&lt; typename channel_type&lt; View &gt;::type, typename color_space_type&lt; View &gt;::type &gt;::bit_depth))" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>BOOST_STATIC_CONSTANT</b> (int, bit_depth=(detail::png_write_support_private&lt; typename channel_type&lt; View &gt;::type, typename color_space_type&lt; View &gt;::type &gt;::bit_depth))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e9f9a0e6dd77fac3b18ae43dec03d1a7"></a><!-- doxytag: member="boost::gil::png_write_support::BOOST_STATIC_CONSTANT" ref="e9f9a0e6dd77fac3b18ae43dec03d1a7" args="(int, color_type=(detail::png_write_support_private&lt; typename channel_type&lt; View &gt;::type, typename color_space_type&lt; View &gt;::type &gt;::color_type))" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>BOOST_STATIC_CONSTANT</b> (int, color_type=(detail::png_write_support_private&lt; typename channel_type&lt; View &gt;::type, typename color_space_type&lt; View &gt;::type &gt;::color_type))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="987c7a24c4e5f578129480e6461cfc50"></a><!-- doxytag: member="boost::gil::png_write_support::BOOST_STATIC_CONSTANT" ref="987c7a24c4e5f578129480e6461cfc50" args="(bool, value=is_supported)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>BOOST_STATIC_CONSTANT</b> (bool, value=is_supported)</td></tr>

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