2
0
mirror of https://github.com/boostorg/gil.git synced 2026-02-02 21:02:13 +00:00
Files
gil/doc/html/algorithm_8hpp.html
2007-11-25 18:38:02 +00:00

295 lines
34 KiB
HTML
Executable File

<!--
Copyright 2005-2007 Adobe Systems Incorporated
Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
or a copy at http://opensource.adobe.com/licenses.html)
Some files are held under additional license.
Please see "http://opensource.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 : algorithm.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"/>
<LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
</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="globals.html">File Members</a>
| <a class="qindex" href="../index.html">GIL Home Page</a>
</div>
<!-- End Header -->
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">gil</a></div>
<h1>algorithm.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
Some basic STL-style algorithms when applied to image views.
<p>
<dl compact><dt><b>Author:</b></dt><dd>Lubomir Bourdev and Hailin Jin <br>
Adobe Systems Incorporated </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>2005-2007 <br>
Last updated on May 6, 2007</dd></dl>
<p>
<code>#include &lt;cassert&gt;</code><br>
<code>#include &lt;cstddef&gt;</code><br>
<code>#include &lt;algorithm&gt;</code><br>
<code>#include &lt;iterator&gt;</code><br>
<code>#include &lt;memory&gt;</code><br>
<code>#include &quot;<a class="el" href="g_i_l_0088.html">gil_config.hpp</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="g_i_l_0086.html">gil_concept.hpp</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="g_i_l_0068.html">color_base_algorithm.hpp</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="g_i_l_0219.html">image_view.hpp</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="g_i_l_0221.html">image_view_factory.hpp</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="g_i_l_0010.html">bit_aligned_pixel_iterator.hpp</a>&quot;</code><br>
<p>
<a href="g_i_l_0001.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 class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>std</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::detail</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_0382.html">binary_operation_obj</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic binary operation on views<p>
Use this class as a convenience superclass when defining an operation for any image views. Many operations have different behavior when the two views are compatible. This class checks for compatibility and invokes apply_compatible(V1,V2) or apply_incompatible(V1,V2) of the subclass. You must provide apply_compatible(V1,V2) method in your subclass, but apply_incompatible(V1,V2) is not required and the default throws std::bad_cast. <a href="g_i_l_0382.html#_details">More...</a><br></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_0473.html">copier_n</a></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_0477.html">copier_n&lt; iterator_from_2d&lt; IL &gt;, O &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Source range is delimited by image iterators. <a href="g_i_l_0477.html#_details">More...</a><br></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_0475.html">copier_n&lt; I, iterator_from_2d&lt; OL &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destination range is delimited by image iterators. <a href="g_i_l_0475.html#_details">More...</a><br></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_0479.html">copier_n&lt; iterator_from_2d&lt; IL &gt;, iterator_from_2d&lt; OL &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Both source and destination ranges are delimited by image iterators. <a href="g_i_l_0479.html#_details">More...</a><br></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_0515.html">std_fill_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">struct to do <a class="el" href="g_i_l_0209.html#ga4">std::fill</a> <a href="g_i_l_0515.html#_details">More...</a><br></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_0489.html">equal_n_fn&lt; const pixel&lt; T, Cs &gt; *, const pixel&lt; T, Cs &gt; * &gt;</a></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_0491.html">equal_n_fn&lt; planar_pixel_iterator&lt; IC, Cs &gt;, planar_pixel_iterator&lt; IC, Cs &gt; &gt;</a></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_0487.html">equal_n_fn&lt; boost::gil::iterator_from_2d&lt; Loc &gt;, I2 &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Source range is delimited by image iterators. <a href="g_i_l_0487.html#_details">More...</a><br></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_0483.html">equal_n_fn&lt; I1, boost::gil::iterator_from_2d&lt; Loc &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destination range is delimited by image iterators. <a href="g_i_l_0483.html#_details">More...</a><br></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_0485.html">equal_n_fn&lt; boost::gil::iterator_from_2d&lt; Loc1 &gt;, boost::gil::iterator_from_2d&lt; Loc2 &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Both source and destination ranges are delimited by image iterators. <a href="g_i_l_0485.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="ga0"></a><!-- doxytag: member="algorithm.hpp::copy" ref="ga0" args="(boost::gil::pixel&lt; T, Cs &gt; *first, boost::gil::pixel&lt; T, Cs &gt; *last, boost::gil::pixel&lt; T, Cs &gt; *dst)" -->
template&lt;typename T, typename Cs&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE <a class="el" href="g_i_l_0593.html">boost::gil::pixel</a>&lt;<br>
T, Cs &gt; *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0209.html#ga0">std::copy</a> (<a class="el" href="g_i_l_0593.html">boost::gil::pixel</a>&lt; T, Cs &gt; *first, <a class="el" href="g_i_l_0593.html">boost::gil::pixel</a>&lt; T, Cs &gt; *last, <a class="el" href="g_i_l_0593.html">boost::gil::pixel</a>&lt; T, Cs &gt; *dst)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy when both src and dst are interleaved and of the same type can be just memmove. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga1"></a><!-- doxytag: member="algorithm.hpp::copy" ref="ga1" args="(const boost::gil::pixel&lt; T, Cs &gt; *first, const boost::gil::pixel&lt; T, Cs &gt; *last, boost::gil::pixel&lt; T, Cs &gt; *dst)" -->
template&lt;typename T, typename Cs&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE <a class="el" href="g_i_l_0593.html">boost::gil::pixel</a>&lt;<br>
T, Cs &gt; *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0209.html#ga1">std::copy</a> (const <a class="el" href="g_i_l_0593.html">boost::gil::pixel</a>&lt; T, Cs &gt; *first, const <a class="el" href="g_i_l_0593.html">boost::gil::pixel</a>&lt; T, Cs &gt; *last, <a class="el" href="g_i_l_0593.html">boost::gil::pixel</a>&lt; T, Cs &gt; *dst)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy when both src and dst are interleaved and of the same type can be just memmove. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga2"></a><!-- doxytag: member="algorithm.hpp::copy" ref="ga2" args="(boost::gil::planar_pixel_iterator&lt; IC1, Cs &gt; first, boost::gil::planar_pixel_iterator&lt; IC1, Cs &gt; last, boost::gil::planar_pixel_iterator&lt; IC2, Cs &gt; dst)" -->
template&lt;typename Cs, typename IC1, typename IC2&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE <a class="el" href="g_i_l_0603.html">boost::gil::planar_pixel_iterator</a>&lt;<br>
IC2, Cs &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0209.html#ga2">std::copy</a> (<a class="el" href="g_i_l_0603.html">boost::gil::planar_pixel_iterator</a>&lt; IC1, Cs &gt; first, <a class="el" href="g_i_l_0603.html">boost::gil::planar_pixel_iterator</a>&lt; IC1, Cs &gt; last, <a class="el" href="g_i_l_0603.html">boost::gil::planar_pixel_iterator</a>&lt; IC2, Cs &gt; dst)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy when both src and dst are planar pointers is copy for each channel. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a1"></a><!-- doxytag: member="algorithm.hpp::copy_with_2d_iterators" ref="a1" args="(SrcIterator first, SrcIterator last, DstIterator dst)" -->
template&lt;typename SrcIterator, typename DstIterator&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE DstIterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::detail::copy_with_2d_iterators</b> (SrcIterator first, SrcIterator last, DstIterator dst)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga3"></a><!-- doxytag: member="algorithm.hpp::copy1" ref="ga3" args="(boost::gil::iterator_from_2d&lt; IL &gt; first, boost::gil::iterator_from_2d&lt; IL &gt; last, boost::gil::iterator_from_2d&lt; OL &gt; dst)" -->
template&lt;typename IL, typename OL&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE <a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt;<br>
OL &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0209.html#ga3">std::copy1</a> (<a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt; IL &gt; first, <a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt; IL &gt; last, <a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt; OL &gt; dst)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::copy(I1,I1,I2) with I1 and I2 being a iterator_from_2d <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::copy_pixels" ref="ga0" args="(const View1 &amp;src, const View2 &amp;dst)" -->
template&lt;typename View1, typename View2&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0140.html#ga0">boost::gil::copy_pixels</a> (const View1 &amp;src, const View2 &amp;dst)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="g_i_l_0209.html#ga2">std::copy</a> for image views <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::copy_and_convert_pixels" ref="ga0" args="(const V1 &amp;src, const V2 &amp;dst, CC cc)" -->
template&lt;typename V1, typename V2, typename CC&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::copy_and_convert_pixels</b> (const V1 &amp;src, const V2 &amp;dst, CC cc)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga1"></a><!-- doxytag: member="algorithm.hpp::copy_and_convert_pixels" ref="ga1" args="(const View1 &amp;src, const View2 &amp;dst)" -->
template&lt;typename View1, typename View2&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::copy_and_convert_pixels</b> (const View1 &amp;src, const View2 &amp;dst)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename IL, typename V&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0209.html#ga4">std::fill</a> (<a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt; IL &gt; first, <a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt; IL &gt; last, const V &amp;val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::fill(I,I,V) with I being a iterator_from_2d <a href="g_i_l_0209.html#ga4"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a2"></a><!-- doxytag: member="algorithm.hpp::fill_aux" ref="a2" args="(It first, It last, const P &amp;p, mpl::true_)" -->
template&lt;typename It, typename P&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a2">boost::gil::detail::fill_aux</a> (It first, It last, const P &amp;p, mpl::true_)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="g_i_l_0209.html#ga4">std::fill</a> for planar iterators <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a3"></a><!-- doxytag: member="algorithm.hpp::fill_aux" ref="a3" args="(It first, It last, const P &amp;p, mpl::false_)" -->
template&lt;typename It, typename P&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a3">boost::gil::detail::fill_aux</a> (It first, It last, const P &amp;p, mpl::false_)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="g_i_l_0209.html#ga4">std::fill</a> for interleaved iterators <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::fill_pixels" ref="ga0" args="(const View &amp;img_view, const Value &amp;val)" -->
template&lt;typename View, typename Value&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0144.html#ga0">boost::gil::fill_pixels</a> (const View &amp;img_view, const Value &amp;val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="g_i_l_0209.html#ga4">std::fill</a> for image views <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a4"></a><!-- doxytag: member="algorithm.hpp::destruct_range_impl" ref="a4" args="(It first, It last, mpl::true_)" -->
template&lt;typename It&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::detail::destruct_range_impl</b> (It first, It last, mpl::true_)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a5"></a><!-- doxytag: member="algorithm.hpp::destruct_range_impl" ref="a5" args="(It first, It last, mpl::false_)" -->
template&lt;typename It&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::detail::destruct_range_impl</b> (It first, It last, mpl::false_)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a6"></a><!-- doxytag: member="algorithm.hpp::destruct_range" ref="a6" args="(It first, It last)" -->
template&lt;typename It&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::detail::destruct_range</b> (It first, It last)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a7"></a><!-- doxytag: member="algorithm.hpp::destruct_aux" ref="a7" args="(It first, It last, mpl::true_)" -->
template&lt;typename It&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a7">boost::gil::detail::destruct_aux</a> (It first, It last, mpl::true_)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">destruct for planar iterators <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a8"></a><!-- doxytag: member="algorithm.hpp::destruct_aux" ref="a8" args="(It first, It last, mpl::false_)" -->
template&lt;typename It&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a8">boost::gil::detail::destruct_aux</a> (It first, It last, mpl::false_)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">destruct for interleaved iterators <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::destruct_pixels" ref="ga0" args="(const View &amp;img_view)" -->
template&lt;typename View&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0142.html#ga0">boost::gil::destruct_pixels</a> (const View &amp;img_view)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invokes the in-place destructor on every pixel of the view. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename It, typename P&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a9">boost::gil::detail::uninitialized_fill_aux</a> (It first, It last, const P &amp;p, mpl::true_)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename It, typename P&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a10">boost::gil::detail::uninitialized_fill_aux</a> (It first, It last, const P &amp;p, mpl::false_)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::uninitialized_fill_pixels" ref="ga0" args="(const View &amp;img_view, const Value &amp;val)" -->
template&lt;typename View, typename Value&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0151.html#ga0">boost::gil::uninitialized_fill_pixels</a> (const View &amp;img_view, const Value &amp;val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::uninitialized_fill for image views. Does not support planar heterogeneous views. If an exception is thrown destructs any in-place copy-constructed pixels <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a11"></a><!-- doxytag: member="algorithm.hpp::default_construct_range_impl" ref="a11" args="(It first, It last, mpl::true_)" -->
template&lt;typename It&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::detail::default_construct_range_impl</b> (It first, It last, mpl::true_)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a12"></a><!-- doxytag: member="algorithm.hpp::default_construct_range_impl" ref="a12" args="(It first, It last, mpl::false_)" -->
template&lt;typename It&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::detail::default_construct_range_impl</b> (It first, It last, mpl::false_)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a13"></a><!-- doxytag: member="algorithm.hpp::default_construct_range" ref="a13" args="(It first, It last)" -->
template&lt;typename It&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::detail::default_construct_range</b> (It first, It last)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a14"></a><!-- doxytag: member="algorithm.hpp::default_construct_aux" ref="a14" args="(It first, It last, mpl::true_)" -->
template&lt;typename It&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a14">boost::gil::detail::default_construct_aux</a> (It first, It last, mpl::true_)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">uninitialized_default_construct for planar iterators <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a15"></a><!-- doxytag: member="algorithm.hpp::default_construct_aux" ref="a15" args="(It first, It last, mpl::false_)" -->
template&lt;typename It&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a15">boost::gil::detail::default_construct_aux</a> (It first, It last, mpl::false_)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">uninitialized_default_construct for interleaved iterators <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::default_construct_pixels" ref="ga0" args="(const View &amp;img_view)" -->
template&lt;typename View&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0141.html#ga0">boost::gil::default_construct_pixels</a> (const View &amp;img_view)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invokes the in-place default constructor on every pixel of the (uninitialized) view. Does not support planar heterogeneous views. If an exception is thrown destructs any in-place default-constructed pixels. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a16"></a><!-- doxytag: member="algorithm.hpp::uninitialized_copy_aux" ref="a16" args="(It1 first1, It1 last1, It2 first2, mpl::true_)" -->
template&lt;typename It1, typename It2&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a16">boost::gil::detail::uninitialized_copy_aux</a> (It1 first1, It1 last1, It2 first2, mpl::true_)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::uninitialized_copy for pairs of planar iterators <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a17"></a><!-- doxytag: member="algorithm.hpp::uninitialized_copy_aux" ref="a17" args="(It1 first1, It1 last1, It2 first2, mpl::false_)" -->
template&lt;typename It1, typename It2&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a17">boost::gil::detail::uninitialized_copy_aux</a> (It1 first1, It1 last1, It2 first2, mpl::false_)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::uninitialized_copy for interleaved or mixed iterators <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::uninitialized_copy_pixels" ref="ga0" args="(const View1 &amp;view1, const View2 &amp;view2)" -->
template&lt;typename View1, typename View2&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0150.html#ga0">boost::gil::uninitialized_copy_pixels</a> (const View1 &amp;view1, const View2 &amp;view2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::uninitialized_copy for image views. Does not support planar heterogeneous views. If an exception is thrown destructs any in-place copy-constructed objects <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::for_each_pixel" ref="ga0" args="(const V &amp;img, F fun)" -->
template&lt;typename V, typename F&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::for_each_pixel</b> (const V &amp;img, F fun)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::for_each_pixel_position" ref="ga0" args="(const View &amp;img, F fun)" -->
template&lt;typename View, typename F&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::for_each_pixel_position</b> (const View &amp;img, F fun)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::generate_pixels" ref="ga0" args="(const View &amp;v, F fun)" -->
template&lt;typename View, typename F&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0147.html#ga0">boost::gil::generate_pixels</a> (const View &amp;v, F fun)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::generate for image views <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a30"></a><!-- doxytag: member="algorithm.hpp::equal_n" ref="a30" args="(I1 i1, std::ptrdiff_t n, I2 i2)" -->
template&lt;typename I1, typename I2&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::equal_n</b> (I1 i1, std::ptrdiff_t n, I2 i2)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Loc1, typename Loc2&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0209.html#ga5">std::equal</a> (<a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt; Loc1 &gt; first, <a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt; Loc1 &gt; last, <a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt; Loc2 &gt; first2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::equal(I1,I1,I2) with I1 and I2 being a iterator_from_2d <a href="g_i_l_0209.html#ga5"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::equal_pixels" ref="ga0" args="(const View1 &amp;v1, const View2 &amp;v2)" -->
template&lt;typename View1, typename View2&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0143.html#ga0">boost::gil::equal_pixels</a> (const View1 &amp;v1, const View2 &amp;v2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="g_i_l_0209.html#ga5">std::equal</a> for image views <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::transform_pixels" ref="ga0" args="(const View1 &amp;src, const View2 &amp;dst, F fun)" -->
template&lt;typename View1, typename View2, typename F&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0149.html#ga0">boost::gil::transform_pixels</a> (const View1 &amp;src, const View2 &amp;dst, F fun)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::transform for image views <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga1"></a><!-- doxytag: member="algorithm.hpp::transform_pixels" ref="ga1" args="(const View1 &amp;src1, const View2 &amp;src2, const View3 &amp;dst, F fun)" -->
template&lt;typename View1, typename View2, typename View3, typename F&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0149.html#ga1">boost::gil::transform_pixels</a> (const View1 &amp;src1, const View2 &amp;src2, const View3 &amp;dst, F fun)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">transform_pixels with two sources <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::transform_pixel_positions" ref="ga0" args="(const View1 &amp;src, const View2 &amp;dst, F fun)" -->
template&lt;typename View1, typename View2, typename F&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0148.html#ga0">boost::gil::transform_pixel_positions</a> (const View1 &amp;src, const View2 &amp;dst, F fun)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Like transform_pixels but passes to the function object pixel locators instead of pixel references. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga1"></a><!-- doxytag: member="algorithm.hpp::transform_pixel_positions" ref="ga1" args="(const View1 &amp;src1, const View2 &amp;src2, const View3 &amp;dst, F fun)" -->
template&lt;typename View1, typename View2, typename View3, typename F&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0148.html#ga1">boost::gil::transform_pixel_positions</a> (const View1 &amp;src1, const View2 &amp;src2, const View3 &amp;dst, F fun)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">transform_pixel_positions with two sources <br></td></tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:18 2007 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.4.4 </small></address>
</body>
</html>