<!-- 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: File Index</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="contents">
<h1>File List</h1>Here is a list of all documented files with brief descriptions:<table>
  <tr><td class="indexkey"><a class="el" href="algorithm_8hpp.html">algorithm.hpp</a> <a href="g_i_l_0001.html">[code]</a></td><td class="indexvalue">Some basic STL-style algorithms when applied to image views </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0087.html">extension/dynamic_image/algorithm.hpp</a> <a href="g_i_l_0086.html">[code]</a></td><td class="indexvalue">Some basic STL-style algorithms when applied to runtime type specified image views </td></tr>
  <tr><td class="indexkey"><a class="el" href="any__image_8hpp.html">any_image.hpp</a> <a href="g_i_l_0002.html">[code]</a></td><td class="indexvalue">Support for run-time instantiated images and image views </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0004.html">any_image_view.hpp</a> <a href="g_i_l_0003.html">[code]</a></td><td class="indexvalue">Support for run-time instantiated image view </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0006.html">apply_operation.hpp</a> <a href="g_i_l_0005.html">[code]</a></td><td class="indexvalue">Implements apply_operation for variants. Optionally performs type reduction </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0008.html">apply_operation_base.hpp</a> <a href="g_i_l_0007.html">[code]</a></td><td class="indexvalue">Given an object with run-time specified type (denoted as an array of Bits, dynamic index, and a static set of Types) and a generic operation, casts the object to its appropriate type and applies the operation </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0011.html">bit_aligned_pixel_iterator.hpp</a> <a href="g_i_l_0010.html">[code]</a></td><td class="indexvalue">A model of a heterogeneous pixel that is not byte aligned. Examples are bitmap (1-bit pixels) or 6-bit RGB (222) </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0013.html">bit_aligned_pixel_reference.hpp</a> <a href="g_i_l_0012.html">[code]</a></td><td class="indexvalue">A model of a heterogeneous pixel that is not byte aligned. Examples are bitmap (1-bit pixels) or 6-bit RGB (222) </td></tr>
  <tr><td class="indexkey"><a class="el" href="channel_8hpp.html">channel.hpp</a> <a href="g_i_l_0014.html">[code]</a></td><td class="indexvalue">Channel utilities </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0016.html">channel_algorithm.hpp</a> <a href="g_i_l_0015.html">[code]</a></td><td class="indexvalue">Channel algorithms </td></tr>
  <tr><td class="indexkey"><a class="el" href="cmyk_8hpp.html">cmyk.hpp</a> <a href="g_i_l_0065.html">[code]</a></td><td class="indexvalue">Support for CMYK color space and variants </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0067.html">color_base.hpp</a> <a href="g_i_l_0066.html">[code]</a></td><td class="indexvalue">Pixel class and related utilities </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0069.html">color_base_algorithm.hpp</a> <a href="g_i_l_0068.html">[code]</a></td><td class="indexvalue">Pixel related algorithms </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0071.html">color_convert.hpp</a> <a href="g_i_l_0070.html">[code]</a></td><td class="indexvalue">GIL default color space conversions </td></tr>
  <tr><td class="indexkey"><a class="el" href="deprecated_8hpp.html">deprecated.hpp</a> <a href="g_i_l_0072.html">[code]</a></td><td class="indexvalue">Deprecated names This file is provided as a courtesy to ease upgrading GIL client code. Please make sure your code compiles when this file is not included </td></tr>
  <tr><td class="indexkey"><a class="el" href="device__n_8hpp.html">device_n.hpp</a> <a href="g_i_l_0074.html">[code]</a></td><td class="indexvalue">Support for color space of N channels and variants </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0081.html">dynamic_at_c.hpp</a> <a href="g_i_l_0080.html">[code]</a></td><td class="indexvalue">Constructs for static-to-dynamic integer convesion </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0083.html">dynamic_image_all.hpp</a> <a href="g_i_l_0082.html">[code]</a></td><td class="indexvalue">Includes all of the GIL dynamic image extension files, for convenience </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0085.html">dynamic_io.hpp</a> <a href="g_i_l_0084.html">[code]</a></td><td class="indexvalue">Generic io functions for dealing with dynamic images </td></tr>
  <tr><td class="indexkey"><a class="el" href="gil__all_8hpp.html">gil_all.hpp</a> <a href="g_i_l_0090.html">[code]</a></td><td class="indexvalue">Includes all GIL files for convenience </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0092.html">gil_concept.hpp</a> <a href="g_i_l_0091.html">[code]</a></td><td class="indexvalue">Concept check classes for GIL concepts </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0094.html">gil_config.hpp</a> <a href="g_i_l_0093.html">[code]</a></td><td class="indexvalue">GIL configuration file </td></tr>
  <tr><td class="indexkey"><a class="el" href="gray_8hpp.html">gray.hpp</a> <a href="g_i_l_0095.html">[code]</a></td><td class="indexvalue">Support for grayscale color space and variants </td></tr>
  <tr><td class="indexkey"><a class="el" href="image_8hpp.html">image.hpp</a> <a href="g_i_l_0223.html">[code]</a></td><td class="indexvalue">Templated image </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0225.html">image_view.hpp</a> <a href="g_i_l_0224.html">[code]</a></td><td class="indexvalue">Image view class </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0227.html">image_view_factory.hpp</a> <a href="g_i_l_0226.html">[code]</a></td><td class="indexvalue">Methods for constructing image views from raw data or other image views / </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0089.html">extension/dynamic_image/image_view_factory.hpp</a> <a href="g_i_l_0088.html">[code]</a></td><td class="indexvalue">Methods for constructing any image views from other any image views / </td></tr>
  <tr><td class="indexkey"><a class="el" href="io__error_8hpp.html">io_error.hpp</a> <a href="g_i_l_0228.html">[code]</a></td><td class="indexvalue">Handle input-output errors </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0230.html">iterator_from_2d.hpp</a> <a href="g_i_l_0229.html">[code]</a></td><td class="indexvalue">Pixel step iterator, pixel image iterator and pixel dereference iterator </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0232.html">jpeg_dynamic_io.hpp</a> <a href="g_i_l_0231.html">[code]</a></td><td class="indexvalue">Support for reading and writing JPEG files Requires libjpeg </td></tr>
  <tr><td class="indexkey"><a class="el" href="jpeg__io_8hpp.html">jpeg_io.hpp</a> <a href="g_i_l_0233.html">[code]</a></td><td class="indexvalue">Support for reading and writing JPEG files Requires libjpeg </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0235.html">jpeg_io_private.hpp</a> <a href="g_i_l_0234.html">[code]</a></td><td class="indexvalue">Internal support for reading and writing JPEG files </td></tr>
  <tr><td class="indexkey"><a class="el" href="locator_8hpp.html">locator.hpp</a> <a href="g_i_l_0236.html">[code]</a></td><td class="indexvalue">Pixel 2D locator </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0238.html">metafunctions.hpp</a> <a href="g_i_l_0237.html">[code]</a></td><td class="indexvalue">Metafunctions that construct types or return type properties </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0240.html">packed_pixel.hpp</a> <a href="g_i_l_0239.html">[code]</a></td><td class="indexvalue">A model of a heterogeneous pixel whose channels are bit ranges. For example 16-bit RGB in '565' format </td></tr>
  <tr><td class="indexkey"><a class="el" href="pixel_8hpp.html">pixel.hpp</a> <a href="g_i_l_0241.html">[code]</a></td><td class="indexvalue">Pixel class and related utilities </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0243.html">pixel_iterator.hpp</a> <a href="g_i_l_0242.html">[code]</a></td><td class="indexvalue">Pixel iterator support </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0245.html">pixel_iterator_adaptor.hpp</a> <a href="g_i_l_0244.html">[code]</a></td><td class="indexvalue">Pixel step iterator, pixel image iterator and pixel dereference iterator </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0247.html">planar_pixel_iterator.hpp</a> <a href="g_i_l_0246.html">[code]</a></td><td class="indexvalue">Planar pixel pointer class </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0249.html">planar_pixel_reference.hpp</a> <a href="g_i_l_0248.html">[code]</a></td><td class="indexvalue">Planar pixel reference class </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0251.html">png_dynamic_io.hpp</a> <a href="g_i_l_0250.html">[code]</a></td><td class="indexvalue">Support for reading and writing PNG files Requires libpng and zlib! </td></tr>
  <tr><td class="indexkey"><a class="el" href="png__io_8hpp.html">png_io.hpp</a> <a href="g_i_l_0252.html">[code]</a></td><td class="indexvalue">Support for reading and writing PNG files Requires libpng and zlib! </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0254.html">png_io_private.hpp</a> <a href="g_i_l_0253.html">[code]</a></td><td class="indexvalue">Internal support for reading and writing PNG files </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0256.html">position_iterator.hpp</a> <a href="g_i_l_0255.html">[code]</a></td><td class="indexvalue">Locator for virtual image views </td></tr>
  <tr><td class="indexkey"><a class="el" href="reduce_8hpp.html">reduce.hpp</a> <a href="g_i_l_0257.html">[code]</a></td><td class="indexvalue">Constructs for static-to-dynamic integer convesion </td></tr>
  <tr><td class="indexkey"><a class="el" href="rgb_8hpp.html">rgb.hpp</a> <a href="rgb_8hpp-source.html">[code]</a></td><td class="indexvalue">Support for RGB color space and variants </td></tr>
  <tr><td class="indexkey"><a class="el" href="rgba_8hpp.html">rgba.hpp</a> <a href="g_i_l_0258.html">[code]</a></td><td class="indexvalue">Support for RGBA color space and variants </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0260.html">step_iterator.hpp</a> <a href="g_i_l_0259.html">[code]</a></td><td class="indexvalue">Pixel step iterator </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0639.html">tiff_dynamic_io.hpp</a> <a href="g_i_l_0638.html">[code]</a></td><td class="indexvalue">Support for reading and writing TIFF files Requires libtiff! </td></tr>
  <tr><td class="indexkey"><a class="el" href="tiff__io_8hpp.html">tiff_io.hpp</a> <a href="g_i_l_0640.html">[code]</a></td><td class="indexvalue">Support for reading and writing TIFF files Requires libtiff! </td></tr>
  <tr><td class="indexkey"><a class="el" href="typedefs_8hpp.html">typedefs.hpp</a> <a href="g_i_l_0641.html">[code]</a></td><td class="indexvalue">Useful typedefs </td></tr>
  <tr><td class="indexkey"><a class="el" href="utilities_8hpp.html">utilities.hpp</a> <a href="g_i_l_0642.html">[code]</a></td><td class="indexvalue">Various utilities not specific to the image library. Some are non-standard STL extensions or generic iterator adaptors </td></tr>
  <tr><td class="indexkey"><a class="el" href="variant_8hpp.html">variant.hpp</a> <a href="g_i_l_0643.html">[code]</a></td><td class="indexvalue">Support for run-time instantiated types </td></tr>
  <tr><td class="indexkey"><a class="el" href="g_i_l_0645.html">virtual_locator.hpp</a> <a href="g_i_l_0644.html">[code]</a></td><td class="indexvalue">Locator for virtual image views </td></tr>
</table>
</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>
