<!-- 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: algorithm.hpp Source File</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>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0078.html">extension</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0075.html">dynamic_image</a>
  </div>
<div class="contents">
<h1>extension/dynamic_image/algorithm.hpp</h1><a href="g_i_l_0087.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">    Copyright 2005-2007 Adobe Systems Incorporated</span>
<a name="l00003"></a>00003 <span class="comment">   </span>
<a name="l00004"></a>00004 <span class="comment">    Use, modification and distribution are subject to the Boost Software License,</span>
<a name="l00005"></a>00005 <span class="comment">    Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
<a name="l00006"></a>00006 <span class="comment">    http://www.boost.org/LICENSE_1_0.txt).</span>
<a name="l00007"></a>00007 <span class="comment"></span>
<a name="l00008"></a>00008 <span class="comment">    See http://opensource.adobe.com/gil for most recent version including documentation.</span>
<a name="l00009"></a>00009 <span class="comment">*/</span>
<a name="l00010"></a>00010 <span class="comment">/*************************************************************************************************/</span>
<a name="l00011"></a>00011 
<a name="l00012"></a>00012 <span class="preprocessor">#ifndef GIL_DYNAMICIMAGE_ALGORITHM_HPP</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define GIL_DYNAMICIMAGE_ALGORITHM_HPP</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include "../../algorithm.hpp"</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include "<a class="code" href="any__image_8hpp.html" title="Support for run-time instantiated images and image views.">any_image.hpp</a>"</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;boost/bind.hpp&gt;</span>
<a name="l00018"></a>00018 
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
<a name="l00029"></a>00029 
<a name="l00030"></a>00030 <span class="keyword">namespace </span>detail {
<a name="l00031"></a>00031     <span class="keyword">struct </span>equal_pixels_fn : <span class="keyword">public</span> binary_operation_obj&lt;equal_pixels_fn,bool&gt; {
<a name="l00032"></a>00032         <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V1, <span class="keyword">typename</span> V2&gt;
<a name="l00033"></a>00033         GIL_FORCEINLINE <span class="keywordtype">bool</span> apply_compatible(<span class="keyword">const</span> V1&amp; v1, <span class="keyword">const</span> V2&amp; v2)<span class="keyword"> const </span>{
<a name="l00034"></a>00034             <span class="keywordflow">return</span> <a class="code" href="g_i_l_0148.html#g86a5d26dbacd64b2bc4f53b4b2971a73" title="std::equal for image views">equal_pixels</a>(v1,v2);
<a name="l00035"></a>00035         }
<a name="l00036"></a>00036     };
<a name="l00037"></a>00037 } <span class="comment">// namespace detail</span>
<a name="l00038"></a>00038 
<a name="l00040"></a>00040 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types1,  <span class="comment">// Model MPL Random Access Container of models of ImageViewConcept</span>
<a name="l00041"></a>00041           <span class="keyword">typename</span> View2&gt;   <span class="comment">// Model MutableImageViewConcept</span>
<a name="l00042"></a>00042 <span class="keywordtype">bool</span> <a class="code" href="g_i_l_0148.html#g86a5d26dbacd64b2bc4f53b4b2971a73" title="std::equal for image views">equal_pixels</a>(<span class="keyword">const</span> any_image_view&lt;Types1&gt;&amp; src, <span class="keyword">const</span> View2&amp; dst) {
<a name="l00043"></a>00043     <span class="keywordflow">return</span> <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(src,boost::bind(detail::equal_pixels_fn(), _1, dst));
<a name="l00044"></a>00044 }
<a name="l00045"></a>00045 
<a name="l00047"></a>00047 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1,   <span class="comment">// Model ImageViewConcept</span>
<a name="l00048"></a>00048           <span class="keyword">typename</span> Types2&gt;  <span class="comment">// Model MPL Random Access Container of models of MutableImageViewConcept</span>
<a name="l00049"></a>00049 <span class="keywordtype">bool</span> <a class="code" href="g_i_l_0148.html#g86a5d26dbacd64b2bc4f53b4b2971a73" title="std::equal for image views">equal_pixels</a>(<span class="keyword">const</span> View1&amp; src, <span class="keyword">const</span> any_image_view&lt;Types2&gt;&amp; dst) {
<a name="l00050"></a>00050     <span class="keywordflow">return</span> <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(dst,boost::bind(detail::equal_pixels_fn(), src, _1));
<a name="l00051"></a>00051 }
<a name="l00052"></a>00052 
<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types1,  <span class="comment">// Model MPL Random Access Container of models of ImageViewConcept</span>
<a name="l00055"></a>00055           <span class="keyword">typename</span> Types2&gt;  <span class="comment">// Model MPL Random Access Container of models of MutableImageViewConcept</span>
<a name="l00056"></a>00056 <span class="keywordtype">bool</span> <a class="code" href="g_i_l_0148.html#g86a5d26dbacd64b2bc4f53b4b2971a73" title="std::equal for image views">equal_pixels</a>(<span class="keyword">const</span> any_image_view&lt;Types1&gt;&amp; src, <span class="keyword">const</span> any_image_view&lt;Types2&gt;&amp; dst) {
<a name="l00057"></a>00057     <span class="keywordflow">return</span> <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(src,dst,detail::equal_pixels_fn());
<a name="l00058"></a>00058 }
<a name="l00059"></a>00059 
<a name="l00060"></a>00060 <span class="keyword">namespace </span>detail {
<a name="l00061"></a>00061     <span class="keyword">struct </span>copy_pixels_fn : <span class="keyword">public</span> binary_operation_obj&lt;copy_pixels_fn&gt; {
<a name="l00062"></a>00062         <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1, <span class="keyword">typename</span> View2&gt;
<a name="l00063"></a>00063         GIL_FORCEINLINE <span class="keywordtype">void</span> apply_compatible(<span class="keyword">const</span> View1&amp; src, <span class="keyword">const</span> View2&amp; dst)<span class="keyword"> const </span>{
<a name="l00064"></a>00064             <a class="code" href="g_i_l_0145.html#g16f18749152217a2b84733c330a2b415" title="std::copy for image views">copy_pixels</a>(src,dst);
<a name="l00065"></a>00065         }
<a name="l00066"></a>00066     };
<a name="l00067"></a>00067 }
<a name="l00068"></a>00068 
<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types1,  <span class="comment">// Model MPL Random Access Container of models of ImageViewConcept</span>
<a name="l00071"></a>00071           <span class="keyword">typename</span> View2&gt;   <span class="comment">// Model MutableImageViewConcept</span>
<a name="l00072"></a>00072 <span class="keywordtype">void</span> <a class="code" href="g_i_l_0145.html#g16f18749152217a2b84733c330a2b415" title="std::copy for image views">copy_pixels</a>(<span class="keyword">const</span> any_image_view&lt;Types1&gt;&amp; src, <span class="keyword">const</span> View2&amp; dst) {
<a name="l00073"></a>00073     <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(src,boost::bind(detail::copy_pixels_fn(), _1, dst));
<a name="l00074"></a>00074 }
<a name="l00075"></a>00075 
<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1,   <span class="comment">// Model ImageViewConcept</span>
<a name="l00078"></a>00078           <span class="keyword">typename</span> Types2&gt;  <span class="comment">// Model MPL Random Access Container of models of MutableImageViewConcept</span>
<a name="l00079"></a>00079 <span class="keywordtype">void</span> <a class="code" href="g_i_l_0145.html#g16f18749152217a2b84733c330a2b415" title="std::copy for image views">copy_pixels</a>(<span class="keyword">const</span> View1&amp; src, <span class="keyword">const</span> any_image_view&lt;Types2&gt;&amp; dst) {
<a name="l00080"></a>00080     <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(dst,boost::bind(detail::copy_pixels_fn(), src, _1));
<a name="l00081"></a>00081 }
<a name="l00082"></a>00082 
<a name="l00084"></a>00084 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types1,  <span class="comment">// Model MPL Random Access Container of models of ImageViewConcept</span>
<a name="l00085"></a>00085           <span class="keyword">typename</span> Types2&gt;  <span class="comment">// Model MPL Random Access Container of models of MutableImageViewConcept</span>
<a name="l00086"></a>00086 <span class="keywordtype">void</span> <a class="code" href="g_i_l_0145.html#g16f18749152217a2b84733c330a2b415" title="std::copy for image views">copy_pixels</a>(<span class="keyword">const</span> any_image_view&lt;Types1&gt;&amp; src, <span class="keyword">const</span> any_image_view&lt;Types2&gt;&amp; dst) {
<a name="l00087"></a>00087     <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(src,dst,detail::copy_pixels_fn());
<a name="l00088"></a>00088 }
<a name="l00089"></a>00089 
<a name="l00090"></a>00090 
<a name="l00091"></a>00091 
<a name="l00092"></a>00092 <span class="comment">//forward declaration for default_color_converter (see full definition in color_convert.hpp)</span>
<a name="l00093"></a>00093 <span class="keyword">struct </span>default_color_converter;
<a name="l00094"></a>00094 
<a name="l00096"></a>00096 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types1,  <span class="comment">// Model MPL Random Access Container of models of ImageViewConcept</span>
<a name="l00097"></a>00097           <span class="keyword">typename</span> View2,   <span class="comment">// Model MutableImageViewConcept</span>
<a name="l00098"></a>00098           <span class="keyword">typename</span> CC&gt;      <span class="comment">// Model ColorConverterConcept</span>
<a name="l00099"></a>00099 <span class="keywordtype">void</span> copy_and_convert_pixels(<span class="keyword">const</span> any_image_view&lt;Types1&gt;&amp; src, <span class="keyword">const</span> View2&amp; dst, CC cc) {
<a name="l00100"></a>00100     <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(src,boost::bind(detail::copy_and_convert_pixels_fn&lt;CC&gt;(cc), _1, dst));
<a name="l00101"></a>00101 }
<a name="l00102"></a>00102 
<a name="l00104"></a>00104 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types1,  <span class="comment">// Model MPL Random Access Container of models of ImageViewConcept</span>
<a name="l00105"></a>00105           <span class="keyword">typename</span> View2&gt;   <span class="comment">// Model MutableImageViewConcept</span>
<a name="l00106"></a>00106 <span class="keywordtype">void</span> copy_and_convert_pixels(<span class="keyword">const</span> any_image_view&lt;Types1&gt;&amp; src, <span class="keyword">const</span> View2&amp; dst) {
<a name="l00107"></a>00107     <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(src,boost::bind(detail::copy_and_convert_pixels_fn&lt;default_color_converter&gt;(), _1, dst));
<a name="l00108"></a>00108 }
<a name="l00109"></a>00109 
<a name="l00111"></a>00111 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1,   <span class="comment">// Model ImageViewConcept</span>
<a name="l00112"></a>00112           <span class="keyword">typename</span> Types2,  <span class="comment">// Model MPL Random Access Container of models of MutableImageViewConcept</span>
<a name="l00113"></a>00113           <span class="keyword">typename</span> CC&gt;      <span class="comment">// Model ColorConverterConcept</span>
<a name="l00114"></a>00114 <span class="keywordtype">void</span> copy_and_convert_pixels(<span class="keyword">const</span> View1&amp; src, <span class="keyword">const</span> any_image_view&lt;Types2&gt;&amp; dst, CC cc) {
<a name="l00115"></a>00115     <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(dst,boost::bind(detail::copy_and_convert_pixels_fn&lt;CC&gt;(cc), src, _1));
<a name="l00116"></a>00116 }
<a name="l00117"></a>00117 
<a name="l00119"></a>00119 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1,   <span class="comment">// Model ImageViewConcept</span>
<a name="l00120"></a>00120           <span class="keyword">typename</span> Types2&gt;  <span class="comment">// Model MPL Random Access Container of models of MutableImageViewConcept</span>
<a name="l00121"></a>00121 <span class="keywordtype">void</span> copy_and_convert_pixels(<span class="keyword">const</span> View1&amp; src, <span class="keyword">const</span> any_image_view&lt;Types2&gt;&amp; dst) {
<a name="l00122"></a>00122     <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(dst,boost::bind(detail::copy_and_convert_pixels_fn&lt;default_color_converter&gt;(), src, _1));
<a name="l00123"></a>00123 }
<a name="l00124"></a>00124 
<a name="l00126"></a>00126 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types1,  <span class="comment">// Model MPL Random Access Container of models of ImageViewConcept</span>
<a name="l00127"></a>00127           <span class="keyword">typename</span> Types2,  <span class="comment">// Model MPL Random Access Container of models of MutableImageViewConcept</span>
<a name="l00128"></a>00128           <span class="keyword">typename</span> CC&gt;      <span class="comment">// Model ColorConverterConcept</span>
<a name="l00129"></a>00129 <span class="keywordtype">void</span> copy_and_convert_pixels(<span class="keyword">const</span> any_image_view&lt;Types1&gt;&amp; src, <span class="keyword">const</span> any_image_view&lt;Types2&gt;&amp; dst, CC cc) {
<a name="l00130"></a>00130     <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(src,dst,detail::copy_and_convert_pixels_fn&lt;CC&gt;(cc));
<a name="l00131"></a>00131 }
<a name="l00132"></a>00132 
<a name="l00134"></a>00134 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types1,  <span class="comment">// Model MPL Random Access Container of models of ImageViewConcept</span>
<a name="l00135"></a>00135           <span class="keyword">typename</span> Types2&gt;  <span class="comment">// Model MPL Random Access Container of models of MutableImageViewConcept</span>
<a name="l00136"></a>00136 <span class="keywordtype">void</span> copy_and_convert_pixels(<span class="keyword">const</span> any_image_view&lt;Types1&gt;&amp; src, <span class="keyword">const</span> any_image_view&lt;Types2&gt;&amp; dst) {
<a name="l00137"></a>00137     <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(src,dst,detail::copy_and_convert_pixels_fn&lt;default_color_converter&gt;());
<a name="l00138"></a>00138 }
<a name="l00139"></a>00139 
<a name="l00140"></a>00140 <span class="keyword">namespace </span>detail {
<a name="l00141"></a>00141 <span class="keyword">template</span> &lt;<span class="keywordtype">bool</span> COMPATIBLE&gt; <span class="keyword">struct </span>fill_pixels_fn1 {
<a name="l00142"></a>00142     <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V, <span class="keyword">typename</span> Value&gt; <span class="keyword">static</span> <span class="keywordtype">void</span> apply(<span class="keyword">const</span> V&amp; src, <span class="keyword">const</span> Value&amp; val) { <a class="code" href="g_i_l_0149.html#gd38040bb50f5ea498151dd846d4d7873" title="fill_pixels for any image view. The pixel to fill with must be compatible with the...">fill_pixels</a>(src,val); }
<a name="l00143"></a>00143 };
<a name="l00144"></a>00144 
<a name="l00145"></a>00145 <span class="comment">// copy_pixels invoked on incompatible images</span>
<a name="l00146"></a>00146 <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>fill_pixels_fn1&lt;false&gt; {
<a name="l00147"></a>00147     <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V, <span class="keyword">typename</span> Value&gt; <span class="keyword">static</span> <span class="keywordtype">void</span> apply(<span class="keyword">const</span> V&amp; src, <span class="keyword">const</span> Value&amp; val) { <span class="keywordflow">throw</span> std::bad_cast();}
<a name="l00148"></a>00148 };
<a name="l00149"></a>00149 
<a name="l00150"></a>00150 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Value&gt;
<a name="l00151"></a>00151 <span class="keyword">struct </span>fill_pixels_fn {
<a name="l00152"></a>00152     fill_pixels_fn(<span class="keyword">const</span> Value&amp; val) : _val(val) {}
<a name="l00153"></a>00153 
<a name="l00154"></a>00154     <span class="keyword">typedef</span> <span class="keywordtype">void</span> result_type;
<a name="l00155"></a>00155     <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V&gt; result_type operator()(<span class="keyword">const</span> V&amp; img_view)<span class="keyword"> const </span>{
<a name="l00156"></a>00156         fill_pixels_fn1&lt;pixels_are_compatible&lt;typename V::value_type, Value&gt;::value&gt;::apply(img_view,_val);
<a name="l00157"></a>00157     }
<a name="l00158"></a>00158     Value _val;
<a name="l00159"></a>00159 };
<a name="l00160"></a>00160 }
<a name="l00161"></a>00161 
<a name="l00164"></a>00164 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types, <span class="comment">// Model MPL Random Access Container of models of MutableImageViewConcept</span>
<a name="l00165"></a>00165           <span class="keyword">typename</span> Value&gt;
<a name="l00166"></a><a class="code" href="g_i_l_0149.html#gd38040bb50f5ea498151dd846d4d7873">00166</a> <span class="keywordtype">void</span> <a class="code" href="g_i_l_0149.html#gd38040bb50f5ea498151dd846d4d7873" title="fill_pixels for any image view. The pixel to fill with must be compatible with the...">fill_pixels</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view&lt;Types&gt;</a>&amp; img_view, <span class="keyword">const</span> Value&amp; val) {
<a name="l00167"></a>00167     <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(img_view,detail::fill_pixels_fn&lt;Value&gt;(val));
<a name="l00168"></a>00168 }
<a name="l00169"></a>00169 
<a name="l00170"></a>00170 
<a name="l00171"></a>00171 } }  <span class="comment">// namespace boost::gil</span>
<a name="l00172"></a>00172 
<a name="l00173"></a>00173 <span class="preprocessor">#endif</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 13:50:13 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>
