2
0
mirror of https://github.com/boostorg/gil.git synced 2026-01-25 18:22:16 +00:00
Files
gil/develop/doc/html/reference/apply__operation__base_8hpp.html

136 lines
10 KiB
HTML

<!-- 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>apply_operation_base.hpp File Reference</TITLE>
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
<link type="text/css" rel="stylesheet" href="../_static/style.css">
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
</head>
<body>
<div class="header">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
<tr>
<td valign="top" width="300">
<h3><a href="../index.html"><img
alt="Boost GIL" src="../_static/gil.png" border="0"></a></h3>
</td>
<td >
<h1 align="center"><a href="../index.html"></a></h1>
</td>
<td>
</td>
</tr>
</table>
</div>
<hr/>
<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>
</div>
<!-- End Header -->
<!-- Generated by Doxygen 1.8.6 -->
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_1878a3f4746a95c6aad317458cc7ef80.html">boost</a></li><li class="navelem"><a class="el" href="dir_df4750f408086f9b9c1b5ee4251365ff.html">gil</a></li><li class="navelem"><a class="el" href="dir_0f86d4ff96b1aea424a4a0f509d03bc0.html">extension</a></li><li class="navelem"><a class="el" href="dir_1a56ea1a3a929887046b273f6b45aa06.html">dynamic_image</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">apply_operation_base.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Given an object with run-time specified type (denoted as an array of Bits, dynamic index, and a static set of Types) and a generic operation, casts the object to its appropriate type and applies the operation.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="gil__config_8hpp_source.html">../../gil_config.hpp</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="utilities_8hpp_source.html">../../utilities.hpp</a>&quot;</code><br/>
<code>#include &lt;boost/mpl/begin.hpp&gt;</code><br/>
<code>#include &lt;boost/mpl/next.hpp&gt;</code><br/>
<code>#include &lt;boost/mpl/deref.hpp&gt;</code><br/>
<code>#include &lt;boost/mpl/size.hpp&gt;</code><br/>
<code>#include &lt;boost/preprocessor/repeat.hpp&gt;</code><br/>
</div>
<p><a href="apply__operation__base_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceboost"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
<tr class="memdesc:namespaceboost"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pixel 2D LOCATOR. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ad79b83cac67b5b966b9d5b66aa122460"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad79b83cac67b5b966b9d5b66aa122460"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GIL_FWD_TYPEDEFS</b>(z, N, text)&#160;&#160;&#160;T##N; typedef typename mpl::next&lt;T##N&gt;::type</td></tr>
<tr class="separator:ad79b83cac67b5b966b9d5b66aa122460"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b5c77543f4d9130526fed67ac7464ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2b5c77543f4d9130526fed67ac7464ee"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GIL_FWD_CASE</b>(z, N, SUM)&#160;&#160;&#160;case N: return op(*gil_reinterpret_cast&lt;typename mpl::deref&lt;T##N&gt;::type*&gt;(&amp;bits));</td></tr>
<tr class="separator:a2b5c77543f4d9130526fed67ac7464ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9aeac994894106449bcde0806b254df9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9aeac994894106449bcde0806b254df9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GIL_FWD_CONST_CASE</b>(z, N, SUM)&#160;&#160;&#160;case N: return op(*gil_reinterpret_cast_c&lt;const typename mpl::deref&lt;T##N&gt;::type*&gt;(&amp;bits));</td></tr>
<tr class="separator:a9aeac994894106449bcde0806b254df9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a730586153c03084a612fecdfd1178425"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a730586153c03084a612fecdfd1178425"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GIL_FWD_CASE_WITH_INFO</b>(z, N, SUM)&#160;&#160;&#160;case N: return op(*gil_reinterpret_cast&lt;typename mpl::deref&lt;T##N&gt;::type*&gt;(&amp;bits), info);</td></tr>
<tr class="separator:a730586153c03084a612fecdfd1178425"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a471dac4c725b666ac975d3ee98100ac5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a471dac4c725b666ac975d3ee98100ac5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GIL_FWD_CONST_CASE_WITH_INFO</b>(z, N, SUM)&#160;&#160;&#160;case N: return op(*gil_reinterpret_cast_c&lt;const typename mpl::deref&lt;T##N&gt;::type*&gt;(&amp;bits), info);</td></tr>
<tr class="separator:a471dac4c725b666ac975d3ee98100ac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97e41768b29fa4d0c910608e9243ec8f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97e41768b29fa4d0c910608e9243ec8f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GIL_APPLY_FWD_OP</b>(z, N, text)</td></tr>
<tr class="separator:a97e41768b29fa4d0c910608e9243ec8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dee41b11d92b34295f54281a098ae90"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8dee41b11d92b34295f54281a098ae90"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GIL_GENERATE_APPLY_FWD_OPS</b>(N)&#160;&#160;&#160;BOOST_PP_REPEAT(N, GIL_APPLY_FWD_OP, BOOST_PP_EMPTY)</td></tr>
<tr class="separator:a8dee41b11d92b34295f54281a098ae90"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae61e94bbb7a75490d596eadf900e9fe4"><td class="memTemplParams" colspan="2"><a class="anchor" id="ae61e94bbb7a75490d596eadf900e9fe4"></a>
template&lt;typename Types , typename Bits , typename Op &gt; </td></tr>
<tr class="memitem:ae61e94bbb7a75490d596eadf900e9fe4"><td class="memTemplItemLeft" align="right" valign="top">Op::result_type BOOST_FORCEINLINE&#160;</td><td class="memTemplItemRight" valign="bottom"><b>apply_operation_basec</b> (const Bits &amp;bits, std::size_t index, Op op)</td></tr>
<tr class="separator:ae61e94bbb7a75490d596eadf900e9fe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81dca34bae1eb88498d782f34ce50aa4"><td class="memTemplParams" colspan="2"><a class="anchor" id="a81dca34bae1eb88498d782f34ce50aa4"></a>
template&lt;typename Types , typename Bits , typename Op &gt; </td></tr>
<tr class="memitem:a81dca34bae1eb88498d782f34ce50aa4"><td class="memTemplItemLeft" align="right" valign="top">Op::result_type BOOST_FORCEINLINE&#160;</td><td class="memTemplItemRight" valign="bottom"><b>apply_operation_base</b> (Bits &amp;bits, std::size_t index, Op op)</td></tr>
<tr class="separator:a81dca34bae1eb88498d782f34ce50aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa86e59ca639252983870be0a25d369c4"><td class="memTemplParams" colspan="2"><a class="anchor" id="aa86e59ca639252983870be0a25d369c4"></a>
template&lt;typename Types1 , typename Types2 , typename Bits1 , typename Bits2 , typename Op &gt; </td></tr>
<tr class="memitem:aa86e59ca639252983870be0a25d369c4"><td class="memTemplItemLeft" align="right" valign="top">static Op::result_type <br class="typebreak"/>
BOOST_FORCEINLINE&#160;</td><td class="memTemplItemRight" valign="bottom"><b>apply_operation_base</b> (const Bits1 &amp;bits1, std::size_t index1, const Bits2 &amp;bits2, std::size_t index2, Op op)</td></tr>
<tr class="separator:aa86e59ca639252983870be0a25d369c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Given an object with run-time specified type (denoted as an array of Bits, dynamic index, and a static set of Types) and a generic operation, casts the object to its appropriate type and applies the operation. </p>
<dl class="section author"><dt>Author</dt><dd>Lubomir Bourdev and Hailin Jin <br/>
Adobe Systems Incorporated </dd></dl>
<dl class="section date"><dt>Date</dt><dd>2005-2007 <br/>
Last updated on November 6, 2007 </dd></dl>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Mar 26 2018 16:26:16 for Generic Image Library by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>