blob: ad0b52ccad0e877e49e24adaeea36b3095d25879 [file] [log] [blame]
<!-- 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: utilities.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>utilities.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
Various utilities not specific to the image library. Some are non-standard STL extensions or generic iterator adaptors.
<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-2007 <br>
Last updated on September 18, 2007 </dd></dl>
<p>
<code>#include &quot;<a class="el" href="g_i_l_0093.html">gil_config.hpp</a>&quot;</code><br>
<code>#include &lt;functional&gt;</code><br>
<code>#include &lt;boost/config/no_tr1/cmath.hpp&gt;</code><br>
<code>#include &lt;cstddef&gt;</code><br>
<code>#include &lt;algorithm&gt;</code><br>
<code>#include &lt;utility&gt;</code><br>
<code>#include &lt;iterator&gt;</code><br>
<code>#include &lt;boost/static_assert.hpp&gt;</code><br>
<code>#include &lt;boost/type_traits.hpp&gt;</code><br>
<code>#include &lt;boost/mpl/size.hpp&gt;</code><br>
<code>#include &lt;boost/mpl/distance.hpp&gt;</code><br>
<code>#include &lt;boost/mpl/begin.hpp&gt;</code><br>
<code>#include &lt;boost/mpl/find.hpp&gt;</code><br>
<code>#include &lt;boost/mpl/range_c.hpp&gt;</code><br>
<code>#include &lt;boost/iterator/iterator_adaptor.hpp&gt;</code><br>
<code>#include &lt;boost/iterator/iterator_facade.hpp&gt;</code><br>
<p>
<a href="g_i_l_0642.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>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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0060.html">point2</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">2D point both axes of which have the same dimension type<p>
Models: <a class="el" href="g_i_l_0360.html" title="2-dimensional point concept">Point2DConcept</a> <a href="g_i_l_0060.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">deref_base</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper base class for <a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a> dereference adaptors. <a href="g_i_l_0475.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0024.html">deref_compose</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Composes two dereference function objects. Similar to std::unary_compose but needs to pull some typedefs from the component types. Models: <a class="el" href="g_i_l_0350.html" title="Represents a unary function object that can be invoked upon dereferencing a pixel...">PixelDereferenceAdaptorConcept</a>. <a href="g_i_l_0024.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_0509.html">identity</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="g_i_l_0509.html" title="identity taken from SGI STL.">identity</a> taken from SGI STL. <a href="g_i_l_0509.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_0517.html">plus_asymmetric</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">plus function object whose arguments may be of different type. <a href="g_i_l_0517.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_0511.html">inc</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">operator++ wrapped in a function object <a href="g_i_l_0511.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_0487.html">dec</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">operator-- wrapped in a function object <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_0522.html">type_to_index</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the index corresponding to the first occurrance of a given given type in. <a href="g_i_l_0522.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_0567.html">layout</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Represents a color space and ordering of channels in memory. <a href="g_i_l_0567.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="g21782695e4aed3178c281d99d50e340e"></a><!-- doxytag: member="utilities.hpp::operator==" ref="g21782695e4aed3178c281d99d50e340e" args="(const point2&lt; T &gt; &amp;p1, const point2&lt; T &gt; &amp;p2)" -->
template&lt;typename T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const point2&lt; T &gt; &amp;p1, const point2&lt; T &gt; &amp;p2)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g88855f13cf75102f3118c39a3eadc453"></a><!-- doxytag: member="utilities.hpp::operator!=" ref="g88855f13cf75102f3118c39a3eadc453" args="(const point2&lt; T &gt; &amp;p1, const point2&lt; T &gt; &amp;p2)" -->
template&lt;typename T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const point2&lt; T &gt; &amp;p1, const point2&lt; T &gt; &amp;p2)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g339779753e1faa22b0f6673e1082e05e"></a><!-- doxytag: member="utilities.hpp::operator+" ref="g339779753e1faa22b0f6673e1082e05e" args="(const point2&lt; T &gt; &amp;p1, const point2&lt; T &gt; &amp;p2)" -->
template&lt;typename T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE point2&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator+</b> (const point2&lt; T &gt; &amp;p1, const point2&lt; T &gt; &amp;p2)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g4b5e6e0a069da9baac38d2a56bdd528d"></a><!-- doxytag: member="utilities.hpp::operator-" ref="g4b5e6e0a069da9baac38d2a56bdd528d" args="(const point2&lt; T &gt; &amp;p)" -->
template&lt;typename T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE point2&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator-</b> (const point2&lt; T &gt; &amp;p)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gbd301dccd0fa45334870191db22669e5"></a><!-- doxytag: member="utilities.hpp::operator-" ref="gbd301dccd0fa45334870191db22669e5" args="(const point2&lt; T &gt; &amp;p1, const point2&lt; T &gt; &amp;p2)" -->
template&lt;typename T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE point2&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator-</b> (const point2&lt; T &gt; &amp;p1, const point2&lt; T &gt; &amp;p2)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g6c935de0fb69bc5fb8b3417054be3384"></a><!-- doxytag: member="utilities.hpp::operator/" ref="g6c935de0fb69bc5fb8b3417054be3384" args="(const point2&lt; T &gt; &amp;p, double t)" -->
template&lt;typename T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE point2&lt; double &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator/</b> (const point2&lt; T &gt; &amp;p, double t)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gbd1035225a84fdee27d86f2d851247d8"></a><!-- doxytag: member="utilities.hpp::operator*" ref="gbd1035225a84fdee27d86f2d851247d8" args="(const point2&lt; T &gt; &amp;p, std::ptrdiff_t t)" -->
template&lt;typename T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE point2&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator*</b> (const point2&lt; T &gt; &amp;p, std::ptrdiff_t t)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gead73a3b7260784964b1e659a461eaff"></a><!-- doxytag: member="utilities.hpp::operator*" ref="gead73a3b7260784964b1e659a461eaff" args="(std::ptrdiff_t t, const point2&lt; T &gt; &amp;p)" -->
template&lt;typename T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE point2&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator*</b> (std::ptrdiff_t t, const point2&lt; T &gt; &amp;p)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g2ce7e7c813ffa2b97d96c90240b7695d"></a><!-- doxytag: member="utilities.hpp::axis_value" ref="g2ce7e7c813ffa2b97d96c90240b7695d" args="(const point2&lt; T &gt; &amp;p)" -->
template&lt;std::size_t K, typename T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const T &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>axis_value</b> (const point2&lt; T &gt; &amp;p)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gdddff7a16462f93d3467c6b68bd21242"></a><!-- doxytag: member="utilities.hpp::axis_value" ref="gdddff7a16462f93d3467c6b68bd21242" args="(point2&lt; T &gt; &amp;p)" -->
template&lt;std::size_t K, typename T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>axis_value</b> (point2&lt; T &gt; &amp;p)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil.html#0055f61cd79148e23c54cd386f0d42e9">iround</a> (float x)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4bf2ada70e81bf34df10c3766a03b977"></a><!-- doxytag: member="utilities.hpp::iround" ref="4bf2ada70e81bf34df10c3766a03b977" args="(double x)" -->
std::ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>iround</b> (double x)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="47b724acfd1ad56579bd8ba942eb8f4b"></a><!-- doxytag: member="utilities.hpp::ifloor" ref="47b724acfd1ad56579bd8ba942eb8f4b" args="(float x)" -->
std::ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>ifloor</b> (float x)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8d78bae77e972f0074dfc84722c30a4c"></a><!-- doxytag: member="utilities.hpp::ifloor" ref="8d78bae77e972f0074dfc84722c30a4c" args="(double x)" -->
std::ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>ifloor</b> (double x)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf8bd31a40bc5c3fdd18f6e68eb8a97b"></a><!-- doxytag: member="utilities.hpp::iceil" ref="bf8bd31a40bc5c3fdd18f6e68eb8a97b" args="(float x)" -->
std::ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>iceil</b> (float x)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d6a934bbac5eb5ed120c4a09d9ef216e"></a><!-- doxytag: member="utilities.hpp::iceil" ref="d6a934bbac5eb5ed120c4a09d9ef216e" args="(double x)" -->
std::ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>iceil</b> (double x)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge7d26394432553cd309c30b209b19046"></a><!-- doxytag: member="utilities.hpp::iround" ref="ge7d26394432553cd309c30b209b19046" args="(const point2&lt; float &gt; &amp;p)" -->
point2&lt; std::ptrdiff_t &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>iround</b> (const point2&lt; float &gt; &amp;p)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g42a32ad2318fa9bc6e62681231801a68"></a><!-- doxytag: member="utilities.hpp::iround" ref="g42a32ad2318fa9bc6e62681231801a68" args="(const point2&lt; double &gt; &amp;p)" -->
point2&lt; std::ptrdiff_t &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>iround</b> (const point2&lt; double &gt; &amp;p)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6f6b9df1de51b22c8bfbc187921df1b5"></a><!-- doxytag: member="utilities.hpp::ifloor" ref="g6f6b9df1de51b22c8bfbc187921df1b5" args="(const point2&lt; float &gt; &amp;p)" -->
point2&lt; std::ptrdiff_t &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>ifloor</b> (const point2&lt; float &gt; &amp;p)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g27958c4c6a747dd7eb7fb785ce93ed60"></a><!-- doxytag: member="utilities.hpp::ifloor" ref="g27958c4c6a747dd7eb7fb785ce93ed60" args="(const point2&lt; double &gt; &amp;p)" -->
point2&lt; std::ptrdiff_t &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>ifloor</b> (const point2&lt; double &gt; &amp;p)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge7c834930c37abdb42b6dc7322af0465"></a><!-- doxytag: member="utilities.hpp::iceil" ref="ge7c834930c37abdb42b6dc7322af0465" args="(const point2&lt; float &gt; &amp;p)" -->
point2&lt; std::ptrdiff_t &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>iceil</b> (const point2&lt; float &gt; &amp;p)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge4009f3cd4f0cc19b2f64bfd3d434023"></a><!-- doxytag: member="utilities.hpp::iceil" ref="ge4009f3cd4f0cc19b2f64bfd3d434023" args="(const point2&lt; double &gt; &amp;p)" -->
point2&lt; std::ptrdiff_t &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>iceil</b> (const point2&lt; double &gt; &amp;p)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil.html#03a2a581ce08c41f49b31926465f9b59">align</a> (T val, std::size_t alignment)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="15cda02271d459266d03ac29d2c9a151"></a><!-- doxytag: member="utilities.hpp::gil_reinterpret_cast" ref="15cda02271d459266d03ac29d2c9a151" args="(In *p)" -->
template&lt;typename OutPtr, typename In&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE OutPtr&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>gil_reinterpret_cast</b> (In *p)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="f1c8c8cb331d202cb83453dd4faa0e4f"></a><!-- doxytag: member="utilities.hpp::gil_reinterpret_cast_c" ref="f1c8c8cb331d202cb83453dd4faa0e4f" args="(const In *p)" -->
template&lt;typename OutPtr, typename In&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE const OutPtr&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>gil_reinterpret_cast_c</b> (const In *p)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="022fd6def5a39bf540f21d62fba9ad39"></a><!-- doxytag: member="utilities.hpp::_copy_n" ref="022fd6def5a39bf540f21d62fba9ad39" args="(InputIter first, Size count, OutputIter result, std::input_iterator_tag)" -->
template&lt;class InputIter, class Size, class OutputIter&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::pair&lt; InputIter, OutputIter &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#022fd6def5a39bf540f21d62fba9ad39">_copy_n</a> (InputIter first, Size count, OutputIter result, std::input_iterator_tag)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">copy_n taken from SGI STL. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="cda9c001442c681e46a95949bbffb061"></a><!-- doxytag: member="utilities.hpp::_copy_n" ref="cda9c001442c681e46a95949bbffb061" args="(RAIter first, Size count, OutputIter result, std::random_access_iterator_tag)" -->
template&lt;class RAIter, class Size, class OutputIter&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::pair&lt; RAIter, OutputIter &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>_copy_n</b> (RAIter first, Size count, OutputIter result, std::random_access_iterator_tag)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="3ed60e5de59f44cbe5039148c921cfc2"></a><!-- doxytag: member="utilities.hpp::_copy_n" ref="3ed60e5de59f44cbe5039148c921cfc2" args="(InputIter first, Size count, OutputIter result)" -->
template&lt;class InputIter, class Size, class OutputIter&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::pair&lt; InputIter, OutputIter &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>_copy_n</b> (InputIter first, Size count, OutputIter result)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="cb9a3441153dff2f328582a6afc72fd3"></a><!-- doxytag: member="utilities.hpp::copy_n" ref="cb9a3441153dff2f328582a6afc72fd3" args="(InputIter first, Size count, OutputIter result)" -->
template&lt;class InputIter, class Size, class OutputIter&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::pair&lt; InputIter, OutputIter &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>copy_n</b> (InputIter first, Size count, OutputIter result)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="8fcde17aafffd17369b2b3f1b0f8329a"></a><!-- doxytag: member="utilities.hpp::swap_proxy" ref="8fcde17aafffd17369b2b3f1b0f8329a" args="(T1 &amp;left, T2 &amp;right)" -->
template&lt;typename Value, typename T1, typename T2&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil.html#8fcde17aafffd17369b2b3f1b0f8329a">swap_proxy</a> (T1 &amp;left, T2 &amp;right)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A version of swap that also works with reference proxy objects. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2e52b8b956a923db8dc50580007cc7e7"></a><!-- doxytag: member="utilities.hpp::little_endian" ref="2e52b8b956a923db8dc50580007cc7e7" args="()" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil.html#2e52b8b956a923db8dc50580007cc7e7">little_endian</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Run-time detection of whether the underlying architecture is little endian. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ac7228dc41226155924ef9d576620165"></a><!-- doxytag: member="utilities.hpp::big_endian" ref="ac7228dc41226155924ef9d576620165" args="()" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil.html#ac7228dc41226155924ef9d576620165">big_endian</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Run-time detection of whether the underlying architecture is big endian. <br></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>