<!-- 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: any_image_view.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>any_image_view.hpp</h1><a href="g_i_l_0004.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 
<a name="l00011"></a>00011 <span class="comment">/*************************************************************************************************/</span>
<a name="l00012"></a>00012 
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef GIL_DYNAMICIMAGE_ANY_IMAGEVIEW_HPP</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define GIL_DYNAMICIMAGE_ANY_IMAGEVIEW_HPP</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00024"></a>00024 
<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="variant_8hpp.html" title="Support for run-time instantiated types.">variant.hpp</a>"</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "../../image_view.hpp"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "../../image.hpp"</span>
<a name="l00028"></a>00028 
<a name="l00029"></a>00029 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
<a name="l00030"></a>00030 
<a name="l00031"></a>00031 <span class="keyword">namespace </span>detail {
<a name="l00032"></a>00032     <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View&gt; <span class="keyword">struct </span>get_const_t { <span class="keyword">typedef</span> <span class="keyword">typename</span> View::const_t type; };
<a name="l00033"></a>00033     <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Views&gt; <span class="keyword">struct </span>views_get_const_t : <span class="keyword">public</span> mpl::transform&lt;Views, get_const_t&lt;mpl::_1&gt; &gt; {};
<a name="l00034"></a>00034 }
<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View&gt; <span class="keyword">struct </span>dynamic_xy_step_type;
<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View&gt; <span class="keyword">struct </span>dynamic_xy_step_transposed_type;
<a name="l00037"></a>00037 
<a name="l00038"></a>00038 <span class="keyword">namespace </span>detail {
<a name="l00039"></a>00039     <span class="keyword">struct </span>any_type_get_num_channels {   <span class="comment">// works for both image_view and image</span>
<a name="l00040"></a>00040         <span class="keyword">typedef</span> <span class="keywordtype">int</span> result_type;
<a name="l00041"></a>00041         <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; result_type operator()(<span class="keyword">const</span> T&amp; v)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> num_channels&lt;T&gt;::value; }
<a name="l00042"></a>00042     };
<a name="l00043"></a>00043     <span class="keyword">struct </span>any_type_get_dimensions {    <span class="comment">// works for both image_view and image</span>
<a name="l00044"></a>00044         <span class="keyword">typedef</span> point2&lt;std::ptrdiff_t&gt; result_type;
<a name="l00045"></a>00045         <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; result_type operator()(<span class="keyword">const</span> T&amp; v)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> v.dimensions(); }
<a name="l00046"></a>00046     };
<a name="l00047"></a>00047 }
<a name="l00048"></a>00048 
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> ImageViewTypes&gt;
<a name="l00064"></a><a class="code" href="g_i_l_0020.html">00064</a> <span class="keyword">class </span><a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a> : <span class="keyword">public</span> <a class="code" href="g_i_l_0062.html" title="Represents a concrete instance of a run-time specified type from a set of typesA...">variant</a>&lt;ImageViewTypes&gt; {
<a name="l00065"></a>00065     <span class="keyword">typedef</span> <a class="code" href="g_i_l_0062.html" title="Represents a concrete instance of a run-time specified type from a set of typesA...">variant&lt;ImageViewTypes&gt;</a> <a class="code" href="g_i_l_0062.html">parent_t</a>;
<a name="l00066"></a>00066 <span class="keyword">public</span>:
<a name="l00067"></a>00067     <span class="keyword">typedef</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;typename detail::views_get_const_t&lt;ImageViewTypes&gt;::type</a>&gt; <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">const_t</a>;
<a name="l00068"></a>00068     <span class="keyword">typedef</span> std::ptrdiff_t x_coord_t;
<a name="l00069"></a>00069     <span class="keyword">typedef</span> std::ptrdiff_t y_coord_t;
<a name="l00070"></a>00070     <span class="keyword">typedef</span> <a class="code" href="g_i_l_0060.html" title="2D point both axes of which have the same dimension typeModels: Point2DConcept">point2&lt;std::ptrdiff_t&gt;</a> <a class="code" href="g_i_l_0060.html">point_t</a>;
<a name="l00071"></a>00071 
<a name="l00072"></a>00072     <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a>()                                                          : <a class="code" href="g_i_l_0062.html">parent_t</a>() {}
<a name="l00073"></a>00073     <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">explicit</span> <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a>(<span class="keyword">const</span> T&amp; obj)               : <a class="code" href="g_i_l_0062.html">parent_t</a>(obj) {}
<a name="l00074"></a>00074     <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</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</a>&amp; v)                                   : <a class="code" href="g_i_l_0062.html">parent_t</a>((<span class="keyword">const</span> <a class="code" href="g_i_l_0062.html">parent_t</a>&amp;)v)    {}
<a name="l00075"></a>00075 
<a name="l00076"></a>00076     <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a>&amp; operator=(<span class="keyword">const</span> T&amp; obj)             { parent_t::operator=(obj); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00077"></a>00077     <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a>&amp;                       operator=(<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</a>&amp; v)  { parent_t::operator=((<span class="keyword">const</span> <a class="code" href="g_i_l_0062.html">parent_t</a>&amp;)v); <span class="keywordflow">return</span> *<span class="keyword">this</span>;}
<a name="l00078"></a>00078 
<a name="l00079"></a>00079     std::size_t <a class="code" href="g_i_l_0581.html" title="Returns the number of channels of a pixel-based GIL construct.">num_channels</a>()<span class="keyword">  const </span>{ <span class="keywordflow">return</span> <a class="code" href="group___variant.html#g3c8fd0f3dc2495060bf062428dccc505" title="Invokes a generic mutable operation (represented as a unary function object) on a...">apply_operation</a>(*<span class="keyword">this</span>, detail::any_type_get_num_channels()); }
<a name="l00080"></a>00080     <a class="code" href="g_i_l_0060.html">point_t</a>     dimensions()<span class="keyword">    const </span>{ <span class="keywordflow">return</span> <a class="code" href="group___variant.html#g3c8fd0f3dc2495060bf062428dccc505" title="Invokes a generic mutable operation (represented as a unary function object) on a...">apply_operation</a>(*<span class="keyword">this</span>, detail::any_type_get_dimensions()); }
<a name="l00081"></a>00081     x_coord_t   width()<span class="keyword">         const </span>{ <span class="keywordflow">return</span> dimensions().<a class="code" href="g_i_l_0060.html#9a4f74af87a76a4c3dcb729cb0e68f8d">x</a>; }
<a name="l00082"></a>00082     y_coord_t   height()<span class="keyword">        const </span>{ <span class="keywordflow">return</span> dimensions().<a class="code" href="g_i_l_0060.html#1cb2b5ea04251d543e49356ef54eb853">y</a>; }
<a name="l00083"></a>00083 };
<a name="l00084"></a>00084 
<a name="l00086"></a>00086 <span class="comment">//  HasDynamicXStepTypeConcept</span>
<a name="l00088"></a>00088 <span class="comment"></span>
<a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IVTypes&gt;
<a name="l00090"></a>00090 <span class="keyword">struct </span>dynamic_x_step_type&lt;<a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a>&lt;IVTypes&gt; &gt; {
<a name="l00091"></a>00091     <span class="keyword">typedef</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;typename mpl::transform&lt;IVTypes, dynamic_x_step_type&lt;mpl::_1&gt;</a> &gt;::type&gt; type;
<a name="l00092"></a>00092 };
<a name="l00093"></a>00093 
<a name="l00095"></a>00095 <span class="comment">//  HasDynamicYStepTypeConcept</span>
<a name="l00097"></a>00097 <span class="comment"></span>
<a name="l00098"></a>00098 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IVTypes&gt;
<a name="l00099"></a>00099 <span class="keyword">struct </span>dynamic_y_step_type&lt;any_image_view&lt;IVTypes&gt; &gt; {
<a name="l00100"></a>00100     <span class="keyword">typedef</span> any_image_view&lt;typename mpl::transform&lt;IVTypes, dynamic_y_step_type&lt;mpl::_1&gt; &gt;::type&gt; type;
<a name="l00101"></a>00101 };
<a name="l00102"></a>00102 
<a name="l00103"></a>00103 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IVTypes&gt;
<a name="l00104"></a>00104 <span class="keyword">struct </span>dynamic_xy_step_type&lt;any_image_view&lt;IVTypes&gt; &gt; {
<a name="l00105"></a>00105     <span class="keyword">typedef</span> any_image_view&lt;typename mpl::transform&lt;IVTypes, dynamic_xy_step_type&lt;mpl::_1&gt; &gt;::type&gt; type;
<a name="l00106"></a>00106 };
<a name="l00107"></a>00107 
<a name="l00108"></a>00108 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IVTypes&gt;
<a name="l00109"></a>00109 <span class="keyword">struct </span>dynamic_xy_step_transposed_type&lt;any_image_view&lt;IVTypes&gt; &gt; {
<a name="l00110"></a>00110     <span class="keyword">typedef</span> any_image_view&lt;typename mpl::transform&lt;IVTypes, dynamic_xy_step_transposed_type&lt;mpl::_1&gt; &gt;::type&gt; type;
<a name="l00111"></a>00111 };
<a name="l00112"></a>00112 
<a name="l00113"></a>00113 } }  <span class="comment">// namespace boost::gil</span>
<a name="l00114"></a>00114 
<a name="l00115"></a>00115 <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>
